Это еще один способ сделать это с помощью da.SearchCursor :
import arcpy
fc=r'C:\TEST.gdb\polygons123'
with arcpy.da.SearchCursor(fc,['OID@','SHAPE@']) as cursor:
for row in cursor:
array1=row[1].getPart()
for vertice in range(row[1].pointCount):
pnt=array1.getObject(0).getObject(vertice)
print row[0],pnt.X,pnt.Y
В результате ObjectID, X и Y, которые могут быть скопированы в Excel:
...
1 537505.894287 6731069.60889
1 537533.516296 6731078.20947
1 537555.316528 6731082.53589
1 537562.501892 6731085.47913
1 537589.395081 6731070.52991
1 537617.062683 6731058.29651
2 537379.569519 6729746.16272
2 537384.81311 6729746.06012
2 537396.085327 6729748.62311
2 537404.065674 6729752.75311
2 537425.145325 6729773.72931
2 537429.842102 6729777.07129
2 537442.971313 6729780.10651
2 537450.27533 6729780.51611
...
Попробуйте инструменты гео-мастера из пространственных технологий. Он имеет несколько бесплатных инструментов, которые могут делать то, что вы хотите. Попробуйте получить координаты многоугольника. Или полигон в точках
и гео-волшебники
источник
Следующий скрипт Python (для которого требуется ArcGIS 10.1 или более поздняя версия) использует
arcpy.da
для получения шейп-файла в качестве входных данных и создания электронной таблицы с записью для каждой вершины в каждом многоугольнике, присутствующем в .shp (и я считаю, что он работает с лицензиями Arcgis более низкого уровня) , Идентификаторы объекта и последовательности связывают точки с определенной позицией в определенном многоугольнике.H / t @PaulSmith в этом посте: получить все точки ломаной линии для выделения
explode_to_points
параметра вarcpy.da.FeatureClassToNumPyArray
инструментеЯ также написал скрипт, который специально отвечает требованиям: Вставить координаты вершин в многоугольник, который помечен как дубликат этого вопроса, этот код приведен ниже:
источник
Итак, я еще не завершил решение, но похоже, что вы можете использовать этот инструмент:
Преобразование> JSON> Возможности в JSON.
Это преобразует ваш шейп-файл (в моем случае 81 полигон) в файл JSON. Вы можете открыть это с помощью текстового редактора, чтобы увидеть, что, действительно, все вершины перечислены для каждого многоугольника.
Кроме того, стандартная библиотека python (import json) рассматривает объекты json как словари. Затем вы можете просто перебрать свои словари, чтобы записать значения вершин (и любые другие атрибуты, которые вы хотите) в файл CSV. Если я заставлю это работать, я вернусь и отправлю soln.
источник
Мне просто нужны координаты x и y для полилинии и многоугольника. Я использовал ToolBox -> Инструменты управления данными -> Функции -> Feature to Point. Это создало файл формы точки, затем я использовал добавить координаты XY из того же меню «Функции» для генерации координат XY. Затем я извлек информацию из таблицы атрибутов фигур в таблицу Excel. Это решило мою проблему, не уверен, если вы ищете то же самое.
источник
Вот обходной путь в отчаянные времена:
Этот метод подходит для небольших наборов данных, но основная проблема заключается в зависимости / ограничениях преобразователей OCR. Используйте с осторожностью.
источник