Типы данных для параметров инструментов геообработки
Геообработка построена на концепции типов данных. Каждый параметр инструмента имеет связанный с ним тип данных, который задает содержание переменной. Некоторые простые типы данных: строка (любой набор букв и цифр), булево (значение true/false) и длинное целое число (целочисленное значение от -2,147,483,648 до 2,147,483,647). В дополнение к этим простым типам данных существуют десятки других типов данных, разработанных специально для ArcGIS, такие как поля, система координат и экстент.
Описание каждого типа данных можно найти в Geoprocessing_data_types.pdf. Если эта ссылка не работает, вы можете найти этот документ (Geoprocessing_data_types.pdf) в папке \arcgis\Documentation, в директории инсталляции ArcGIS for Desktop.
Для просмотра этого документа понадобится Adobe Reader, который можно бесплатно скачать с сайта http://www.adobe.com/products/acrobat/readstep.html.
Где необходимы типы данных?
Пользователям, которые редко используют геообработку, не обязательно изучать типы данных. Но, могут встретиться ситуации, когда вам потребуется задать типы данных для переменных и параметров.
- В ModelBuilder, когда вы создаете отдельно стоящую переменную, необходимо задать для нее тип данных.
- При добавлении инструмента-скрипта с помощью Мастера инструмента-скрипта, необходимо задать тип данных для каждого параметра.
В случае ModelBuilder, большую часть времени вы будете создавать переменные согласно существующим параметрам инструмента. Поскольку все параметры имеют связанный тип данных, переменная создается автоматически с соответствующим типом данных.
Определение типа данных параметра
Существует несколько способов определения типа данных параметра:
- В справке инструмента, в разделе синтаксиса имеется таблица с описанием каждого параметра и его типа данных.
- В ModelBuilder, при создании переменной из параметра инструмента. Щелкните переменную правой кнопкой мыши, выберите Свойства (Properties), затем перейдите на закладку Тип данных (Data Type). Тип данных указан в верхней части диалогового окна.
- Создайте отчет модели в ModelBuilder. В отчете будут указаны все типы данных для всех параметров.
Синтаксис строки
Каждый тип данных имеет синтаксис строки, использующийся в диалоговом окне инструмента и в скрипте. Большинство типов данных имеют очень простой синтаксис строки, например, путь к набору данных, число или ключевое слово. Например, тип данных поля - это имя этого поля. Другие типы данных могут иметь более сложный синтаксис.
Синтаксис строки можно найти в файле PDF, описанном выше. Если вы не уверены, какой именно синтаксис должен использоваться для определенного типа данных, попробуйте следующее:
- Найдите инструмент, который использует этот тип данных.
- Запустите инструмент, используя его диалоговое окно.
- В окне Результаты (Results) щелкните полученный результат правой кнопкой мыши и выберите Копировать как Python Snippet (Copy as Python snippet). Теперь можно вставить этот фрагмент в любой текстовой редактор (или в окно Python) и изучить строковые значения всех параметров.
Типы данных и объекты скриптов
Синтаксис строки некоторых типов данных слишком сложен для использования в скрипте. Например, ниже показан текст строки типа данных пространственной привязки, который задает систему координат Eckert IV:
PROJCS['World_Eckert_IV',
GEOGCS['GCS_WGS_1984',
DATUM['D_WGS_1984',
SPHEROID['WGS_1984',6378137.0,298.257223563]],
PRIMEM['Greenwich',0.0],
UNIT['Degree',0.0174532925199433]],
PROJECTION['Eckert_IV'],
PARAMETER['False_Easting',0.0],
PARAMETER['False_Northing',0.0],
PARAMETER['Central_Meridian',0.0],
UNIT['Meter',1.0]]
Для типов данных со сложными строками, arcpy использует классы с методами и свойствами, которые позволяют легко создавать и изменять типы данных. Например, см. класс SpatialReference.