來公司快三個月了,從一進入公司開始便和組長接受xx部的gis系統項目,第一次聽說gis還是在學校,老師嘴里總是念叨著學校里的gis比賽,終究在學生時代還是沒有接觸過。出來一年多,發現情景、地點總是關聯性的出現,面試匆匆經過的立水橋是上份工作上班每日必經之地,現在的工作地點卻在姐姐曾租住過的小區底商,很多很多熟悉的地方再次因某件事情出現而印象深刻。扯遠了,開始的gis系統準備使用sharpmap開源組件進行二次開發,但后來發現兩個問題:
1、sharpmap圖像渲染機制并不是很完善(對于客戶的要求來說)
2、sharpmap不提供編輯功能
后來轉投Arcgis Engine,一切都在摸索著前進,由于項目是立足于觸摸設備,所有對地圖的拖動,修改要求更高,在第一個版本完成與客戶溝通后項目有我一人負責,我打定主意轉投Arcgis Runtime for WPF,不是追新,而是winform程序實在不適合觸摸設備,這些都是后話。下面開始介紹使用Arcgis Engine的情況。
寫在前面 Arcgis Engine 初體驗
先放一張第一版系統的圖,由于公司機密不能提供源碼,但是各個小功能提供源碼,為需要的同仁提供些許幫助。
接下來進入正題,將逐一展示利用Arcgis Engine開發的程序小例子。
一、較完全編輯功能GIS程序
開發原理:通過隱藏Arcgis Engine工具條開發的較全編輯功能GIS小程序,調用Arcgis Engine工具時使用內置Command進行傳值。
包含功能:
1、基礎編輯功能(打開.shp文件、繪制多邊形、修改多邊形)
2、擴展編輯功能(添加頂點、刪除頂點、觸摸拖動點)
3、鎖定圖層功能,防止修改其他圖層
預覽圖:
下載地址:gisCommand.rar
二、字段搜索要素和空間搜索要素GIS程序
開發原理:使用內置的字段搜索功能搜索要素,通過新建多邊形進行重疊要素查詢(空間查詢,也可選用其他空間)。
包含功能:
1、根據字段搜索要素
2、空間關系搜索要素
預覽圖:
下載地址:gisSearch.rar
三、圖層重疊搜索GIS程序
開發原理:使用要素合并成臨時圖層然后與其他圖層比對搜索出與其他圖層重疊的要素。
包含功能:
1、搜索兩圖層的重疊要素
預覽圖:
下載地址:gisFeatureSearch.rar
四、要素合并、裁剪及檢測要素重疊GIS程序
開發原理:使用內置要素合并和裁剪方法進行合并和裁剪,使用空間關系判斷進行檢測重疊判斷。
包含功能:
1、合并要素
2、裁剪要素
3、檢測重疊并提醒重疊要素個數
預覽圖:
下載地址:gisVertex.rar
五、自定義觸屏拖拽頂點控件
上面涉及到拖拽點功能的程序都已引用該DLL了。
下載地址:SnapAndMoveVertex.rar
一些我搜集的Sharpmap資料和Arcgis Engine資料
1、gis520地信免費資源共享_igis520的網盤 http://igis520.7958.com/folder-7678922
2、gis資源網盤 http://laoheitan.400gb.com/u/1906276/3210355
3、ArcEngine跨屏幕畫線解決辦法 http://bbs.esrichina-bj.cn/esri/archiver/?tid-27758.html
4、地圖數據編輯_添加節點 http://blog.3snews.net/space.php?uid=64155&do=blog&id=61731
5、Sample: Custom vertex editing commands (ArcObjects .NET 10 SDK)
http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html
6、ArcEngine編輯功能的實現(二) - yhexie - 博客園 http://www.cnblogs.com/yhlx125/archive/2012/02/27/2369572.html
7、使用ArcEngine的Select Features工具,如何獲取選中的要素 http://blog.csdn.net/brokencar/article/details/6069997
8、[幾何-圖形學算法學習筆記二]線圍成的面多邊形自動構建 http://www.cnblogs.com/yhlx125/archive/2012/03/01/2374999.html
9、用ArcEngine的工具條添加圖層要素 http://www.doc88.com/p-909236632317.html
10、ArcGIS Runtime加載本地Shape數據和編輯Shape數據 http://blog.csdn.net/arcgis_cs/article/details/7547730
11、C#如何保存新加入shp的地圖文檔為mxd? http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=17395&page=1
12、ArcGIS Engine中創建Shapfile文件 http://bbs.esrichina-bj.cn/esri/viewthread.php?tid=48944
13、ArcGIS10.0下載與安裝 http://blog.sina.com.cn/s/blog_71dbfe2e0101b2hy.html
14、arcgis10.0下載地址及安裝教程和注冊機.rar http://pan.baidu.com/share/link?shareid=103102&uk=1143478374
15、ArcGIS Engine基礎開發教程(5)——學習地圖查詢 http://www.gisall.com/html/59/4359-899.html
16、ArcEngine空間數據查詢_百度文庫 http://wenku.baidu.com/view/ed3a5afe04a1b0717fd5ddd3.html
17、ArcGIS Engine基礎開發教程(2)——學習幾何對象與空間參考 http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=46367
18、ArcMap的Editor工具,實現要素拖動、編輯 http://www.cnblogs.com/aplsc/archive/2008/08/31/1280594.html
19、ArcEngine 一些實現代碼 - 李炳南 - 博客園 http://www.cnblogs.com/alex-bn-lee/archive/2012/04/08/2437358.html
20、分享AE中編輯功能的代碼過程 和 思路_ArcEngine_GIS開發 http://210.43.24.222/chy/3sbase/news/?595.html
21、在地圖上移動點,線,面的方法 http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=47446
22、關于節點編輯 http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=53988
23、Move Vertex of polyline and polygon http://forums.esri.com/Thread.asp?c=159&f=1707&t=285835
24、ArcGIS Runtime快速入門_百度文庫 http://wenku.baidu.com/view/ed044e3d67ec102de2bd8965.html
25、ArcGIS Runtime 本地API介紹(一) http://blog.csdn.net/arcgis_all/article/details/8215094
26、SharpMap深度分析:地圖渲染、坐標和比例尺 - 馬維峰 - 博客園 http://maweifeng.cnblogs.com/archive/2006/03/06/344089.html
27、GIS資料網盤 http://www.bego.cc/u/256394/2672612/5
標紅為著重推薦。
在此對以上文章作者表示感謝,謝謝你們的無私分享!
如果你能在閱讀中有任何疑問或質疑可以聯系我,郵箱:[email protected]
新聞熱點
疑難解答
圖片精選