当前位置:文档之家› ArcGIS中不可不知的Python使用技术

ArcGIS中不可不知的Python使用技术


ArcPy站点 包 Python 2.6
Python 2.7 第三方包
自动化制图 数据访问 空间分析 ……
Python 3.4
ArcGIS Python API(beta)
ArcGIS 9.0/9.1
ArcGIS 9.2
ArcGIS 9.3
ArcGIS 10.0
ArcGIS 10.4
ArcPro 1.2
空间数据

……
• • • • • • • • • •
数据格式转换 空间数据格式转换 非空间数据格式转 换 数据预处理 数据抽稀 字段计算 空间选择 GeoDatabase 属性选择 。。。 元数据处理 元数据填写 元数据标准转换 。。
属性数据
行政区 用地性质 用地面积 …
数据管理
• 来自 management.py • 完全实现 Data Manager Tools
示例:上传FileDGB数据到AGO
• 上传FileDGB数据到AGO
Python in Web
ArcGIS Python API(beta)
• ArcGIS Python API 是一个全新的API,可以执行GIS分析和 可视化、空间数据管理、GIS平台管理。
原生,强大,简单 交互式开发 可分享、更新和重新运行的分析记录
重要GP工具 arcpy.mp 替代 arcpy.mapping
可继续在ArcGIS Pro 中使用脚本工具和 Python 工具箱
Python in Server
ArcGIS Server 命令行实用程序
• 1、ArcGIS Server 命令行实用程序 ― 位于ArcGIS for Server安装目录tools/admin目录下 ― 提供一套管理ArcGIS Server的脚本命令行工具
Arcpy
Web GIS
Portal
ArcRest/PortalPy
Server
在线内容与服务
Python in Desktop/Pro
ArcPy
• Arcpy——为用户提供了使用 Python 语言操作所有地理处 理工具(包括扩展模块)的入口,并提供了多种有用的函 数和类,以用于处理和询问 GIS 数据。使用 Python 和 ArcPy ,可以开发出大量的用于处理地理数据的实用程序 。 • 代码库: • C:\Program Files (x86)\ArcGIS\Desktop10.4\arcpy\arcpy
批量删除要素类: import arcpy from arcpy import env env.workspace=r'C:\Users\yanrui\Documents\ArcGIS\Default.gdb' fcs = arcpy.ListFeatureClasses() for fc in fcs: arcpy.Delete_management(fc)
示例:Python脚本实现数据转换
ArcPy制图可视化
• • • • • • • 使用ArcPy.Mapping模块 与MapDocument、Layer及其内的数据进行交互 更改图层datasource 获得mxd相关信息:数据源,无效图层,空间参考 更改symbology、label显示、图层透明度等 自动化地图集生产 …
批量删除栅格:
rasters=arcpy.ListRasters()
for raster in rasters: arcpy.Delete_management(raster)
批量删除表: tables = arcpy.ListTables()
for table in tables: arcpy.Delete_management(table)
示例:桌面add-in插件使用
下载Python Add-In Wizard: /home/item.html?id=5f3aefe77f6b4f61ad3e4c62f30b ff3b
Python版本迁移
ArcGIS Pro 使用 Python 3 ArcPy 迁移
创建SDE连接文件
创建ArcGIS Server连接文件
示例:Python字段计算器
将存储在字段值中类似379.826的数据处理成K379+826
交通行业通常需要将道路 的里程数据存储成 K389+34的形式。
第一步:!桩号! .replace(".","+") 第二步:“K“+ !桩号!
示例:python窗口批量数据删除
jupyter matplotlib
pyreadli ne pip
jinja2
flask
Web.py numpy GWPY pandas
Python的缺点
强制缩进

