對SharpMap的疑問 最近在網上看到一份雜誌《3S新聞周刊》,覺得甚好,對GIS行業的現狀、發展、GIS技術以及GIS文化都有比較全面的分析。其中有幾期刊登了由馬維峰先生寫的“SharpMap的介紹”系列文章。故激起了我對SharpMap這個開源項目研究的興趣。其中也發現了一些問題,同大家一起探討一下。
在SharpMap中,建立一個Map之後,給這個Map添加圖層(Layer)。
SharpMap.Map map = new SharpMap.Map(size);
//Set up the countries layer
SharpMap.Layers.VectorLayer layCountries = new SharpMap.Layers.VectorLayer("Countries");
//設定Layer的Style
...
map.Layers.Add(layCountries);
System.Drawing.Image imgMap = myMap.GetMap();
picBox.Image = imgMap
本以為完成這些之後在PictureBox應該能夠看到載入的地圖了。可是運行程式後地圖卻沒有顯示。一陣疑惑之後再看“SharpMap的介紹”中的代碼介紹,發現缺少了幾行代碼,設定比例尺以及地圖中心點。
map.Zoom = 360;
map.Center = new SharpMap.Geometries.Point(0,0);
聯想到其它一些地圖組件,比如MO等,SharpMap為什麼不根據Layer的範圍和Map的Size自動計算出顯示全圖的比例尺和中心點呢?因為很多情況下,我們對資料並不熟悉,不可能知道一個資料載入到地圖之後什麼比例尺合適,這樣就給使用者帶來了不便。
以上是我淺淺的看了SharpMap之後的一個小問題,不對之處還請大家見。: ) posted on 2006-04-22 12:02 gisfeng 閱讀(597) 評論(3) 編輯 收藏
FeedBack:
#1樓 2006-04-22 13:42 馬維峰呵呵,這個問題確實存在,第一次使用時也好像有過類似情況。
不過資料的中心點通過Map的GetExtents方法擷取地圖的範圍,然後在確定顯示範圍。
其他的地圖控制項,例如MapX,也有設定顯示範圍的方法,只是一般在Geoset裡就確定了。SharpMap缺少的是工程檔案類似的概念。
回複 引用 查看 #2樓 2006-12-05 21:46 小粟 [未註冊使用者]為了方便大家交流,我建立了一個關於開源GIS項目分析的QQ群8755486,有興趣的朋友快加入吧,我們一起為提高中國開源實力而努力!現在已經有一些博士、碩士、系統分析師、程式員加入了,現階段分析的項目是SharpMap。
回複 引用 查看 #3樓 2007-08-09 13:32 王計平初學者簡單疑問:SharpMap產品發展到什麼程度了?
1. 功能是否足夠。
2. 是否穩定,Bug是不是很多呀?
3. 效能怎麼樣,不要太慢就行。
4. 能不能把CAD格式的檔案匯入進去?