2010年7月5日 星期一

MapGuide_multiPolygon型態回傳MgGeometry的bug

問題:MapGuide在回傳multiPolygon型態的MgGeometry時,會有無法獲得所有圖徵的問題產生。

解決方法:無。可能後面版本會解決?

台灣有很多縣市除了本島以外,還有一些附屬的島嶼,通常我們在處理這樣的資料時會利用multiPolygon來顯示該縣市的圖徵,在操作起來就有一點像是多個面共用一筆屬性資料,當我們選取其中一筆時就會連帶的將同一縣市的島嶼選取起來,就像是下圖這樣,宜蘭外面還有一個龜山島,澎湖就一次將全部的島嶼都選起來。

最近有處理到這樣的資料,之前曾經有測試過MapGuide有沒有支援multiPolygon的資料型態,就將圖資發佈到網路上面,利用選取功能選選看,發現如果選擇龜山島就會連同台灣本島的宜蘭縣一併取選,又加上在資料型態裡面也有一個multiPolygon的型別,所以我當時認為MapGuide在multiPolygon的支援上一定沒有問題。

既然可以選取,那問題到底是什麼?

之前在測試的時候,並沒有真正的去撰寫程式碼,上星期在寫簡單的定位功能時才發現,multiPolygon的資料獲得他的MgFeatureReader不會有問題,就如同之前利用選取功能選出是一樣的效果,但是位了定位我們必須進一步去抓取MgGeometry,這時候你就會覺得怪怪的了,如果你也是跟我一樣抓取MgGeometry以後再去計算要定位的座標,就會發現只會定位到其中一塊圖徵,一開始以為應該是因為只有一筆屬性資料,所以MgFeatureReader抓取一筆,當換成MgGeometry時會變成回傳一個矩陣型態的資料,以代表多筆的圖徵,但似乎也不是這麼回事,後來有兩個原因讓我放棄測試這一個問題。
1. 將資料選到以後,直接按MapGuide內建的Zoom Select功能,發現他也是只能定到一個圖徵上。
2. 在論壇上面看到一個相同的問題,果不期然的沒有解決方案。

目前傾向於以改變圖層資料的方式解決,也就是不要使用multiPolygon形態,或許2011出來以後,這個問題就解決了?

沒有留言:

張貼留言