周宇轩-基于ArcGIS的Python编程秘籍
2021-12-23 22:09:16 0 举报
AI智能生成
登录查看完整内容
基于ArcGIS的Python编程笔记
作者其他创作
大纲/内容
记事本(仅仅书写,无法调试)
ultraedit
notepad++
配置python环境
sublime text(推荐)
ArcGIS Python(Python自带IDLE)
文本编辑器
Pycharm(推荐、项目管理功能)
插件式开发环境,配置json文件
键+值
不同风格
智能提示
自动缩进
良好的书写环境(PEP8)
调试、运行
关键:指定编译器(注意多Python环境处理)
Vs code(微软出品、轻量级)
集成开发环境IDE
在线jupyter notebook(Web界面)
数据应用和分析(数据科学)
开发环境
如何进入当前的python环境
如何在当前环境中pip install
国内镜像源
包的安装和管理pip
调包---安装相应的包,寻找需求的包
Python的包(模块、库)
X68
X64
X32
操作系统
字符集
arcpy(一个库)
2.X
3.X
版本不兼容
安装和环境变量设置
anaconda
python管理软件
配置vscode环境(python+arcpy)
python2.X+Arcpy+IDLE,arcgis python窗口
课程环境
python3.X+找包安装+vscode
课外环境
Python语言的运行要求
1、胶水语言(解析性、文本)
分部写注释
结构先行
输入部分注意数据类型
输出部分注意格式需求
写代码注意
Python语言基础
esri提供的一个GIS地处理包(各种模块、类和对象、函数)
arcpy由一系列模块支持。---业务逻辑---对应哪个模块?(哪些函数提供了相应的功能)
类和对象---三大特性(封装、继承、多态)
开发者视角看待问题(找对象、找属性、找事件、找方法)
对象三个要点:属性(特征)、事件(动作)、方法(函数/功能)
函数---功能实现的基本单位(找对象、找函数、传参数)
调包调模块
梳理业务,找出对象
会看函数原型
设置属性,调用方法(函数)
arcpy解决问题思路:
数学(例子:集合)
数据(例子:不同数据集,如:要素、图层;数据处理:交、并...)
软件(例子:选用哪个工具)
信息视角考虑GIS(例子:叠加)
arcpy的相关概念
目录---数据文件管理
图层---数据对象管理
地图---地图对象管理
GIS软件三件套
个人数据库.mdb(access格式)
企业数据库.sde+rdbms(oracle/postgis)
文件数据库.gdb
arcsde+关系数据库oracle
geodatabase数据源
url地址
web service/ogc
在线数据源
如shp、dwg、xls、txt、等
离线文件
.xls
.csv
.txt
.dat
.xyz
.las
多源数据
数据类型
插件
驱动引擎
转换
注意:加载不同数据源的基础环境要求
软件功能
工具箱
脚本方式
加载方式
物理视角:数据文件的操作(数据加载)
工作空间
数据集
lyr
图层来源
状态的操作
编辑的操作
制图的操作
图层操作
图层的风格属性
(后台数据表)数据属性
图层的本质
风格属性
电、线、面
类型属性
图层的属性
图层
要素类
要素集
属性表
关系类
几何要素
标注
数据源(数据集:
数据对象
增加
删除
修改
查询
风格化/格式化
编辑类操作
列出...
查看属性
分组
浏览类操作
对象的操作
逻辑视角:数据对象的操作
软件操作步骤
arcgis中的主要对象
arcpy基础入门
命令式的书写方式---IDLE、arcgis python窗口来完成
有流程控制的要求---IDE开发环境(VSC---要配置arcpy环境要求)保存为.py文件
目录——添加工具箱——添加脚本,导入.py文件,设置输入、输出参数P130
自定义工具箱toolbox
交互操作的要求:输入参数
需求---脚本编程
编程的基本方式
绝对路径:从根目录开始
相对路径:相对于源文件的路径
相对路径
python2,中文路径
arcpy.env.workspace=\"目录\
workspace(工作空间)指默认工作目录
workspace(设置当前工作空间)
env(环境对象)
import os
python中的os模块,进行目录的操作
游标cursor(第八章)
arcpy.da(数据访问模块)
矢量数据feature
栅格数据raster
要用的数据对象(变成对象)
目录的书写:
基础:文件路径(目录位置)的操作
数据源的操作(物理层面数据的操作)
应用场景分析举例
基于arcpy的数据操作
表
元组
记录
选择:列出某些行
行
字段
属性
投影:列出相关列
列
GIS中的数据表
新建一张表
更新一张表
删除一张表
从结构上看
增
删
改
查
从内容上看
SearchCursor
UpdateCursor
InsertCursor
插入
更新
(内存对象:退出即消失,with语句)
arcpy.da模块(三种)
arcpy.da模块
with语句
select count(列)from表where条件表达式=临时表(记录集)
数据库select语句
查询DQL
arcpy.da.InsertCursor
执行出错时考虑是否当前数据已打开
权限问题P171
插入到表末尾
顺序无关
插入P178
arcpy.da.UpdateCursor
游标应用场景
游标(记录集、临时表)P168
行方向(选择)
名称
主键约束
外键约束
非空约束
检查约束
唯一约束
默认值约束
自定义约束
约束条件
几何属性(GIS独有)
列的相关要素
增加列AddField_management()
删除列DeleteField_management()
修改列AlterField_management()
字段计算器CalculateField_management()
列的相关操作_management
列方向(投影)
连接
从方向上看
对于数据表的操作
数据表的操作
基于ArcGIS的Python编程
0 条评论
回复 删除
下一页