Bagaimana saya bisa membuat shapefile menggunakan Python di ArcGIS 10?
Saya punya lat & panjang.
Dari sini saya perlu kode Python yang akan membuat shapefile di ArcGIS Desktop 10.
sumber
Bagaimana saya bisa membuat shapefile menggunakan Python di ArcGIS 10?
Saya punya lat & panjang.
Dari sini saya perlu kode Python yang akan membuat shapefile di ArcGIS Desktop 10.
Untuk membuat poin:
ptList =[[20.000,43.000],[25.500, 45.085],[26.574, 46.025], [28.131, 48.124]]
pt = arcpy.Point()
ptGeoms = []
for p in ptList:
pt.X = p[0]
pt.Y = p[1]
ptGeoms.append(arcpy.PointGeometry(pt))
arcpy.CopyFeatures_management(ptGeoms, r"C:\Temp\test.shp")
Ini akan mengembalikan pesan seperti ini:
<Result 'C:\\Temp\\test.shp'>
Pilihan lain adalah dengan menggunakan alat geoprocessing arcpy yang ada, lihat kode di bawah ini.
# Import arcpy module
import arcpy
# Local variables:
table_dbf = "C:\\temp\\table.dbf"
table_Layer2 = "table_Layer2"
point3_shp = "C:\\temp\\point3.shp"
# Process: Make XY Event Layer
arcpy.MakeXYEventLayer_management(table_dbf, "x_coord", "y_coord", table_Layer2, "", "")
# Process: Copy Features
arcpy.CopyFeatures_management(table_Layer2, point3_shp, "", "0", "0", "0")
mxd = arcpy.mapping.MapDocument(r"C:\temp\Untitled.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
addLayer = arcpy.mapping.Layer(point3_shp)
arcpy.mapping.AddLayer(df, addLayer, "BOTTOM")
mxd.saveACopy(r"C:\temp\Untitled1.mxd")
Anda bisa membuat shapefile dengan Python menggunakan alat Create Feature Class . Ada contoh di bagian bawah halaman.
Untuk mengisi shapefile dengan data lat & panjang Anda, Anda dapat menggunakan Kursor Sisipkan .
Mungkin Anda bisa memuat data lat & panjang Anda sebagai daftar ke Python, lalu iterasi melalui array yang mengisi baris shapefile baru Anda dengan kursor sisipkan.
Daftar python koordinat dapat dibangun seperti ini:
latLonList = [[40.000,-75.000],[39.998,-75.432],[39.981,-75.343]]
Kemudian untuk beralih melalui koordinat dalam daftar (dan mencetaknya, misalnya), lakukan ini:
for coord in latLonList:
print "lat: " + str(coord[0])
print "lon: " + str(coord[1])
Untuk menambahkan layer ke file mxd, lihat Menambahkan shapefile atau kelas fitur sebagai layer di ArcGIS Desktop menggunakan Python / ArcPy?