Проецировать (Управление данными)

Краткая информация

Проецирует пространственные данные из одной системы координат в другую.

Использование

  • Если входной класс объектов или набор данных имеет неизвестную или не заданную систему координат, ее можно задать с помощью параметра Входная система координат. Это позволит задать систему координат для данных без необходимости изменять входные данные. Можно присвоить набору данных постоянную систему координат, используя инструмент Определить проекцию.

  • Покрытия, покрытия VPF, наборы растровых данных и каталоги растров не поддерживаются этим инструментом в качестве входных данных. Используйте инструмент Проецировать растр, чтобы спроецировать наборы растровых данных.

  • Параметр инструмента Географическое преобразование является дополнительным. Когда не требуется географического преобразования или преобразования датума, параметр будет содержать пустой, не раскрывающийся список. Если преобразование необходимо, будет создан раскрывающийся список, содержащий входные и выходные датумы и будет выбрано преобразование по умолчанию.

    • Например, географическое преобразование не обязательно при проецировании из GCS_North_American_1983 в NAD_1983_UTM_Zone_12N, поскольку и входная и выходная системы координат имеют датум NAD_1983. Однако при проецировании из GCS_North_American_1983 в WGS_1984_UTM_Zone_12N требуется географическое преобразование, поскольку входная система координат использует датум NAD_1983, в то время, как выходная система координат использует датум WGS_1984.
      Подсказка:

      Преобразования производятся в оба направления. Например, если вы хотите преобразовать данные из WGS84 в NAD 1927, вы можете выбрать преобразование NAD_1927_to_WGS_1984_3, и оно будет корректно применено инструментом.

    • Список географических преобразований и область применения для каждого см. в статье базы знаний: How To: Select the correct geographic (daturm) transformation when projecting between datums.

  • При проецировании сложных типов данных, перечисленных ниже, с итоговыми данными нужно будет произвести определенные операции.

    • Набор классов, содержащий набор сетевых данных: набор сетевых данных необходимо перестроить.
    • Набор классов объектов, содержащий топологию: необходимо повторно проверить всю

  • Если входные данные участвуют в классах отношений (как в случае со связанной с объектами аннотацией), класс отношений будет перенесен в выходные данные. Исключение - это участие автономных таблиц.

  • В зависимости от координат входного объекта и горизонта (правильный экстент) выходной системы координат, мультиточки, линии и полигоны могут быть вырезаны или разбиты на несколько частей в ходе своей проекции. Объекты, которые полностью попадают за линию горизонта, будут записаны в выходной класс объектов с нулевой геометрией. Это можно удалить с помощью инструмента Восстановить геометрию.

  • Рекомендуется выполнить проецирование всех входных данных проекта в одну систему координат до выполнения анализа. Если все входные данные будут в одной системе координат, вы сможете избежать возможных проблем с производительностью и функциональностью, вызванных проецированием данных на лету.

  • В редких случаях проецирование геометрии объектов может привести к их трансформации вплоть до того, что она может стать недопустимой. Используйте инструмент Проверить геометрию, чтобы выявить недопустимую геометрию и инструмент Восстановить геометрию, чтобы исправить связанные с ней проблемы.

  • Классы объектов, участвующие в геометрической сети, не могут быть спроецированы изолированно – необходимо проецировать весь набор классов объектов, содержащих сеть.

  • Многие инструменты геообработки учитывают параметр среды Выходная система координат, и во многих рабочих процессах можно использовать этот параметр среды вместо инструмента Проецировать. Например, инструмент Объединение учитывает настройки выходной системы координат, а значит можно объединить несколько классов объектов, имеющих разные системы координат, и записать объединенные выходные данные в класс объектов в совершенно другой системе координат.

    Более подробно о параметрах среды геообработки

  • Этот инструмент поддерживает запросы выбора и определения для слоев. Только выбранные объекты в слое будут проецироваться при определении выборки или запроса.

  • Когда в качестве входных данных используется класс объектов внутри набора классов, выходные данные не могут быть записаны в тот же набор классов объектов. Это происходит потому, что все классы объектов внутри набора классов должны иметь одинаковую систему координат. В этом случае выходной класс объектов будет записан в базу геоданных, содержащую набор классов.

  • Если отмечен параметр Сохранить форму, инструмент создает выходные объекты, которые более точно соответствуют их истинному местоположению в проекции. Инструмент добавляет дополнительные вершины к объекту при проецировании. Дополнительные вершины помогут сохранить форму объекта при перепроецировании. Этот параметр полезен, когда у линии или полигона мало вершин. Если параметр не отмечен, существующие вершины проецируются, и выходной объект может быть неточно расположен в новой проекции.

    Параметр Отклонение максимального сдвига определяет, как много дополнительных вершин будет добавлено. Значение параметра соответствует максимальному расстоянию, на которое проецируемый объект может быть сдвинут относительно текущего проецированного местоположения. Если значение маленькое, инструмент добавляет дополнительные вершины. Выберите значение, которое подходит вам больше всего. Например, если вы выходные данные нужны для отображения в мелком масштабе, лучше задать большее значение. Если же результат будет использоваться в крупномасштабном анализе на небольшой площади, то лучше задать небольшую величину.

  • Чтобы выполнить вертикальное преобразование, отметьте параметр Вертикально. По умолчанию, параметр Вертикально отключен, и становится доступным только в случае, когда входная и выходная системы координат содержат вертикальную систему координат (ВСК), а координаты входных классов объектов содержат z-значения. Также, в систему необходимо установить дополнительные данные (данные систем координат).

    Когда вы выбираете выходную систему координат, вы можете выбрать как географическую, так и ВСК. Если входная и выходная ВСК отличаются, доступны соответствующие вертикальные преобразования и дополнительные преобразования географических систем (датумов). Если трансформация должны быть применена в направлении, обратном ее определению, выберите запись с тильдой (~) перед именем.

  • Наборы данных участков проецируются с помощью проецирования набора классов объектов, содержащих наборы данных участков. Отдельные классы объектов, управляемые наборами данных участков, не могут проецироваться по-отдельности. Линейные и площадные единицы измерения, а также координаты точек обновляются в соответствии с единицами и координатами целевой пространственной привязки.

