我正在尝试使用 Python 自动执行 ArcGIS Desktop(通常使用 ArcMap)中的各种任务,并且我一直需要一种将形状文件添加到当前地图的方法。 (然后对其做一些事情,但那是另一个故事)。
到目前为止我能做的最好的就是添加一个layer使用以下命令将文件添加到当前地图(“addLayer”是图层文件对象):
def AddLayerFromLayerFile(addLayer):
import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")
arcpy.RefreshActiveView()
arcpy.RefreshTOC()
del mxd, df, addLayer
但是,我的原始数据始终是形状文件,因此我需要能够打开它们。 (同样:将形状文件转换为图层文件而不打开它,但我不想这样做)。
变量“theShape”是要添加的形状文件的路径。
import arcpy
import arcpy.mapping
# get the map document
mxd = arcpy.mapping.MapDocument("CURRENT")
# get the data frame
df = arcpy.mapping.ListDataFrames(mxd,"*")[0]
# create a new layer
newlayer = arcpy.mapping.Layer(theShape)
# add the layer to the map at the bottom of the TOC in data frame 0
arcpy.mapping.AddLayer(df, newlayer,"BOTTOM")
# Refresh things
arcpy.RefreshActiveView()
arcpy.RefreshTOC()
del mxd, df, newlayer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)