Создание шейп-файла из значений широты / долготы с помощью ArcPy? [закрыто]

10

Как я могу создать шейп-файл, используя Python в ArcGIS 10?

У меня есть lat & long.

Из этого мне нужен код Python, который создаст шейп-файл в ArcGIS Desktop 10.

Mehul
источник

Ответы:

15

Для создания очков:

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")

Он вернет сообщение, подобное этому:

<Result 'C:\\Temp\\test.shp'>
Арагон
источник
6

Другой вариант - просто использовать существующие инструменты геообработки arcpy, см. Код ниже.

   # 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")
artwork21
источник
6

Вы можете создать шейп-файл в Python, используя инструмент Создать класс объектов. Пример внизу страницы.

Чтобы заполнить шейп-файл данными по широте и длине, вы можете использовать курсор вставки .

Возможно, вы можете загрузить свои данные lat & long в виде списка в Python, а затем перебрать массив, заполнив строки вашего нового шейп-файла курсором вставки.

Список координат Python может быть построен следующим образом:

latLonList = [[40.000,-75.000],[39.998,-75.432],[39.981,-75.343]]

Затем, чтобы перебрать координаты в списке (и напечатать их, например), сделайте это:

for coord in latLonList:
    print "lat: " + str(coord[0])
    print "lon: " + str(coord[1])

Чтобы добавить слой в файл MXD, смотрите раздел Добавление шейп- файла или класса объектов в качестве слоя в ArcGIS Desktop с использованием Python / ArcPy?

Casey
источник