#ArcGIS批量删除空要素.py
import sys, os
import arcpy
sys.setdefaultencoding('utf8')
def clear_feature(feature):
if arcpy.Exists(feature):
try:
arcpy.Delete_management(feature)
except :
print "The feature " + feature + " can not be deleted."
sys.exit()
def is_null_feature(infea):
rows = arcpy.SearchCursor(infea)
row = rows.next()
if row:
return False
else:
return True
def del_null_feature(infea):
if arcpy.Exists(infea):
pass
else:
return 0
if is_null_feature(infea) == True:
clear_feature(infea)
if __name__ == '__main__':
arcpy.env.workspace = "H:\\桌面\\database_test\\各网格各坡度类"
feas = arcpy.ListFeatureClasses()
for fea in feas:
infea = os.path.join("H:\\桌面\\database_test\\各网格各坡度类", fea)
del_null_feature(infea)
#ArcGIS字段递增
预逻辑
b=1000;
def a():
global b
b=b+1;
return b;
调用
a()
北部丘陵1:18
北部平原2:374
中部五桂山3:553
南部丘陵4:112
南部平原5:117
把字段作为参数传进去才能用!!!!!!
a(!GRIDCODE!)
内置工具。这些工具是使用 ArcObjects 和像 .NET 这样的编译型编程语言构建的。
模型工具。这些工具是使用模型构建器创建的。
脚本工具。这些工具是使用脚本工具向导创建的,它们可在磁盘上运行脚本文件,例如 Python 文件 (.py)、 AML 文件 (.aml) 或可执行文件(.exe 或 .bat)。
每个工具都可右键->属性, 查看工具的别名
>>> import arcpy
>>> from arcpy import env
>>> from arcpy.sa import *
>>> env.workspace="E:/MyDocument/ArcGIS/地理信息系统导论/chap18"
>>> arcpy.CheckExtension("Spatial")
u'Available'
>>> arcpy.analysis.Intersect(["depwater","soil","landuse"],"out","ALL")
>>> arcpy.management.AddField("out","my","DOUBLE")
<Result 'out'>
>>> arcpy.management.CalculateField("out","my","[SOILRATE] *0.6 + [DWRATE] *0.2 + [LANDUSE_] *0.2")
<Result 'out'>
>>>