Risposte:
Per creare punti:
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")
Restituirà un messaggio come questo:
<Result 'C:\\Temp\\test.shp'>
Un'altra opzione sarebbe quella di utilizzare solo gli strumenti di geoprocessing arcpy esistenti, vedere il codice di seguito.
# 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")
Puoi creare un file di forma in Python usando lo strumento Crea classe di caratteristiche . C'è un esempio in fondo alla pagina.
Per popolare lo shapefile con i tuoi dati lat e long, puoi usare un Inserisci cursore .
Forse puoi caricare i tuoi dati lat e long come un elenco in Python, quindi scorrere attraverso l'array popolando le righe del tuo nuovo shapefile con il cursore insert.
Un elenco di coordinate Python può essere costruito in questo modo:
latLonList = [[40.000,-75.000],[39.998,-75.432],[39.981,-75.343]]
Quindi per scorrere le coordinate nell'elenco (e stamparle, ad esempio), procedere come segue:
for coord in latLonList:
print "lat: " + str(coord[0])
print "lon: " + str(coord[1])
Per aggiungere un layer a un file mxd, vedere Aggiunta di shapefile o feature class come layer in ArcGIS Desktop usando Python / ArcPy?