MapXtreme中圓操作

2022-03-10 04:32:51 字數 2439 閱讀 6217

在winfrom中的mapxtreme的地圖控制項上畫圓分為下面幾步:

第一步:新增圓圖層對應的table並新增table對應的圖層到map上,其中新增id欄位到表中,後面刪除此圓需用到

table tablecircletemp ;

if (tablecircletemp != null

)

}tableinfo ti11 = tableinfofactory.createtemp("

tempcircle");

ti11.columns.add(columnfactory.createstringcolumn("id

", 20

)); tablecircletemp =session.current.catalog.createtable(ti11);

featurelayer lyr11 = new

featurelayer(tablecircletemp);

mapcontrol.map.layers.insert(

0, lyr11);

第二步:在畫圓的觸發事件中為mapcontrol設定相應的工具:

public

class

maptoolkit

mainfrm.mapcontrol.tools.leftbuttontool = maptoolkit.drawcircle;

第三步:為mapcontrol新增mousemove mousedown mouseup事件,其中在down事件中捕捉圓心點

private

bool mousedowned = false;

private dpoint startpoint = new

dpoint();

private

void mapcontrol_mousedown(object

sender, mouseeventargs e)

}

在move事件中捕捉圓的半徑點,並畫圓,下面**是實現畫圓時滑鼠移動顯示不同大小圓

private

void mapcontrol_mousemove(object

sender, mouseeventargs e)}}

}catch

(exception ex)}//

臨時圖層畫圓

private

void drawcircle(dpoint dpt1, dpoint dpt2,int

id)

catch

(exception ex)

} //

螢幕座標轉換到經緯度

private dpoint getcoordpt(int x, int

y)

dpoint dp = new

dpoint();

dp.x = double.parse(dpt.x.tostring("

0.000000

"));

dp.y = double.parse(dpt.y.tostring("

0.000000

"));

return

dp; }

mouseup說明圓畫好了,重新畫圓即可

private

void mapcontrol_mouseup(object

sender, mouseeventargs e)

mousedowned = false

; }

}

在資料庫中對圓的記錄需要包括 當前地圖的縮放係數即:mainfrm.mapcontrol.map.zoom.value * 1.609 / mainfrm.mapcontrol.width  ;起始座標點

定位圓:在地圖上顯示圓的時候需要三個引數:strp= 畫圓時比例係數;p1.x,p1.y;p2.x,p2.y,pmix=當前地圖的比例係數,id=當前圓的編號

private

void drawcircle(string strp,double pmix,int

id) }}

}catch

(exception ex)

}

刪除圓,引用為:delfenceintable(tablecircletemp, "tempcircle",id);

private

void delintable(table table,string tablealias,int

id)

}table.refresh();}}

catch

(exception ex)

}

MapXtremE 中改變feature顏色

1.c code mapinfo.data.table table mapinfo.engine.session.current.catalog.opentable c programfiles mapinfo mapxtreme2004 maps north america usa.tab thi...

怎樣在幾何畫板中調節相交圓

在幾何畫板中我們通過圓工具可以輕易的畫出圓,相交圓也可以很容易的繪製出來,但是這樣畫出的相交圓無法進行調整,那麼我們該如何畫幾何畫板中的相交圓,並且使所畫的相交圓可調節位置跟大小呢?具體操作步驟如下 1.確定圓心。單擊左邊側邊欄 自定義工具 圓工具 兩相交圓公共部分 先單擊一下,在畫布空白處確定乙個...

如何在JAVA中設定同心圓

1 原型 void drawoval int x,int y,int width,int height x 要繪製橢圓的左上角的 x 座標。相當於乙個長方形的左上角 y 要繪製橢圓的左上角的 y 座標。相當於乙個長方形的左上角 width 要繪製橢圓的寬度。height 要繪製橢圓的高度。橢圓覆蓋區...