您是否正在寻找全面而实用的ArcGIS Pro C#二次开发参考书?本书从基础到实战,详细讲解了ArcGIS Pro开发的每一个关键步骤。第1章带您深入了解Pro SDK与其他开发方式的区别,掌握多线程开发与程序发布等基础知识;第2章则指导您如何灵活定制Pro界面,包含选项卡、菜单、面板等设置;接下来的章节涵盖了地图操作、数据添加与管理、几何对象处理、数据编辑、专题图制作、地图打印、空间分析、三维制作展示等实用技能。无论是坐标系管理、符号与颜色的设置,还是复杂的空间分析和三维展示,本书都提供了详尽的代码示例和实践指南,帮助您轻松应对实际开发中的各种挑战。
特别福利! 购书即赠送ArcEngine C#电子书,内容涵盖了地图控件、符号与图层、数据转换、影像处理等重要领域。这本电子书将为您提供ArcEngine开发的全面参考,让您在ArcGIS Pro开发的基础上,更加灵活地扩展您的GIS开发能力。
抓住这个机会,获取GIS开发的全面知识和技能,让您的开发之路更加顺畅!
购书链接
原价109元 现价96元
【淘宝】
https://m.tb.cn/h.glup7JDiZUfLW7n?tk=LS7l3eCH5pT CZ3452
「ArcGIS Pro C#二次开发:从0到1实战指南视频、数据和读者群」
复制链接至浏览器打开
或者
淘宝搜索直接打开
也可以
添加客服微信购买
目录如下,
400多页
1 axTOCControl有关 14
1.1 右键弹出菜单 14
1.2 axTOCControl1中隐藏图例 14
1.3 axTOCControl1中显示图例 14
1.4 axTOCControl1刷新图例 15
1.5 axTOCControl1选中某个图层 15
1.6 axTOCControl1图层拖动 15
1.7 axTOCControl1获得当前的图层 15
1.8 axTOCControl1自定义 15
2 axMapControl有关 17
2.1 鼠标移动时获得当前位置的坐标 17
2.2 鼠标移动时获得当前位置的坐标,同时获得经纬度 17
2.3 有经纬度获得平面坐标 18
2.4 获得地图的比例尺 19
2.5 获得选择的记录数 19
2.6 保存Mxd 19
IMxdContents pMxdC;//需要引用ESRI.ArcGIS.Carto 19
2.7 打开mxd 20
2.8 地图窗口选择SelectByShape 20
2.9 清除选择ClearSelection 21
2.10 闪烁对象FlashShape 21
2.11 闪烁所有选择对象FlashShape 21
2.12 取得MXD文档缩略图 22
2.13 获得地图窗口图层数 23
2.14 在地图窗口中根据图层名获得图层 23
2.15 在地图窗口,有分组图层获得图层名 24
2.16 在地图窗口,有分组图层获得图层名 方法2 25
2.17 GotoXY代码实现,先平移后闪烁 26
3 自己写代码实现 34
3.1 常用Command 34
3.2 axTOCControl绑定axMapControl 35
3.3 选择对象 35
3.4 放大地图 35
3.5 缩小地图 35
3.6 地图平移 36
3.7 查看整个地图 36
3.8 连续缩放 36
3.9 上一视图 36
3.10 下一视图 36
3.11 上一个视图和下一视图按钮状态设置 36
3.12 比例尺显示和设置 36
3.13 测量工具(尺子,面积) 37
3.14 增加数据 37
3.15 信息查询 37
3.16 鹰眼代码 37
3.17 其他 40
3.17.1 度分秒转换为弧度 40
3.17.2 将度转换为度分秒 42
3.17.3 度分秒转换度 43
4 ArcMap插件 43
4.1 获得选择对象个数 43
4.2 设置数据框焦点 44
4.3 获得当前打开的MXD文件名 44
4.4 arcmap插件中运行一个命令 44
5 符号相关 48
5.1 获得符号的类型 48
5.2 axSymbologyControl使用,符号预览 48
5.3 axSymbologyControl选择对象转为图片 49
5.4 axSymbologyControl获得选中的符号 49
5.5 把符号转成图片 51
5.6 由StyleGalleryClass把符号转成图片 52
5.7 直接使用listview实现符号预览 53
5.8 直接调用ArcMap中的符号选择器 59
5.9 字体符号,设置字间距和行间距 61
6 Lic管理 61
6.1 LIC代码初始化 61
6.2 初始化LIC 64
6.3 释放LIC 64
6.4 增加扩展模块 65
6.5 获得lic信息 65
6.6 设置arcinfo和扩展模块 66
7 图层相关的 67
7.1 制作专题图 67
7.1.1 单一专题SimpleRenderer 67
7.1.2 单一专题SimpleRenderer透明按某个字段设置 70
7.1.3 唯一值专题颜色变化ColorRamp 71
7.1.4 唯一值点专题UniqueValueRenderer 72
7.1.5 唯一值线专题UniqueValueRenderer 75
7.1.6 唯一值面专题UniqueValueRenderer 76
7.1.7 分类专题 78
7.1.8 点密度专题 80
7.1.9 柱状图 82
7.1.10 饼图 85
7.1.11 和符号库匹配 87
7.1.12 保存lyr 94
7.1.13 打开Lyr图层 95
7.2 专题图有关 95
7.2.1 获得图层的专题图 95
7.2.2 把专题图预览到Listview中(图例预览) 95
7.2.3 影像专题图 98
7.2.4 透明无色的颜色 99
7.2.5 颜色条的制作 100
7.2.5.1 单色的颜色条 100
7.2.5.2 渐变色的颜色下拉框 106
7.3 图层基本操作 111
7.3.1 获得一个图层的字段 111
7.3.2 放大到指定图层 111
7.3.3 更新地图的有效范围 111
7.3.4 图层重命名 112
7.3.5 获得一个图层的矩形范围 112
7.3.6 获得一个图层的工作空间 113
7.3.7 获得一个图层的数据源(目录或路径) 113
7.3.8 设置一个图层的数据源 114
7.3.9 IfeatureLayerDefinition使用 114
7.3.10 放大到指定选择条件 114
7.3.11 获得一个FeatureLayer的extent 117
7.3.12 图层标注 119
7.3.12.1 判断是否标注 119
7.3.12.2 获得自动标注信息 119
7.3.12.3 设置自动标注 120
7.3.12.4 判断一个图层是相同方式标注 122
7.3.12.5 判断一个图层标注是简单还是高级方式 122
7.3.12.6 一个图层多种样式标注 123
7.3.12.7 标注转化为注记 127
7.3.13 获得图层的透明度 128
7.3.14 设置图层的透明度 129
7.3.15 设置影像的透明度 129
7.3.16 获得图层选择集 129
7.3.17 字段有关 130
7.3.17.1 图层按字段排序 130
7.3.17.2 查找字段位置 131
7.3.17.3 获得字段值 131
7.4 数据表处理 132
7.4.1 数据表浏览 132
7.4.2 dataGridView数据定位 选择查询的对象 133
7.4.3 dataGridView数据定位 放大到选择对象 133
7.4.4 平移到当前对象 134
7.5 创立数据 135
7.5.1 创立Mdb 135
7.5.2 创立GDB 136
7.5.3 创立SHP 137
7.5.4 创立注记层 138
7.5.5 获得一个注记图层的参考比例尺 142
7.5.6 在workspace下创建一个图层 142
7.5.7 创建FeatureDataset 144
7.5.8 图层导出SHP 145
7.5.9 图层导出到GeoDatabase 146
7.5.10 按相同的表结构创建tableName 147
7.5.11 按相同的表结构创建不同数据类型的表 148
7.6 打开数据 149
7.6.1 打开SHP 149
7.6.2 打开MDB 150
7.6.3 打开CAD 151
7.6.4 打开GDB 152
7.6.5 打开Tin 153
7.6.6 打开RasterLayer 154
7.6.7 打开注记图层 155
7.6.8 打开RasterDataset 155
7.6.9 打开geodatabase中影像数据 155
7.6.10 获得FeatureDataset 156
7.6.11 获得任意格式数据工作空间 156
7.7 删除 157
7.7.1 删除表 157
7.7.2 方法二 158
7.7.3 删除方法三 158
7.8 投影有关 159
7.8.1 根据文件获得投影 159
7.8.2 动态修改一个矢量图的坐标系统 159
7.8.3 动态修改一个目录下含子目录矢量图的坐标系统 160
7.8.4 根据文件和范围,获得投影系 162
7.8.5 根据FeatureClass,获得投影系 163
7.8.6 获得中央经线、带号坐标系统 163
7.8.7 获得XY容差(XYTolerance) 164
7.8.8 设置坐标系统,XY容差(XYTolerance) 164
7.8.9 地理坐标还是投影坐标,true表示地理坐标 164
7.8.10 获得地理坐标 165
7.8.11 获得坐标系的长短半轴 165
7.8.12 获得任意点经纬度 166
7.9 获得信息 167
7.9.1 获得面积 167
7.9.2 获得长度 167
7.9.3 克隆一个对象 167
7.9.4 获得一个mxd范围 168
7.9.5 获得shp的工作路径 169
8 数据转换 169
8.1 自身格式转换 169
8.1.1 保存一个FeatureClass为文件为Shp 169
8.1.2 导出方法2 170
8.1.3 方法3 172
8.1.4 保存一个选中的对象为Shp 173
8.2 CAD转SHP 175
8.3 MDB转GDB含FeatureDataset 177
8.4 Cad转MDB 182
8.5 度转换为米 184
9 地图编辑 184
9.1 开始和结束编辑 184
9.1.1 开始编辑 184
9.1.2 结束编辑 184
9.2 Undo 和 Redo 功能实现 185
9.2.1 撒消编辑 185
9.2.2 重做 185
9.3 可以撤销的编辑 186
9.4 数据增添 187
9.5 数据更新 188
9.5.1 常规 188
9.5.2 游标更新 189
9.5.3 UpdateSearchedRows 190
9.6 数据删除 192
9.7 多部分对象操作 194
9.7.1 多对象的分解 194
9.7.2 多对象的合并(分离岛图) 201
9.8 ITopologicalOperator有关 202
9.8.1 判断对象自相交 202
9.8.2 简化对象 202
9.8.3 求交Intersect 203
9.8.4 合并 union 204
9.8.5 矩形合并 204
9.8.6 擦除 205
9.8.7 简化对象 205
9.8.8 判断两个对象是否相交 206
9.9 缓冲区 206
9.10 注记编辑 207
9.10.1 获得注记的真正范围 207
9.10.2 生成注记 207
9.10.3 注记层查找替换 209
9.10.4 注记移动 210
9.10.5 更新注记GeoMetry 211
9.10.6 获得注记的颜色并更新到表 211
9.10.7 arcgis 中注记层pAnnotationFeature.Annotation. Geometry和Feature.Shape区别 212
9.10.8 arcgis 中注记层Font.size和TextSymbol.Size关系,及更新 214
9.10.9 获得注记的不同比例尺下注记的字体大小 214
9.11 图形操作 215
9.11.1 旋转 215
9.11.2 平移 215
9.11.3 平行线 215
9.11.4 线旋转方向 216
9.11.5 获得线的中点 216
9.11.6 两点线 216
9.11.7 获得线的方向角度 216
9.11.8 获得两条线夹角 217
9.11.9 垂线 218
9.11.9.1 端点垂线 218
9.11.9.2 垂直平分线 219
9.11.10 获得中心 219
9.11.11 面转线,线转点 219
9.11.12 面对象转线另一种方法(面转线) 220
9.11.13 线转面 220
9.11.14 由点构面 221
9.11.15 矩形转面 222
9.11.16 点分线 222
9.11.17 按长度打断线 223
9.11.18 线按长度延长 224
9.11.19 获得图形几何中心 225
9.11.20 两个对象之间最小距离,点到线,点到面,线到面,面和面之间 225
9.11.21 //快速获得两个点的距离 225
10 影像有关 226
10.1 打开影像图层 226
10.2 影像专题图 226
10.3 影像另存 227
10.4 影像配准 228
10.5 建立栅格金字塔 229
10.6 修改一个影像的坐标系统 230
10.7 获得影像的有关信息 231
10.7.1 获得影像的最大值,最小值,平均值 231
10.7.2 获得一个点对应影像值 231
10.7.3 获得分辨率 233
10.7.4 获取栅格图层(Raster)的属性表 233
10.8 Geodatabase中影像管理 234
10.8.1 打开Geodatabase中RasterDataset 234
10.8.2 创建.CreateRasterDataset 235
10.8.3 RasterDataset装入数据 235
10.8.4 删除RasterDataset 235
11 一个工作空间workspacle相关 235
11.1 获得IToolboxWorkspace 235
11.2 紧缩工作空间 236
11.3 遍历一个工作空间所有的FeatureClass 237
11.4 遍历一个工作空间所有的FeatureDataset 237
11.5 判断一个FeatureDataset存在 238
11.6 移动一个要素类到数据集下 239
11.7 获得Geodatabase的版本 239
12 地图窗口 240
12.1 自己获得显示比例尺 240
12.2 获得一个地图中所有图层 240
12.3 根据名称,获得一个图层 240
12.4 鹰眼的实现 241
12.5 地图输出栅格图片 243
13 矢量数据处理 246
13.1 拓扑 246
13.1.1 增加一个图层的拓扑规则ITopologyRule 246
13.1.2 增加两个图层的拓扑规则 247
13.1.3 拓扑是否存在 248
13.1.4 拓扑有效 249
13.1.5 删除拓扑 250
13.1.6 建立拓扑 251
13.1.7 建立拓扑自己增加拓扑规则 252
13.1.8 导出拓扑错误 254
13.1.9 完整的例子 260
13.2 查询 261
13.2.1 属性查询IQueryFilter 261
13.2.2 空间查询ISpatialFilter 262
13.2.3 比ISpatialFilter高效的空间查询IIdentify 263
13.2.4 选择集的选择 265
14 其他常用技巧 266
14.1 ArcGIS Engine(.NET)中枚举和字符串的互操作 266
14.1.1 遍历枚举中所有的内容 ,将枚举转成字符串 266
14.1.2 将字符串转换为枚举 266
14.1.3 把一个枚举转换为字符串 266
14.2 枚举和整数的相互转换 266
14.2.1 有整数获得枚举值 266
14.2.2 有枚举值获得整数 267
14.3 Color转ArcEngine的IRgbColor 267
14.4 通过文件设置坐标系统 267
14.5 平面坐标转经纬度坐标 268
14.6 释放变量 269
14.7 获得ArcGIS的版本 269
15 Geoprocessor(GP) 270
15.1 GP错误异常处理 270
15.2 错误异常处理有返回值 270
15.3 矢量数据提取 271
15.3.1 数据选择select 271
15.3.2 表选择Table Select 272
15.3.3 两个图层clip 273
15.3.4 两个图层clip 设置条件 274
15.3.5 图层分割Split 275
15.4 矢量数据叠加分析 276
15.4.1 两个图层求交intersect 276
15.4.2 数据合并union(只用于面) 277
15.4.3 擦除Erase 278
15.4.4 识别Identity 279
15.4.5 数据更新Update 279
15.5 数据处理 280
15.5.1 面转线 280
15.5.2 面转线方法,非GP 281
15.5.3 转线FeatureToLine 283
15.5.4 要素转点FeatureToPoint 284
15.5.5 线处理PlanarizeLines 285
15.5.6 缓冲区 286
15.5.7 线按节点分开 287
15.5.8 GP创建MDB 288
15.5.9 空间连接 288
15.5.10 空间投影变换 project 288
15.5.11 修改空间gridsize AddSpatialIndex 288
15.5.12 删除数据 289
15.5.13 建立索引 289
15.5.14 jionField 290
15.5.15 表追加 291
15.5.16 RepairGeometry 291
15.6 三维分析 292
15.6.1 矢量到TIN(Featuretotin) 292
15.6.2 Tin到DEM(TintoRaster) 292
15.6.3 Tin到等值线 293
15.6.4 TintoSlope矢量图 294
15.6.5 DEM到Tin(RasterToTin) 294
15.6.6 可视分析 294
15.6.7 影像到矢量RasterToPolygon 295
15.6.8 RasterToPolygon方法二 296
15.6.9 RasterToLine 297
15.6.10 RasterToPoint 297
15.6.11 矢量到影像PolygonToRaster 298
15.7 影像数据 298
15.7.1 影像合并MosaicToNewRaster 298
15.7.2 影像分割ExtractByMask 299
15.7.3 分区统计ZonalStatistics 299
15.8 GP批量处理 300
15.8.1 修复一个目录下shp 300
15.8.2 修复一个MDB所有的矢量数据 300
15.8.3 GP用于数据格式转换,将一个MDB转换为GDB 301
15.9 GP调用自己定义模型 303
15.10 GP调用自己定义python脚本 304
15.11 GP 工具异步执行 305
16 三维分析 305
16.1 表面分析(SurfaceOp) 305
16.1.1 山体阴影 305
16.1.2 坡度分析 306
16.1.3 坡度分析GP方法 307
16.1.4 坡向分析 309
16.1.5 根据DEM生成等高线 309
16.2 数据分析 311
16.2.1 距离分析 311
16.2.1.1 直线距离分析 311
16.2.1.2 配置分析 312
16.2.2 插值分析Kriging 313
16.2.3 插值分析IInterpolationOp3.IDW 314
17 三维展示axSceneControl(ArcScene应用) 316
17.1 垂直夸大 316
17.2 基于栅格dem制作三维 316
17.3 影像基于tin三维 317
17.4 点击位置信息查询 318
17.5 一个图层Z放大缩小设置 319
17.6 TIN模型整体上下偏移 321
17.7 将TIN变为一个平面,并设置该平面的高程 322
17.8 单色渲染 323
17.9 高程分级渲染(Elevation) 325
17.10 输出图片 328
17.11 基于属性拉伸三维 328
17.12 信息查询 330
18 网络分析 333
18.1 最短路径分析 333
18.2 清除路径 340
18.3 导出路径数据 341
19 地图打印 341
19.1 布局设置 341
19.1.1 插入文字 341
19.1.2 布局当前Frame输出图片 343
19.1.3 布局输出图片 346
19.1.4 指定范围保存为指定大小图片 348
19.1.5 插入图例 351
19.1.6 插入指北针 353
19.1.7 增加Frame 353
19.1.8 获得对应的DataFrame 354
19.1.9 根据名字获得数据框 354
19.1.10 地图窗口的地图和布局地图同步 355
19.1.11 设置布局边框 355
19.1.12 设置布局的地图范围 356
19.1.13 地图拷贝 357
19.1.14 将屏幕像素转换成地图单位 357
19.1.15 布局保存MXD 358
19.1.16 布局中字符的查找 358
19.1.17 布局中字符更新 359
19.2 地图打印预览 360
19.2.1 设置Frame的大小 360
19.2.2 设置布局纸张的大小 360
19.2.3 纸张单位(厘米) 360
19.2.4 打印设置 360
19.2.5 按着指定比例尺,地图范围设置frame和布局纸张 361
19.2.6 打印预览 362
19.2.7 多页打印预览 363
19.2.8 打印 365
19.3 地图打印应用 365
19.3.1 设置图片输出精度 365
19.3.2 设置Frame和布局纸张一致 365
19.3.3 地图布局纸张和打印机纸张一致 366
19.3.4 按纸张打印 366
19.3.5 比例打印 367
19.3.5.1 比例打印(设置比例尺,改变地图中心) 367
19.3.5.2 比例打印(设置Frame大小,改变地图视野大小) 368
19.3.5.3 第三种方法 370
19.3.6 切割打印 371
19.3.7 MapControl打印预览 371
20 统计 373
20.1 统计函数的使用-获得满足条件的记录个数 373
20.2 获得最大值,最小值合计等 374
20.3 获得字段唯一值 374
21 影像处理 375
21.1 影像配准wrap 375
21.2 影像建立金子塔 377
21.3 影像建立金子塔方法二 377
21.4 影像设置坐标系 378
22 Python入门 379
22.1 字符串操作 379
22.1.1 复制字符串 379
22.1.2 连接字符串 379
22.1.3 查找字符 379
22.1.4 比较字符串 379
22.1.5 扫描字符串是否包含指定的字符 380
22.1.6 字符串长度 380
22.1.7 将字符串中的小写字符转换为大写字符 380
22.1.8 追加指定长度的字符串 380
22.1.9 字符串指定长度比较 380
22.1.10 复制指定长度的字符 381
22.1.11 字符串比较,不区分大小写 381
22.1.12 将字符串前n个字符替换为指定的字符 381
22.1.13 扫描字符串 381
22.1.14 翻转字符串 382
22.1.15 找字符串 382
22.1.16 分割字符串 382
22.2 语法 382
22.2.1 Python 变量类型 382
22.2.2 Python 程序流程控制 383
22.2.2.1 条件判断结构 383
22.2.2.2 循环结构 383
22.2.3 Python 列表(list)操作 384
22.2.3.1 创建列表 384
22.2.3.2 Python 列表操作 384
22.2.3.3 得到列表中的某一个值 384
22.2.3.4 删除列表的第一个值 384
22.2.3.5 在列表中插入一个值 384
22.2.3.6 得到列表的长度 384
22.2.3.7 列表遍历 384
22.2.3.8 Python 列表高级操作/技巧 385
23 Python在ArcGIS常用语句 385
23.1 属性选择 385
23.2 是否存在 385
23.3 图层条件另存 385
23.4 擦除Erase 385
23.5 面转线 385
23.6 缓冲区 386
23.7 删除数据 386
23.8 追加数据 386
24 Python在ArcGIS中应用 386
24.1 获得字段位置 386
24.2 UpdateCursor和setvalue使用例子 386
24.3 更新线的长度到字段 387
24.4 批量给一个Workspace中表加字段 389
24.5 获得一个Workspace中FeatureDataset 391
24.6 矢量批量切割按图幅、行政区划 392
24.7 影像切割 397
24.8 影像切割另一种方法代码,要先打开数据 403
24.9 对一个目录下(含子目录)所有GeoDatabase紧缩 405
24.10 修复一个目录下所有shp文件 406
24.11 修复一个MBD下所有面文件(含数据集) 408
24.12 修复一个目录下含子目录,所有MBD中下面文件(含数据集) 409
24.13 #修复一个目录下含子目录,所有shp面文件 410
24.14 将一个目录下含子目录所有gdb转成mdb 411
24.15 在不同工作空间类型之间迁移数据 412
24.16 综合例子 413
25 综合案例 415