ArcGIS Pro C#二次开发书已正式出版
【淘宝】
https://m.tb.cn/h.glup7JDiZUfLW7n?tk=LS7l3eCH5pT CZ3452
「ArcGIS Pro C#二次开发:从0到1实战指南视频、数据和读者群」
复制链接至浏览器打开
第 1 章 ArcGIS Pro 开发基础 ................................................................1
1.1 Pro SDK 与其他开发方式的区别 .......................................................1
1.1.1 和ArcMap 开发区别.................................................................2
1.1.2 和ArcPy开发的区别................................................................3
1.2 开发步骤 ..............................................................................................4
1.2.1 Visual Studio的安装.............................................................4
1.2.2 安装SDK.................................................................................4
1.2.3 HelloWorld的实现.............................................................6
1.3 开发入门 ..............................................................................................8
1.3.1 工程中各个文件的含义..........................................................8
1.3.2 图片资源和界面图标..............................................................8
1.3.3 Module模块含义...................................................................9
1.3.4 DAML配置文件.....................................................................9
1.3.5 各个控件的含义...................................................................11
1.3.6 各个类库含义.......................................................................16
1.4 几个公用变量 ....................................................................................17
1.4.1 MapView的属性和方法......................................................18
1.4.2 LayoutView的属性和方法..................................................20
1.4.3 ProApp的属性和方法........................................................22
1.4.4 进度条使用............................................................................24
1.5 多线程开发知识 ................................................................................25
1.5.1 多线程实现............................................................................25
1.5.2 线程嵌套................................................................................26
1.6 学习方法与参考资料 ........................................................................28
1.6.1 获得各种参数属性..................................................................29
1.6.2 两个对象的属性比较............................................................30
1.7 程序发布与卸载 ................................................................................32
1.7.1 程序发布.................................................................................32
1.7.2 兼容各种版本......................................................................33
1.7.3 程序卸载......... ......... ......... ......... ......... ......... ......... .........34
第 2 章 Pro 界面设置 ............................................................................35
2.1 选项卡修改 ........................................................................................35
2.1.1 修改已有选项卡........ ........ ........ ........ ........ ........ ........ 36
2.1.2 删除已有的选项卡........ ........ ........ ........ ........ ........ ....36
2.2 菜单修改 ............................................................................................37
2.2.1 内容列表右键菜单添加.... .... .... .... .... .... .... .... .... 38
2.2.2 图层右键修改.... .... .... .... .... .... .... .... .... .... .... 42
2.2.3 布局右键修改.... .... .... .... .... .... .... .... .... .... .... 42
2.2.4 地图窗口的右键.... .... .... .... .... .... .... .... .... .... .... 43
2.2.5 地图选择对象弹出的右键菜单修改.... .... .... .... .... 44
2.3 加入自己的选项卡 ...........................................................................45
2.3.1 自己的分组.... .... .... .... .... .... .... .... .... .... .... .... .... .... 45
2.3.2 修改和执行已有命令和工具.... .... .... .... .... .... .... .... 45
2.3.3 修改已有按钮名称和提示.... .... .... .... .... .... .... .... .... 47
2.4 面板和窗格的管理 ...........................................................................47
2.4.1 面板和窗格的区别.... .... .... .... .... .... .... .... .... .... .... 47
2.4.2 内置面板.... .... .... .... .... .... .... .... .... .... .... .... .... .... 48
2.4.3 内置窗格.... .... .... .... .... .... .... .... .... .... ... .... .... ..... 48
2.4.4 打开窗格.... .... .... .... .... .... .... .... .... .... .... .... .... .... 49
2.4.5 关闭窗格.... .... .... .... .... .... .... .... .... .... .... .... .... .... 50
2.5 地图面板管理 ..................................................................................50
2.5.1 创建地图.. .... .... .... .... .... .... .... .... .... .... .... ...... .... 51
2.5.2 修改地图.... .... .... .... .... .... .... .... .... .... .... .... .... .... 51
2.5.3 打开面板.... .... .... .... .... .... .... .... .... .... .... .... .... .... 52
2.5.4 导出地图.... .... .... .... .... .... .... .... .... .... .... .... .... .... 54
2.5.5 关闭地图面板.... .... .... .... .... .... .... .... .... .... .... .... .... 54
2.5.6 删除地图.... .... .... .... .... .... .... .... .... .... .... .... .... .... 55
2.6 程序路径和插件管理 .......................................................................56
2.6.1 获得程序的路径.... .... .... .... .... .... .... .... .... .... .... .... 56
2.6.2 获得Pro的安装路径.... .... .... .... .... .... .... .... .... .... 56
2.6.3 获得插件的GUID.... .... .... .... .... .... .... .... .... .... .... 57
2.6.4 获得安装所有插件.... .... .... .... .... .... .... .... .... .... .... 57
第 3 章 地图操作....................................................................................59
1.1 基本操作 ............................................................................................59
3.1.1 固定放大缩小..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 60
3.1.2 平移固定值..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 60
3.1.3 全图..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 61
3.1.4 鼠标拉框放大地图..... ..... ..... ..... ..... ..... ..... ..... ..... 62
3.1.5 鼠标拉框缩小地图..... ..... ..... ..... ..... ..... ..... ..... ..... 63
3.2 书签的管理 ........................................................................................65
3.2.1 添加书签..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 66
3.2.2 获得书签..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 66
3.2.3 删除书签..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 67
3.3 选择操作 ............................................................................................67
3.3.1 平移至选择对象..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 68
3.3.2 缩放至选择对象..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 69
3.3.3 清除选择..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 69
3.3.4 要素图层的全选..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 70
3.3.5 要素图层的反选..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 71
3.3.6 内容列表的选择和清除图层..... ..... ..... ..... ..... ..... 72
第 4 章 添加数据....................................................................................73
4.1 添加各种数据 ..................................................................................74
4.1.1 对话框使用..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 74
4.1.2 添加shp数据..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 76
4.1.3 添加数据库中矢量数据..... ..... ..... ..... ..... ..... ..... ..... 79
4.1.4 添加影像数据..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 80
4.2 工程的打开与存储 ...........................................................................82
4.2.1 打开工程..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 82
4.2.2 保存工程和工程另存..... ..... ..... ..... ..... ..... ..... ..... ..... 83
4.3 导入 ArcGIS 10.X 文档 ....................................................................84
4.4 图层 lyr 文件操作 .............................................................................85
4.4.1 打开图层文件..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 85
4.4.2 保存图层文件..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 87
4.4.3 添加lyrx到地图..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 88
4.5 通用添加数据调用 ...........................................................................89
第 5 章 创建与管理数据和数据库........................................................91
5.1 坐标系 ................................................................................................91
5.1.1 获得坐标系........ ........ ........ ........ ........ ........ ........ 91
5.1.2 创建坐标系........ ........ ........ ........ ........ ........ ........ 96
5.2 创建数据 ............................................................................................98
5.2.1 创建数据库........ ........ ........ ........ ........ ........ ........ 99
5.2.2 创建数据集........ ........ ........ ........ ........ ........ ........ 100
5.2.3 创建要素类........ ........ ........ ........ ........ ........ ........ 101
5.2.4 创建SHP........ ........ ........ ........ ........ ........ ........ 102
5.2.5 通用创建点线面要素类........ ........ ........ ........ ........ 102
5.2.6 创建一个非图形表........ ........ ........ ........ ........ 104
5.3 获得数据源路径 .............................................................................105
5.3.1 获得一个数据库的路径........ ........ ........ ........ ........ 105
5.3.2 获得要素类的所在路径和数据源位置........ ........ 107
5.3.3 获得栅格的路径........ ........ ........ ........ ........ ........ 109
5.3.4 判断矢量数据是否存在........ ........ ........ ........ ........ 112
5.3.5 判断栅格数据是否存在........ ........ ........ ........ ........ 113
5.3.6 获得一个文件夹下所有的gdb数据库....... ....... 115
5.4 字段管理 .........................................................................................116
5.4.1 添加字段........ ........ ........ ........ ........ ........ ........ 116
5.4.2 获得一个要素类的所有字段........ ........ ........ 118
5.4.3 获得一个表的所有字段........ ........ ........ ........ 119
5.4.4 判断一个字段是否存在........ ........ ........ ........ 121
5.4.5 删除字段........ ........ ........ ........ ........ ........ ........ 123
5.4.6 修改字段别名........ ........ ........ ........ ........ ........ 125
5.4.7 属性域获得........ ........ ........ ........ ........ ........ 127
第 6 章 几何对象的操作与处理..........................................................130
6.1 空间对象的创建与计算 .................................................................130
6.1.1 各种对象的定义.......... .......... .......... .......... ..........131
6.1.2 三点圆.......... .......... .......... .......... .......... .......... ..........133
6.1.3 椭球面积计算.......... .......... .......... .......... .......... ... 135
6.1.4 获取相关数值.......... .......... .......... .......... .......... ... 137
6.2 获得坐标 .........................................................................................139
6.2.1 获得面的折点坐标.......... .......... .............................. 139
6.2.2 获得点坐标.......... .......... .......... .................... .......... 142
6.2.3 获得面(线)的中点.......... .......... .......... .......... .......... 143
6.3 几何图形类型转换 .........................................................................144
6.3.1 点数组转面对象.......... .......... .......... .......... .......... 144
6.3.2 生成带孔的面.......... .......... .......... .......... ..........145
6.3.3 面转线.......... .......... .......... .......... .......... .......... 145
6.3.4 线转面.......... .......... .......... .......... .......... .......... 146
6.3.5 矩形转面.......... .......... .......... .......... .......... ....... 146
第 7 章 数据编辑..................................................................................147
7.1 数据属性的获得 .............................................................................147
7.1.1 获得字段唯一值....... ....... ....... ....... ....... ....... ....... .......148
7.1.2 字段值汇总....... ....... ....... ....... ....... ....... ....... ....... 151
7.1.3 Blob字段读写....... ....... ....... ....... ....... ....... ....... 154
7.2 选择集处理 .....................................................................................158
7.2.1 地图选择....... ....... ....... ....... ....... ....... ....... ....... 159
7.2.2 把一个图层选择对象复制到另一个图层....... ....... 160
7.2.3 把一个面图层选择对象合并一起....... ....... ....... 163
7.2.4 添加选择....... ....... ....... ....... ....... ....... ............... 166
7.2.5 删除选择....... ....... ....... ....... ....... ....... ....... ....... 168
7.3 EditOperation 的使用 ...................................................................170
7.3.1 画线分割面..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 171
7.3.2 平移..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 173
7.3.3 旋转..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 175
7.3.4 添加点数据..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 177
7.3.5 删除满足条件的记录..... ..... ..... ..... ..... ..... ..... ..... 178
7.3.6 合并选择对象..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 180
7.4 Inspector 的使用............................................................................182
7.5 数据更新 .........................................................................................184
7.5.1 更新字段值............ ............ ............ ............ ............ 187
7.5.2 更新Z值............ ............ ............ ............ ............ 190
7.6 数据插入 .........................................................................................192
7.7 数据删除 .........................................................................................197
7.8 屏幕图形的插入与清除 .................................................................198
7.9 注记操作 .........................................................................................201
7.9.1 创建注记图层............ ............ ............ ............ .. .. 202
7.9.2 插入注记............ ............ ............ ............ ............ 204
7.9.3 修改注记............ ............ ............ ............ ............ 207
7.10 保存编辑 .......................................................................................208
第 8 章 专题图制作..............................................................................210
8.1 颜色与符号 .....................................................................................211
8.1.1 颜色设置...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 211
8.1.2 点符号...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 212
8.1.3 线符号...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 213
8.1.4 面符号...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 215
8.2 各种专题 .........................................................................................219
8.2.1 单一符号专题...... ...... ...... ...... ...... ...... ...... ...... 219
8.2.2 唯一值专题...... ...... ...... ...... ...... ...... ...... ...... ...... 222
8.2.3 分级专题...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 227
8.2.4 修改符号颜色...... ...... ...... ...... ...... ...... ...... ...... 231
8.2.5 栅格符号化...... ...... ...... ...... ...... ...... ...... ...... ...... 234
8.2.6 栅格lyr调用...... ...... ...... ...... ...... ...... ...... ...... ...... 239
8.3 根据属性符号化图层 .....................................................................241
8.3.1 按字段值符号化面的轮廓宽度...... ...... ...... ...... 242
8.3.2 按颜色值符号化面填充...... ...... ...... ...... ...... ...... 244
8.4 符号库使用 .....................................................................................246
8.4.1 调用符号库的符号...... ...... ...... ...... ...... ...... ...... 246
8.4.2 获得所有的符号库...... ...... ...... ...... ...... ...... ...... 250
8.4.3 符号匹配...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 250
8.4.4 符号预览...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 253
8.4.5 符号名称和类别交换...... ...... ...... ...... ...... ...... ...... 258
8.5 标注和复杂标注 .............................................................................260
8.5.1 标注状态获得...... ...... ...... ...... ...... ...... ...... ...... 260
8.5.2 简单标注...... ...... ...... ...... ...... ...... ...... ...... ...... 261
8.5.3 标注过长自动换行...... ...... ...... ...... ...... ...... 265
8.5.4 分式标注...... ...... ...... ...... ...... ...... ...... ...... 267
8.5.5 一个图层的两种标注...... ...... ...... ...... ...... ...... 270
8.5.6 标注转注记...... ...... ...... ...... ...... ...... ...... ...... 272
第 9 章 地图打印..................................................................................275
9.1 布局创建与设置 .............................................................................276
9.1.1 创建布局................ ................ ................ ................ 276
9.1.2 获得布局信息............... ............... ............... ....... .......277
9.1.3 获得布局大小............... ............... ............... ....... .......278
9.1.4 设置布局大小............... ............... ............... ....... .......279
9.2 布局插入地图框与设置 .................................................................280
9.2.1 插入地图框............... ............... ............... ............... 280
9.2.2 获得地图框大小............... ............... ............... 285
9.2.3 设置地图框大小............... ............... ............... 286
9.2.4 修改地图框为圆形............... ............... ............... 287
9.2.5 获得地图的范围............... ............... ............... 287
9.2.6 设置地图范围............... ............... ...............290
9.3 其他各种元素的插入与修改 ........................................................292
9.3.1 添加图片............... ............... .............................. ...... 292
9.3.2 添加图形(点、线,矩形和面)...... ...... ...... ...... 295
9.3.3 添加文本...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 299
9.3.4 添加指北针...... ...... ...... ...... ...... ...... ...... ...... ...... 300
9.3.5 添加图例...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 302
9.3.6 图例自动换行...... ...... ...... ...... ...... ...... ...... ...... ......305
9.3.7 插入经纬网...... ...... ...... ...... ...... ...... ...... ...... ...... 306
9.3.8 插入范围指示器...... ...... ...... ...... ...... ...... ...... ...... 307
9.4 地图打印 .........................................................................................309
9.4.1 固定纸张打印...... ...... ...... ...... ...... ...... ...... ...... 310
9.4.2 固定比例打印...... ...... ...... ...... ...... ...... ...... ...... 312
9.4.3 设置切割打印范围和排除图层...... ...... ...... ...... 314
9.4.4 批量打印...... ...... ...... ...... ...... ...... ...... ...... ...... ...... 316
9.5 导出地图 .........................................................................................318
9.5.1 通用导出图片...... ...... ...... ...... ...... ...... ...... ...... 318
9.5.2 有地图系列导出...... ...... ...... ...... ...... ...... ...... ...... 325
第 10 章 空间分析 ...............................................................................328
10.1 调用工具箱工具 ...........................................................................328
10.1.1 执行一个简单通用的GP......... ......... ......... ......... .........329
10.1.2 执行一个通用的GP......... ......... ....... ......... ........... 329
10.1.3 执行一个通用的有执行进度条GP ......... ......... ........331
10.1.4 运行GP有返回值......... ......... ......... ......... ......... 333
10.1.5 运行GP有警告信息......... ......... ......... ......... 335
10.1.6 环境变量设置......... ......... ......... ......... ......... ......... 337
10.1.7 调用模型......... ......... ......... ......... ......... ......... 339
10.1.8 很多参数调用......... ......... ......... ......... ......... 340
10.1.9 调用Python代码并返回值......... ......... ......... 340
10.2 矢量数据分析 ...............................................................................341
10.2.1 查询分析............. ............. ............. ....... ................... 341
10.2.2 统计分析............. ............. ............. ............. ............. 343
10.2.3 矢量数据的裁剪和分割............. ............. ............. 345
10.2.4 矢量数据的合并............. ............. ............. ............. 347
10.3 DEM 分析 ......................................................................................349
10.3.1 创建TIN.......... .......... .......... .......... .......... .......... 350
10.3.2 插值分析.......... .......... .......... .......... .......... .......... 351
10.3.3 表面分析.......... .......... .......... .......... .......... .......... 352
10.4 栅格数据分析 ...............................................................................355
10.4.1 栅格裁剪.. ......... ......... ......... ......... ......... .........355
10.4.2 栅格重分类......... ......... ......... ......... ......... ......... 356
10.4.3 栅格计算器......... ......... ......... ......... ......... ......... 357
10.4.4 获得某个点高程值......... ......... ......... ......... ......... 358
第 11 章 三维制作展示 ........................................................................360
11.1 添加三维数据................................................................................360
11.1.1 添加SLPK..................... ..................... ..................... 360
11.1.2 添加LAS..................... ..................... ..................... 362
11.1.3 添加TIN..................... ..................... ..................... 363
11.2 三维图层设置................................................................................364
11.2.1 是否为三维图层........... ........... ........... ........... 364
11.2.2 设置图层类型为二维或三维.......... .......... ........... 365
11.2.3 关闭高程表面.......... .......... ........... ................ 367
11.2.4 获得某个高程表面是否存在 ....................... ...........368
11.2.5 添加高程表面................ ................ ................ .......... 370
11.2.6 根据名称获得表面高程图层...... ...... ...... ...... ...... 371
11.2.7 设置高程表面..... ..... ..... ..... ..... ..... .......... ..... ..... 372
11.2.8 设置表面夸大..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .374
11.2.9 三维拉伸..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 376
11.2.10 设置图层Z偏移.... .... .... .... .... .... .... .... .... .... .... 377
11.2.11 图层的拉伸 ... .... . ... .... . ... .... . ... .... . ... .... . ... .... .379
11.3 三维生成案例................................................................................380
11.3.1 创建三维地球仪............ ............ ............ ............ 381
11.3.2 生成建筑物拉伸三维............ ............ ............ ......... 383
11.3.3 使用 DEM 生成三维 ........... ........... ........... ...........385
11.3.4 生成洪水淹没效果........ . ........ . ........ . ........ . ........ .386
11.3.5 实心三维制作....... ....... ....... ....... ..... ....... ....... ....... 389
第 12 章 状态控制条件设置 ..............................................................391
12.1 在地图中可用的按钮 ....................................................................392
12.2 在布局中可用的按钮 ....................................................................393
12.3 选择图层时可用 ............................................................................393
12.4 选择单个图层时可用 ....................................................................394
12.5 选择要素时可用 ............................................................................395
12.5.1界面设置........................ ........................ ........................ 395
12.5.1代码编写........................ ........................ ........................ 395
12.6 获得比例尺与设置比例尺 ............................................................396
12.7 事 件 ............................................................................................399
12.7.1 自动调用方法............ ............ ............ ............ 400
12.7.2 按钮点击后使用............ ............ ............ ............402
第 13 章 综合案例 ............................................................................404
13.1 Windows Form 的集成...................................................................404
13.2 整个数据库所有要素标识码的更新 ............................................408
13.3 名称代码的更新 ............................................................................414
13.4 界址点成果表的打印 ....................................................................418
13.5 影像数据的批量下载 ....................................................................427
13.6 利用 DEM 调整河流方向..............................................................434
13.7 外业照片的自动配准 ....................................................................437
附录 A ArcGIS Pro 2.X 升级到 ArcGIS Pro 3.0 注意事项......................................443
附录 B 选项卡 ID 列表 .......................................................................445
附录 C Access 处理类..........................................................................448
附录 D Excel 处理类 ...........................................................................450
参考文献..................................................................................................45