Tôi đang cố gắng tự động hóa các tác vụ khác nhau trong ArcGIS Desktop (nói chung là sử dụng ArcMap) với Python và tôi tiếp tục cần một cách để thêm một shapefile vào bản đồ hiện tại. (Và sau đó làm mọi thứ với nó, nhưng đó là một câu chuyện khác).
Điều tốt nhất tôi có thể làm cho đến nay là thêm một tệp lớp vào bản đồ hiện tại, sử dụng thông tin sau ("addLayer" là một đối tượng tệp lớp):
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
Tuy nhiên, dữ liệu thô của tôi luôn luôn là shapefiles, vì vậy tôi cần có thể mở chúng. (Tương đương: chuyển đổi một shapefile thành một tệp lớp mà không cần mở nó, nhưng tôi không muốn làm điều đó).