[ArcPy] 代码汇总
文章目录
- arcpy批处理示例
- 地理处理工具
- 工具输入框内自动选择图层和数据
- 读取XML文件
- 要素属性操作
- 复制数据库
- 处理Excel数据生成多边形
- 批量将hdf数据转换成tif数据
原文链接:https://hellogis.yuque.com/docs/share/ae7827ab-2906-4f50-9099-b1207a6703cb?# 《示例》
arcpy批处理示例
示例1:对一个gdb数据库进行了遍历,并对遍历的每一个要素类图层进行要素修复
import arcpy
#读取文件
arcpy.env.workspace = r"C:\Users\Administrator\Desktop\H48G026039.gdb"
#取出要素类
fcs = arcpy.ListFeatureClasses()
fcCount = len(fcs)
for fc in fcs: #遍历要素类 arcpy.RepairGeometry_management(fc)print fc
print fcCount
示例2:对一个文件夹下的mxd文件进行遍历,并导出为jpg文件
import arcpy, os, time
path = r'D:\可行性分析' #文件夹路径
res = 100
print '程序开始:' + str(time.ctime())
for afile in os.listdir(path): #遍历文件夹里的文件if afile[-3:].lower() == 'mxd': #文件名后三位为mxdmxd = arcpy.mapping.MapDocument(os.path.join(path,afile))arcpy.mapping.ExportToJPEG(mxd, os.path.join(path,afile[:-3] + 'jpg'), resolution = res)del mxd
print '程序结束:' + str(time.ctime())
地理处理工具
编写.py脚本,并新建工具箱后即可使用
原文:http://blog.csdn.net/sprintwater/article/details/41078225
import sys
reload(sys)
sys.setdefaultencoding('utf-8') #设置编码
import arcpy
#获取工作空间
path = arcpy.GetParameter(0) #获取参数
arcpy.env.workspace = path
#获取该目录下的要素集
fcs = arcpy.ListFeatureClasses()
fcCount = len(fcs)
for fc in fcs: #遍历要素集#设置过程中提示语arcpy.SetProgressorLabel("修复要素类:" + fc +"...") #要素修复arcpy.RepairGeometry_management(fc)print fc
print fcCount
工具输入框内自动选择图层和数据
http://blog.csdn.net/sprintwater/article/details/41146543
读取XML文件
http://blog.csdn.net/sprintwater/article/details/46851643
要素属性操作
ArcPy对几何对象属性的操作,包括查询、添加、更改、删除
原文:http://blog.csdn.net/sprintwater/article/details/48858427
import time,os
import arcpy print '程序开始:' + str(time.ctime())
arcpy.env.workspace = r"C:\Users\ljb\Desktop\高程数据"
#输入要素
inFeatures = "TERLK_LN.shp"
#添加一个字段用来标记高程是否可以整除10
fieldName1 = "Mark"
fieldPrecision = 2
fieldAlias = "整除10标记" #列出所有字段
fieldObjList = arcpy.ListFields(inFeatures)
# Create an empty list that will be populated with field names
fieldNameList = []
# For each field in the object list, add the field name to the
# name list. If the field is required, exclude it, to prevent errors
for field in fieldObjList: if not field.required: fieldNameList.append(field.name)
print fieldNameList
if fieldName1 in fieldNameList: arcpy.DeleteField_management(inFeatures, fieldName1) print"删除已有字段" #添加字段函数
arcpy.AddField_management(inFeatures, fieldName1, "LONG", fieldPrecision, "", "", fieldAlias, "NULLABLE") field1 = "Elev"
field2 = "Mark" #更新查询
cursor = arcpy.UpdateCursor(inFeatures)
for row in cursor: # field2 will be equal to field1 multiplied by 3.0 if((int)(row.getValue(field1))%10 == 0): row.setValue(field2, 1) else: row.setValue(field2, 0) cursor.updateRow(row)
print '程序结束:' + str(time.ctime())
复制数据库
import arcpy
from arcpy import env
import os
# Allow for the overwriting of file geodatabases, if they already exist #
env.overwriteOutput = True
# Set workspace to folder containing personal geodatabases #
env.workspace = arcpy.GetParameterAsText(0)
# Identify personal geodatabases #
for pgdb in arcpy.ListWorkspaces("*", "FileGDB"): # Set workspace to current personal geodatabase# print pgdb env.workspace = pgdb # Create file geodatabase based on personal geodatabase# fgdb = pgdb[:-4] + "2.gdb" arcpy.CreateFileGDB_management(os.path.dirname(fgdb), os.path.basename(fgdb)) # Identify feature classes and copy to file gdb # for fc in arcpy.ListFeatureClasses(): print "Copying feature class " + fc + " to " + fgdb arcpy.Copy_management(fc, fgdb + os.sep + fc) # Identify tables and copy to file gdb # for table in arcpy.ListTables(): print "Copying table " + table + " to " + fgdb arcpy.Copy_management(table, fgdb + os.sep + table) # Identify datasets and copy to file gdb # Copy will include contents of datasets# for dataset in arcpy.ListDatasets(): print "Copying dataset " + dataset + " to " + fgdb arcpy.Copy_management(dataset, fgdb + os.sep + dataset)
处理Excel数据生成多边形
Python对Excel读写xlrd库
原文:http://blog.csdn.net/sprintwater/article/details/40052675
import xlrd import xlwt import arcpy xlsPath = r"C:\Users\Administrator\Desktop\Polygon.xls" data = xlrd.open_workbook(xlsPath) table = data.sheets()[0]#通过索引顺序获取 cols = table.col_values(5) nrows = table.nrows point = arcpy.Point() array = arcpy.Array() polygonGeometryList = [] for i in range(1,nrows): str = table.cell(i,5).value points = str.split(u';') for j in points: xy = j.split(',') print xy[0] print xy[1] print '\n' point.X = float(xy[0]);point.Y = float(xy[1]) array.add(point) polygon = arcpy.Polygon(array) polygonGeometryList.append(polygon) array.removeAll() arcpy.CopyFeatures_management(polygonGeometryList, "d:\\polygon.shp") print 'over'
批量将hdf数据转换成tif数据
arcpy.env.overwriteOupt = 1
arcpy.CheckOutExtension("Spatial")
inPath = r"D:/HDF/"
outPath = r"D:/Output"
env.workspace = inPath
arcpy.env.scratchWorkspace = inPath
hdfList = arcpy.ListRaster('*', 'HDF')
for hdf in hdfList:name = hdf[8:16] + ".tif"data = arcpy.ExtractSubDataset_management(hdf, name, "1")
[ArcPy] 代码汇总相关推荐
- 【radar】毫米波雷达相关开源项目代码汇总(工具箱、仿真、2D毫米波检测、融合、4D毫米波检测、分割、SLAM、跟踪)(6)
[radar]毫米波雷达相关开源项目代码汇总(工具箱.仿真.2D毫米波检测.融合.4D毫米波检测.分割.SLAM.跟踪)(6) Toolbox pymmw https://github.com/m6c ...
- 【机器学习】特征提取代码汇总
特征提取代码汇总 import jieba from sklearn.datasets import load_iris from sklearn.feature_extraction import ...
- flink sql的datastream与dataset初始化代码汇总
flink sql 数据类型 初始化代码汇总 dataset ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironme ...
- 算法python知乎_20个算法李小文知乎文章与Github代码汇总
李小文知乎文章与Github代码汇总 共建立了2个Github项目,实现了20个算法,写了12篇知乎文章. ---------------------------------------------- ...
- CV Code | 本周新出计算机视觉开源代码汇总(南理SGE 和Intel的实时动作识别很吸引人)...
点击我爱计算机视觉标星,更快获取CVML新技术 本周新出的计算机视觉代码不是很多,但都是精品. 出自南理工的空域组增强(SGE)网络结构在图像分类和目标检测任务中均表现出一致的有效性,强烈推荐大家关注 ...
- CV Code | 本周新出计算机视觉开源代码汇总(含目标跟踪、语义分割、姿态跟踪、少样本学习等)...
点击我爱计算机视觉标星,更快获取CVML新技术 刚刚过去的一周出现了很多很实用.有意思.很神奇的CV代码. 比如大家期待的SiamRPN++算法,官方终于要开源了. 阿里MNN成为移动端网络部署的新选 ...
- CV Code | 本周新出计算机视觉开源代码汇总(含自动驾驶目标检测、医学图像分割、风格迁移、语义分割、目标跟踪等)...
点击我爱计算机视觉标星,更快获取CVML新技术 刚刚过去的一周含五一假期,工作日第一天,CV君汇总了过去一周计算机视觉领域新出的开源代码,涉及到自动驾驶目标检测.医学图像分割.风格迁移.神经架构搜索. ...
- CV Code | 本周新出计算机视觉开源代码汇总(语义分割、目标检测、超分辨率、网络结构设计、训练策略等)...
点击我爱计算机视觉标星,更快获取CVML新技术 CV君汇总了过去一周计算机视觉领域新出的开源代码,涉及到图像增广.医学图像分割.图像恢复.目标检测.语义分割.超分辨率.显著目标检测.轻量级网络结构设计 ...
- C#ADO.NET操作数据代码汇总
C#ADO.NET操作数据代码汇总 一.用SqlConnection连接SQL Server 1..加入命名空间 using System.Data.SqlClient; 2.连接数据库 SqlCon ...
最新文章
- [转]Format a ui-grid grid column as currency
- 第15章 关于本软件
- java 数组的方法_数组常用方法
- 关于压缩工具 7z(7-zip) 如何设置压缩算法(选项 -m 的解读)
- 带日期的bean转为json(bean-JSON)
- yang模型中rpc_领域驱动模型(DDD)设计讲解
- 如何把项目改成微服务项目_【日记】148微服务项目第18天
- CSS 与 HTML5 响应式图片
- Missing iOS Distribution signing identity问题解决
- 从应届技术男到百度VP,这是低调到没百科的吴海锋首次受访
- 撞击测试软件,碰撞检测用什么软件?你会用Navisworks做碰撞检测吗?
- 翻译:如何理解K-means的缺点
- 2017年十大移动应用开发的测试工具
- 【外文文献检索与下载方法】
- WordPress URL rewrite
- python处理excel数据计算_Python处理Excel数据
- a59s刷机包卡刷 oppo_OPPOA59S刷机包_线刷包_救砖包_官方ROM包_固件包下载- 线刷宝ROM中心...
- openwrt热插拔HotPlug
- 云主机WINDOWS系统创建FTP服务器227或200错误处理
- 应用计算机测定线性电阻伏安特性实验报告,电阻伏安特性曲线实验报告.docx
热门文章
- 如何将xml格式转换为yolov5所需的txt格式
- 解决:Error: geom_point requires the following missing aesthetics: y Run `rlang::last_error()`
- vscode代码自动格式化快捷键
- 罗克韦尔L85E plc程序下载和上载
- 分布式数据库系统之【结构】
- 计算最大公约数(GCD)
- FTPS FTPES
- Echarts3通过ajax动态获取数据,30秒定时图表数据,设置图表线条颜色和粗细
- Springboot 国际化语言(浏览器切换)
- jsTree API文档(中文)