Arcgis常用功能 Python脚本

本文汇总了ArcGIS常用功能的Python脚本,包括删除属性值行、添加字段、计算面积长度、图层文件添加到mxd、dbf表遍历、数据转换、统计汇总、字段计算器等功能,并提供了官方链接及详细说明。
摘要由CSDN通过智能技术生成

Arcgis常用功能 Python脚本

对一些常用功能的python脚本进行总结,方便以后直接调用。

1. 根据属性值删除行

arcpy.MakeFeatureLayer_management(outputpath, "parcels_lyr")#根据输入要素类或图层创建临时图层,如果不将此图层保持到磁盘或地图文档,该图层在会话结束后将不会继续存在。

arcpy.SelectLayerByAttribute_management("parcels_lyr", "NEW_SELECTION", '"field" < 4')#按属性表选择图层

arcpy.DeleteRows_management("parcels_lyr") #删除上一级选定的行

官方链接

2. 添加字段

try:
    arcpy.AddField_management(in_table, "field_name", "field_type")
except:field_name
    arcpy.DeleteField_management(in_table, "field_name")
    arcpy.AddField_management(in_table, "field_name", "field_type")

官方链接
字段类型
TEXT —任何字符串。
FLOAT — 在 -3.4E38 和 1.2E38 之间的小数。
DOUBLE — 在 -2.2E308 和 1.8E308 之间的小数。
SHORT — 在 -32,768 和 32,767 之间的整数。
LONG — 在 -2,147,483,648 和 2,147,483,647 之间的整数。
DATE —日期和/或时间。
BLOB —长二进制数序列。您需要一个自定义的加载器、查看器或第三方应用程序将这些项加载到 BLOB 字段中或者查看 BLOB 字段的内容。
RASTER —栅格影像。可以存储 ArcGIS 软件支持的所有栅格数据集格式,但强烈建议您仅使用小影像。
GUID —全局唯一标识符。

3 .计算要素面积、长度

try:
    arcpy.AddField_management(in_table, "field_name", "field_type")
except:field_name
    arcpy.DeleteField_management(in_table, "field_name")
    arcpy.AddField_management(in_table, "field_name", "field_type")
express = "!SHAPE.area@squaremeter!" # !shape.length@kilometers!
arcpy.CalculateField_management (in_table, "field_name", express, "PYTHON_9.3") #计算字段

官方链接
面积测量单位关键字
ACRES | ARES | HECTARES | SQUARECENTIMETERS | SQUAREDECIMETERS | SQUAREINCHES | SQUAREFEET | SQUAREKILOMETERS | SQUAREMETERS | SQUAREMILES | SQUAREMILLIMETERS | SQUAREYARDS | SQUAREMAPUNITS
英亩 | 公亩 | 公顷 | 平方厘米 | 平方分米 | 平方英寸 | 平方英尺 | 平方千米 | 平方米 | 平方英里 | 平方毫米 | 平方码 | 平方地图单位
线性测量单位关键字
CENTIMETERS | DECIMALDEGREES | DECIMETERS | FEET | INCHES | KILOMETERS | METERS | MILES | MILLIMETERS | NAUTICALMILES | POINTS | UNKNOWN | YARDS
厘米 | 十进制度 | 分米 | 英尺 | 英寸 | 千米 | 米 | 英里 | 毫米 | 海里 | 磅 | 未知 | 码

4. 将图层文件添加到mxd中

不设置符号系统

tempmxd = r"D:\xxx\xxx\temp.mxd" #空的mxd的路径
mxd = arcpy.mapping.MapDocument(tempmxd)
df = arcpy.mapping.ListDataFrames(mxd)[0]
layer = arcpy.mapping.Layer(inputfiles) #
arcpy.mapping.AddLayer(df, layer) #将图层文件添加到地图文档中
arcpy.RefreshTOC()
arcpy.RefreshActiveView()
mxd.saveACopy(resultMxd)

设置符号系统

tempmxd = r"D:\xxx\xxx\xxx.mxd" #空的mxd的路径
layerFile = r"D:\xxx\xxx\xxx.lyr" #图层文件
mxd = arcpy.mapping.MapDocument(tempmxd)
layer = arcpy.mapping.Layer(inputfiles)
df = arcpy.mapping.ListDataFrames(mxd)[0]
arcpy.mapping.AddLayer(df, layer)
layer1 = arcpy.mapping.ListLayers(mxd, "name", df)[0]
arcpy.ApplySymbologyFromLayer_management(layer1, layerFile)
arcpy.RefreshTOC
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值