Python的版本
-跨平台语言,支持Windows/Unix/Linux/Macintosh -下载路径: -安装
ArcPy
数据的编辑会话 表、要素类与 Numpy格式互 转 版本、属性域和 子类工作流
操作.mxd和.lyr 扩展了数据驱动 页面功能,自动 导出、打印地图 可发布为服务在 Web端使用 执行空间分析 、空间运算
可访问Network Analyst Toolbox的所有 工具(增删图层 、获取属性) 结合 Arcpy.Describe 使用
ArcGIS中不可不知的Python使用技术
易智瑞(中国)信息技术有限公司沈阳分公司 刘君懿
Python的历史
Python是自由软件的丰硕成果之一
创始人 Guido van Rossum 时间地点 :1989年圣诞节期间在阿姆斯特丹创造 名字来源 :大蟒蛇飞行马戏团的爱好者 渊源:从ABC发展而来 主要受Modula-3的影响 结合了Unix shell和C的习惯
ArcGIS Server 命令行实用程序
启动和停止服务
从集群添加和移除计算机 从服务定义 (.sd) 文件发布服务 备份或还原站点配置 定义新地图缓存 构建和删除地图缓存
在松散和紧凑格式之间转换地图缓存
使用 ArcGIS REST API 编写Python脚本
• 使用Python调用ArcGIS Admin API修改ArcGIS Server参数
中处理时间增量和时区时会用到的类、方法以及属性。
ArcPy
基础方法
自动化制图模块
空间分析模块
地统计分析模块
桌面Add-In插件
• Python Add-In开发,开发工具addin_assistant
• • • •
向导方式创建ArcPy Add-In 工程 支持创建基于ArcMap、ArcCatalog、ArcGlobe、ArcScene插件 支持创建扩展模块、菜单、工具条 生成各种组件类及方法
Python API
常用IDE比较
IDE name IDLE PythonWin SPE Ulipad Eric BOA 自动补全 智能感知 手动 手动 无 有 有 手动 有(很差) 有 有 有 有 手动 调试 用库 用库 WPDB WPDB 类VC 类VC 语法检查 无 无 存盘时 自动 自动 无 开源 开源 开源 开源 开源 开源 开源 Win Onl 特别注意 ★★ ★★★ ★★★★ ★★★★★ ★★★★★ 中文支持差 ★★★ 推荐度
使用 ArcGIS REST API管理ArcGIS Server
步骤1运行脚本时需要有管理员权限,必须提供一个具有管理员权限的用户名和密码:

步骤2在脚本中获取和使用令牌
步骤3配置参数,构筑请求
示例:Python脚本实现服务发布
Python in Online/Portal
Python使用地理平台中的资源
相当耗资源 ★★★★ ★★★ ★★★ 比较耗资源 ★★★★★ ★★ ★★★★★★
Python自带的IDE
• 集成开发环境(Integration Development Environment)
PyCharm
Python功能包与ArcGIS平台对应关系
ArcGIS Python API
桌面 Web 移动设备
TIOBE开发语言琅琊榜
Python的优点
• • • • • •
简单 易学 免费、开源 高层 可移植性 解释性
• • • • • •
面向对象 可扩展性 可嵌入性 丰富的库 海量资源 ……
跨平台语言:支持Windows/Unix/Linux/Macintosh
Python的站点包
ArcPy
eyed3
• 下载地址:/home/item.html?id=5f3aefe77f6b4f61ad3e4c62f30bff3b
• • • • • • • • 按钮和工具 组合框 菜单和右键菜单 Tool palettes 可停靠窗体 Application extensions Editor extensions Editor Construction Tools
https:///python/
ArcGIS Python API功能模块
webmap
item
ArcGIS Portal/Online
管理Porta\AGS\AGOL站点; 管理内容;tps:///Esri/ArcREST
user
ArcREST站点包安装
• 1、安装requirements.txt——pip install –r requirements.txt • 2、运行setup.py ——python setup.py install
arcpy.ga
arcpy.time
ArcGIS中Python的用法
1.字段计算器 2.制作gp工具
相关主题