2010年6月7日 星期一

MapGuide_定位功能

雖然說地理資訊系統已經發展很多年了,網路上也是一堆系統,不管他能動不能動,不管他圖資是否豐富,但是可以發現其實絕大部分的案子都還是停留在定位功能,所謂在學校所學的空間分析、空間指標等等更深一層的應用,似乎都還看不到。

所以,不管是任何一個地理資訊平台,定位是一個很重要的功能,也是第一個需要測試的功能。去查MapGuide的API會發現定位只有一個很簡單函式(ZoomToView),後面帶了三個參數:X坐標、Y坐標及比例尺。

所以我們可以很簡單的做到定位功能,只要執行以下的Script就可以達成。
mapFrame.ZoomToView(" & CenterX & "," & CenterY & "," & scale & ");

好!知道如何定到單點以後,另一件事情就是面跟線怎麼定,如果要使用一樣的函式那該怎麼做?當然,方法就是給他XY跟比例。

步驟:

1. 取得要定位圖徵的MgGeometry。

2. 抓取MgGeometry的左上、右下坐標。

Dim LX As Integer = featureGeometry.Envelope.GetLowerLeftCoordinate.GetX()
Dim LY As Integer = featureGeometry.Envelope.GetLowerLeftCoordinate.GetY()
Dim RX As Integer = featureGeometry.Envelope.GetUpperRightCoordinate.GetX()
Dim RY As Integer = featureGeometry.Envelope.GetUpperRightCoordinate.GetY()


3. 利用坐標值計算中心坐標跟需要的比例。

4. 把計算出來的X坐標、Y坐標及適當的比例放到ZoomToView函式,並執行。

沒有留言:

張貼留言