Saya mencoba mengotomatiskan berbagai tugas di ArcGIS Desktop (menggunakan ArcMap secara umum) dengan Python, dan saya tetap membutuhkan cara untuk menambahkan shapefile ke peta saat ini. (Dan kemudian melakukan hal itu, tapi itu cerita lain).
Yang terbaik yang bisa saya lakukan sejauh ini adalah menambahkan file layer ke peta saat ini, menggunakan yang berikut ("addLayer" adalah objek file layer):
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
Namun, data mentah saya akan selalu berupa shapefile, jadi saya harus dapat membukanya. (Sama: mengonversi shapefile ke file layer tanpa membukanya, tapi saya lebih suka tidak melakukannya).
Make Layer Fitur (Manajemen Data) http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000006p000000.htm
Saya baru saja mencobanya di jendela Python ArcMap dan itu menambahkan langsung ke peta saya (saya tidak harus mendapatkan dataframe saya dan memanggil AddLayer).
arcpy.MakeFeatureLayer_management('r:/temp/a.shp','test')
sumber
arcpy.SaveToLayerFile_management('test', 'r:/temp/evilmonkey.lyr', 'ABSOLUTE')
Jika Anda tidak ingin menyimpan layer dan Anda hanya ingin itu hilangarcpy.Delete_management('test')
,.