Параметры

ПодписьОписаниеТип данных
Входной набор классов объектов или класс объектов

Проецируемые класс пространственных объектов, векторный слой, набор классов объектов, слой сцены, пакет слоя сцены или OGC Geopackage.

Feature Layer; Feature Dataset; Scene Layer; Building Scene Layer; File
Выходной набор данных или класс пространственных объектов

Выходной набор данных, в который будут записаны результаты.

Feature Class; Feature Dataset; File
Выходная система координат

Система координат, в которую будут проецироваться входные данные.

Coordinate System
Географическое преобразование
(Дополнительный)

Этот метод может использоваться для преобразования данных между двумя географическими системами координат или датумами. Этот дополнительный параметр может потребоваться, если входная и выходная системы координат содержат разные датумы.

Подсказка:

Инструмент автоматически выбирает преобразование по умолчанию. Вы можете выбрать другое преобразование из ниспадающего списка. Преобразования производятся в оба направления. Например, если вы хотите преобразовать данные из WGS84 в NAD 1927, вы можете выбрать преобразование NAD_1927_to_WGS_1984_3, и оно будет корректно применено инструментом.

Параметр содержит раскрывающийся список корректных способов преобразования. Дополнительные сведения о выборе одного или нескольких подходящих преобразований см. в советах по использованию.

String
Входная система координат
(Дополнительный)

Система координат входного класса пространственных объектов или набора данных. Параметр активируется, когда входные данные имеют Неизвестную или не заданную систему координат. Это позволяет задавать систему координат для данных без необходимости изменять входные данные (что иногда невозможно сделать, если входные данные имеют формат только для чтения).

Coordinate System
Сохранить форму
(Дополнительный)

Определяет, будут ли вершины добавляться к выходным линиям или полигонам, повышая точность выходной геометрии.

  • Не отмечено - дополнительные вершины к выходным линиям или полигонам не добавляются. Используется по умолчанию.
  • Отмечено - дополнительные вершины добавляются к выходным линиям или полигонам по мере необходимости, чтобы повысить точность выходной геометрии.

Boolean
Отклонение максимального сдвига
(Дополнительный)

Расстояние, на котором спроецированная линия или полигон находится от истинного местоположения, если отмечен параметр Сохранить форму. Значение по умолчанию равно значению допуска по x,y для набора данных в пространственной привязке, умноженному на 100.

Linear Unit
Вертикально
(Дополнительный)

Указывает, будет ли применено вертикальное преобразование.

Этот параметр включается только тогда в случае, когда входная и выходная системы координат имеют вертикальную систему координат, а координаты входных классов объектов содержат Z-значения. Также для многих вертикальных преобразований требуются дополнительные файлы данных, которые должны быть установлены с помощью пакета установки ArcGIS Coordinate Systems Data.

Если отмечено Вертикально, параметр Географическое преобразование может включать эллипсоидные преобразования и преобразования между вертикальными датумами. Например, ~NAD_1983_To_NAVD88_CONUS_GEOID12B_Height + NAD_1983_To_WGS_1984_1 преобразует вершины геометрии из датума NAD 1983 с высотами NAVD 1988 в вершины эллипсоида WGS 1984 (с z-значениями, представляющими эллипсоидные высоты). Тильда (~) означает, что преобразование выполняется в обратном направлении.

Эта параметр не совместим с параметром Сохранять форму.

  • Не отмечено – вертикальное преобразование не применяется. Z-значения координат геометрии будут игнорироваться, z-значения не будут изменены. Используется по умолчанию.
  • Отмечено – применяется преобразование, заданное в параметре Географическое преобразование. Значения x, y и z для координат геометрии будут преобразованы.

Boolean

arcpy.management.Project(in_dataset, out_dataset, out_coor_system, {transform_method}, {in_coor_system}, {preserve_shape}, {max_deviation}, {vertical})
ИмяОписаниеТип данных
in_dataset

Проецируемые класс пространственных объектов, векторный слой, набор классов объектов, слой сцены, пакет слоя сцены или OGC Geopackage.

