来公司快三个月了,从一进入公司开始便和组长接受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]