Câu trả lời:
Để tạo điểm:
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")
Nó sẽ trả về một tin nhắn như thế này:
<Result 'C:\\Temp\\test.shp'>
Một lựa chọn khác là chỉ sử dụng các công cụ xử lý địa lý phức tạp hiện có, xem mã dưới đây.
# 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")
Bạn có thể tạo một shapefile trong Python bằng công cụ Tạo lớp tính năng . Có một ví dụ ở cuối trang.
Để điền vào shapefile với dữ liệu lat & long của bạn, bạn có thể sử dụng một Con trỏ chèn .
Có lẽ bạn có thể tải dữ liệu lat & long của mình dưới dạng danh sách vào Python, sau đó lặp qua mảng điền vào các hàng của shapefile mới của bạn bằng con trỏ chèn.
Một danh sách tọa độ python có thể được xây dựng như thế này:
latLonList = [[40.000,-75.000],[39.998,-75.432],[39.981,-75.343]]
Sau đó, để lặp qua các tọa độ trong danh sách (và in chúng chẳng hạn), hãy làm điều này:
for coord in latLonList:
print "lat: " + str(coord[0])
print "lon: " + str(coord[1])
Để thêm một lớp vào tệp mxd, hãy xem Thêm lớp shapefile hoặc lớp tính năng dưới dạng lớp trong ArcGIS Desktop bằng Python / ArcPy?