Feature Layer; Feature Dataset; Scene Layer; Building Scene Layer; File
out_dataset

Выходной набор данных, в который будут записаны результаты.

Feature Class; Feature Dataset; File
out_coor_system

Допустимыми значениями являются: объект SpatialReference, файл с расширением .prj или строковое представление системы координат.

Coordinate System
transform_method
[transform_method,...]
(Дополнительный)

Этот метод может использоваться для преобразования данных между двумя географическими системами координат или датумами. Этот дополнительный параметр может потребоваться, если входная и выходная системы координат содержат разные датумы.

Для получения списка доступных преобразований используйте метод arcpy.ListTransformations. Наилучшим образом обычно подходит первое в списке преобразований. Список отсортирован по количеству совпадений данных в зависимости от областей использования преобразований. Если два или больше преобразований одинаково перекрываются с данными, значения точности преобразования используется используются в качестве вторичного параметра сортировки.

Подсказка:

Преобразования производятся в оба направления. Например, если вы хотите преобразовать данные из WGS84 в NAD 1927, вы можете выбрать преобразование NAD_1927_to_WGS_1984_3, и оно будет корректно применено инструментом. Если в списке нет других преобразований, будет использовано преобразование по умолчанию. Преобразование по умолчанию подходит для основных картографических приложений, но может не подходить в случаях, когда требуется особенная точность измерений на какой-либо территории.

String
in_coor_system
(Дополнительный)

Система координат входного класса пространственных объектов или набора данных. Когда система координат входных данных неизвестна или не задана, можно задать систему координат для данных без необходимости изменения входных данных (что иногда невозможно сделать, если входные данные имеют формат только для чтения).

Coordinate System
preserve_shape
(Дополнительный)

Определяет, будут ли вершины добавляться к выходным линиям или полигонам, повышая точность выходной геометрии.

  • NO_PRESERVE_SHAPEДополнительные вершины в выходные линии или полигоны не добавляются. Используется по умолчанию.
  • PRESERVE_SHAPEДополнительные вершины в выходные линии или полигоны добавляются по мере необходимости, для повышения точности проецируемой геометрии.
Boolean
max_deviation
(Дополнительный)

Расстояние, на котором спроецированная линия или полигон может находиться от истинного местоположения, если для параметра preserve_shape задано PRESERVE_SHAPE. Значение по умолчанию равно значению допуска по x,y для набора данных в пространственной привязке, умноженному на 100.

Linear Unit
vertical
(Дополнительный)

Указывает, будет ли применено вертикальное преобразование.

Этот параметр включается только тогда когда входная и выходная системы координат имеют вертикальную систему координат и координаты входных классов объектов содержат Z-значения. Также для многих вертикальных преобразований требуются дополнительные файлы данных, которые должны быть установлены с помощью пакета установки ArcGIS Coordinate Systems Data.

Этот параметр не совместим с параметром preserve_shape.

  • NO_VERTICALВертикальное преобразование не применяется. Z-значения координат геометрии будут игнорироваться, z-значения не будут изменены. Используется по умолчанию.
  • VERTICALПрименяется преобразование, заданное в параметре transform_method. Значения x, y и z для координат геометрии будут преобразованы.
Boolean

Пример кода

Project, пример 1 (окно Python)

Пример скрипта окна Python для использования функции Project в режиме прямого запуска.

import arcpy

# input data is in NAD 1983 UTM Zone 11N coordinate system
input_features = r"C:/data/Redlands.shp"

# output data
output_feature_class = r"C:/data/Redlands_Project.shp"

# create a spatial reference object for the output coordinate system
out_coordinate_system = arcpy.SpatialReference('NAD 1983 StatePlane California V FIPS 0405 (US Feet)')

# run the tool
arcpy.Project_management(input_features, output_feature_class, out_coordinate_system)
Project, пример 2 (автономный скрипт)

Этот автономный скрипт демонстрирует пример использования функции Project.

# Name: Project_Example2.py

# Description: Project all feature classes in a geodatabase
# Requirements: os module

# Import system modules
import arcpy
import os

# Set environment settings
arcpy.env.workspace = "C:/data/Redlands.gdb"
arcpy.env.overwriteOutput = True

# Set local variables
outWorkspace = "C:/data/Redlands_utm11.gdb"

try:
    # Use ListFeatureClasses to generate a list of inputs 
    for infc in arcpy.ListFeatureClasses():
    
        # Determine if the input has a defined coordinate system, can't project it if it does not
        dsc = arcpy.Describe(infc)
    
        if dsc.spatialReference.Name == "Unknown":
            print('skipped this fc due to undefined coordinate system: ' + infc)
        else:
            # Determine the new output feature class path and name
            outfc = os.path.join(outWorkspace, infc)
            
            # Set output coordinate system
            outCS = arcpy.SpatialReference('NAD 1983 UTM Zone 11N')
            
            # run project tool
            arcpy.Project_management(infc, outfc, outCS)
            
            # check messages
            print(arcpy.GetMessages())
            
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))
    
except Exception as ex:
    print(ex.args[0])

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы