基于sharpdevelop核心和ArcEngine打造插件式桌面GIS应用(概述)
系统演示请看《我的插件GIS系统演示》
之前,写过一篇博客《我的插件GIS》,无非是想记录一下插件GIS的功能,为健忘的自己留点回忆。今天看了园子里很多大神的文章,感觉应该写的再详细一点。打算写一个小的专题,跟大家分享一下自己的心得。也希望诸位多给些建议和意见,毕竟,这是自己闭门造车的产物。程序很久没有更新了,很多功能还未实现,大家将就着看吧。
一、功能清单
这个清单列出来的是最基本功能,另有高级功能未列出。
| 模块 | 功能点 | 功能描述 | 完成情况 |
| MXD管理 | 新建MXD | 已完成 | |
| 打开MXD | 已完成 | ||
| 保存MXD | 已完成 | ||
| 另存MXD | 已完成 | ||
| 添加图层 | 已完成 | ||
| 地图浏览 | 放大 | 已完成 | |
| 缩小 | 已完成 | ||
| 平移 | 已完成 | ||
| 上一视图 | 已完成 | ||
| 下一视图 | 已完成 | ||
| 旋转 | 已完成 | ||
| 清除旋转 | 已完成 | ||
| 刷新 | 已完成 | ||
| 坐标定位 | 已完成 | ||
| 比例尺管理选项框 | 已完成 | ||
| 点选 | 已完成 | ||
| 线选 | 已完成 | ||
| 多边形选择 | 已完成 | ||
| 矩形选择 | 已完成 | ||
| 圆形选择 | 已完成 | ||
| 距离量测 | 已完成 | ||
| 面积量测 | 已完成 | ||
| 属性表 | 显示图层属性信息表 | 显示图层所有要素属性、显示选中要素属性。 可以同时显示多个图层的属性表。 |
已完成 |
| 要素定位、高亮、选择 | 可以把属性表中选定要素在地图上定位; 实现属性表中选中要素高亮显示、添加到选择集。 |
已完成 | |
| 属性值统计 | 对于数值类型的数据,可以进行汇总统计 | 已完成 | |
| 属性导出 | 属性表可以导出为xls格式。 | 已完成 | |
| TOC控件 | 图层开关 | 已完成 | |
| 图例显示 | 已完成 | ||
| 图层顺序管理 | 已完成 | ||
| 数据导出设置 | 空间关系:工作区域、当前范围相交、包含 导出格式:shape、PGDB、FGDB |
未完成 | |
| 数据导出 | 导出图层所有要素 选中要素 工作区域内要素 当前范围内要素 |
已完成 | |
| 移除图层 | 已完成 | ||
| 缩放到图层范围 | 已完成 | ||
| 设置为工作区域 | 可以将某个图层设置为工作区域 | 已完成 | |
| 选中要素设置为工作区域 | 已完成 | ||
| 选中工作区域内的要素 | 已完成 | ||
| 缩放到选中要素 | 已完成 | ||
| 移动到选中要素 | 已完成 | ||
| 取消选中 | 已完成 | ||
| 切换选中 | 已完成 | ||
| 全部选中 | 已完成 | ||
| 查看属性表 | 已完成 | ||
| 属性 | 根据选中的TOC对象类型,显示TOC对象的属性信息对话框,可以修改属性。 Group图层属性 栅格数据属性 矢量图层属性(基本信息、数据源、符号化、标注); 地图属性 图例属性 |
未完成 | |
| 工作区域管理 | 绘制工作区域 | 已完成 | |
| 选中要素设置为工作区域 | 已完成 | ||
| 图层设置为工作区域 | 已完成 | ||
| 移除工作区域 | 已完成 | ||
| 清空工作区域 | 已完成 | ||
| 显示/隐藏工作区域 | 已完成 | ||
| 工作区域符号修改 | 已完成 | ||
| 定位工作区域 | 已完成 | ||
| 高亮工作区域 | 已完成 | ||
| 导入工作区域 | 工作区域可以通过文件导入,文件格式包括txt坐标文件和wkt格式 | 未完成 | |
| 导出工作区域 | 已完成 | ||
| 书签管理 | 新增 | 已完成 | |
| 删除 | 已完成 | ||
| 定位 | 已完成 | ||
| 顺序维护 | 已完成 | ||
| 鹰眼图 | 导航 | 已完成 | |
| 图层设置 | 已完成 | ||
| 图层顺序管理 | 已完成 | ||
| 鹰眼图背景颜色设置 | 已完成 | ||
| 点选查看属性 | 图层配置 顶层图层;可见图层;可选图层;所有图层。 |
已完成 | |
| 要素属性显示 | 已完成 | ||
| 要素定位 | 已完成 | ||
| 要素高亮 | 已完成 | ||
| 要素选中 | 已完成 | ||
| 取消选中 | 已完成 | ||
| 查询点居中、闪烁、添加Element | 已完成 | ||
| 属性表复制、复制选中字段、全选 | 未完成 | ||
| 编辑模块 | 启动编辑 | 已完成 | |
| 保存编辑 | 已完成 | ||
| 停止编辑 | 已完成 | ||
| 编辑工作空间选择 | 已完成 | ||
| 编辑图层设置 | 未完成 | ||
| 新建要素 | 未完成 | ||
| 添加要素节点 | 未完成 | ||
| 要素节点拖动 | 未完成 | ||
| 移动 | |||
| 分割 | 未完成 | ||
| 合并 | 已完成 | ||
| 联合 | 未完成 | ||
| 分解 | 已完成 | ||
| 缓冲 | 已完成 | ||
| 求交 | 已完成 | ||
| 裁剪 | 已完成 | ||
| 通用捕捉 | 未完成 | ||
| Element管理 | 添加点、线、面、文字 | 未完成 | |
| 删除 | 未完成 | ||
| 文本修改 | 未完成 | ||
| 符号修改 | 未完成 | ||
| 打印 | 未完成 | ||
| 输出图片 | 已完成 | ||
| 系统定制 | 用户自定义工具栏 | 未完成 | |
| 数据管理 | 导航到指定目录 | 未完成 | |
| 收藏夹 | 未完成 | ||
| 最近浏览 | 未完成 | ||
| 本地数据浏览 | 已完成 | ||
| 本地数据添加到地图 | 已完成 | ||
| SDE数据浏览 | 未完成 | ||
| SDE数据添加到地图 | 未完成 | ||
| ArcGISServer服务器连接 | 未完成 | ||
| ArcGIS服务管理 | 发布、启动、停止 | 未完成 | |
| 数据属性管理 | 未完成 | ||
| 图层结构管理 | 未完成 | ||
| 图层删除 | 未完成 | ||
| 图层新建 | 未完成 | ||
| 图层复制 | 未完成 | ||
| 数据集新建 | 未完成 | ||
| 数据集删除 | 未完成 | ||
| 数据集复制 | 未完成 | ||
| 数据导入 | 已完成 | ||
| 刷新显示 | 未完成 |
| 高级数据导出 | 导出方案管理 | 新建方案 A 点击新建方案按钮,输入方案名称 B 选择数据源(当前Map,SDE数据源) C 选择图层 修改方案 A 方案名称修改 B 图层修改,包括添加图层、删除图层、清空图层 删除方案,删除方案,同时删除方案图层 |
已完成 |
| 数据导出 | 1)选择导出方案 2)选择导出图层(默认会把导出方案的所有图层作为导出图层),用户可以在导出方案图层的基础上,设定哪些需要导出,哪些不导出。由于方案图层的数据源可能来自不同的类型,对于失效识别的数据源,区别显示。 3)设定导出参数,包括导出范围、边缘裁剪、导出路径等。 4)执行导出 |
已完成 |
| 更新管理 | 更新服务设置 | 已完成 | |
| 更新开关设置 | 已完成 | ||
| CAD集成 | 集成AutoCAD | 已完成 |
二、界面展示
1、主界面

2、鹰眼图管理
3、工作区域管理
工作区域是我自己进行的一个扩展,在实际工作中,我们可以绘制一个多边形、选择一个行政区作为工作区域,把工作区域内的数据导出,查询工作区域内感兴趣的数据……

工作区域列表

工作区域符号设置
4、属性表管理

支持多图层属性表查看;
仅显示选中要素、显示所有要素、显示未选中要素的切换;
可以导出选中要素未WKT或者坐标串文件;
可以将属性表导出为Excel文件。
5、编辑

6、工具箱

7、动态符号化

7、内嵌AutoCAD,视图同步

三、博客文章规划
1、概述
2、开发环境搭建
3、核心控件DefaultMapControl
4、工具栏——用户交互的窗口
5、图层树
6、鹰眼图的实现
7、工作区域的概念与实现
8、图层要素选择与选择集
9、属性表
10、要素识别(Identity)
11、数据输出
12、数据编辑——启动编辑、保存编辑、停止编辑
13、仿ArcMap的ToolBox简易实现
14、高级话题1——数据更新、版本维护
15、高级话题2——动态符号化的设计与实现
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
下面是修改后采用Ribbon风格的界面,图标太丑,大家可以捂上眼睛。

浙公网安备 33010602011771号