У меня есть несколько столбцов данных XY, которые я хочу импортировать в ArcMap. Чтобы сделать это вручную, я запускаю скрипт Excel To Table в разделе «Инструменты преобразования», затем щелкаю правой кнопкой мыши по таблице и выбираю «Показать данные XY», повторяющиеся для каждой пары значений XY. Я построил модель, которая передает выходные данные сценария «Excel to Table» на вход инструмента «Make XY Event Layer». Проблема в том, что я не могу выбрать поля X или Y в начале без импортированной электронной таблицы, но когда я запускаю ее, я получаю ошибки «Нет значения поля X» и «Нет значения поля Y». Затем я построил модель, передающую выходные данные сценария «Excel to Table» сценарию, который я написал для отображения данных XY. Когда я запускаю эту модель, я получаю: «ExecuteError: Не удалось выполнить. Параметры недействительны. ОШИБКА 000728: Поле Latitude_decimal_degrees_ не существует в таблице». Можно ли выполнить этот процесс с помощью Python или Построителя моделей, и если да, то как?
Использование Python или построителя моделей для создания слоев XY
comment
Как выглядит ваш сценарий и что вы имеете в виду под «не работает так, как я хочу»?
- person GISGe   schedule 12.09.2014
comment
Убедитесь, что ваши имена полей действительно существуют, что они действительны (без цифр и пробелов) и что формат поля Excel читается ArcGIS как число. Иногда помогает добавление поля с уникальным идентификатором.
- person GISGe   schedule 12.09.2014
comment
В какой версии Excel представлены исходные данные? Также какую версию ArcMap вы используете. В зависимости от версии вашего файла Excel ArcMap может поддерживать или не поддерживать его. Я знаю, что в ArcMap 10.1 и новее файлы Excel для 2007 и новее не поддерживаются.
- person Ashatz11   schedule 18.09.2014
Ответы (1)
Насколько я понимаю, у вас есть одна таблица базы геоданных или DBF с несколькими полями координат в ней, и вы хотите создать несколько слоев объектов для каждой пары координат XY. Если это так, запустите это в окне Python в ArcMap, и он должен помочь:
import arcpy
Table= r"C:\SomeDataPath\MyTable"
# Replace 'X' and 'Y' in each sublist with the name of the respective X and Y
# field for each coordinate pair in the table and replace 'lyrName' with the
# name you want to give to the FeatureLayer to be created.
# Expand with more sublists as needed
CoordinateFields = [
["X", "Y", "lyrName"],
["X", "Y", "lyrName"],
["X", "Y", "lyrName"]
]
SR = arcpy.SpatialReference("Name of the Projection used by coordinates")
for CoordinatePair in CoordinateFields:
arcpy.MakeXYEventLayer_management(Table,
CoordinatePair[0],
CoordinatePair[1],
CoordinatePair[2],
SR)
Наслаждаться!
person
MrBubbles
schedule
26.09.2014