Краткая информация
Каждая часть пространственной привязки имеет множество свойств, в частности, систему координат, которая определяет, какие опции картографической проекции используются для определения горизонтальных координат.
Обсуждение
Объект SpatialReference так же может быть доступен из существующих наборов данных, используя свойство Describe spatialReference.
dataset = "c:/data/landbase.gdb/Wetlands"
spatial_ref = arcpy.Describe(dataset).spatialReferenceЭкстенты XY, Z и M – это не тоже самое, что домены в пространственной привязке. Домены XY, Z и M значений в пространственной привязке задают допустимый диапазон значений координат, которые можно сохранить в классе объектов. Экстенты класса объектов отражают реальный диапазон значений координат, в пределах которых располагаются объекты этого класса. Эти экстенты не могут быть больше, чем значения домена.
Примечание:
Какие свойства пространственной привязки доступны, зависит от используемой системы координат. В списке свойств, приведенном ниже, свойства, доступные с системой координат проекции, обозначаются цифрой 1; свойства, доступные только с географической системой координат, обозначаются цифрой 2.
Поскольку система координат проекции основана на географической системе координат, доступ к свойствам системы координат проекции можно получить из географической системы координат через свойство GCS.
Синтаксис
SpatialReference ({item}, {vcs}, text)| Параметр | Описание | Тип данных |
item | The horizontal coordinate system used to create the SpatialReference. The coordinate system can be set using a projection file, name, or factory code.
For more information about coordinate system names and factory codes, see the geographic_coordinate_systems.pdf and projected_coordinate_systems.pdf files. For more information, see Using the spatial reference class. | Variant |
vcs | The vertical coordinate system (VCS). The VCS defines information about the z-coordinates, and can be set using a name or factory code. See the following examples:
| Variant |
text | A well-known text (WKT) string that can be used to define a horizontal and vertical coordinate system.
| String |
Свойства
| Свойство | Описание | Тип данных |
| GCS (только чтение) | Система координат проекции для географической системы координат, лежащей в ее основе, возвращает объект SpatialReference. Географическая система координат возвращает тот же самый объект SpatialReference. | SpatialReference |
| MDomain (только чтение) | Экстент домена измерения. | String |
| MFalseOriginAndUnits (только чтение) | Смещение относительно начала координат для измерения и его единицы измерения. | String |
| MResolution (чтение и запись) | Разрешение измерения. | Double |
| MTolerance (чтение и запись) | Допуск измерения. | Double |
| VCS (только чтение) | Если в системе координат присутствует вертикальная система координат, для вертикальной системы координат, на которой она основана, возвращается объект VCS. | Object |
| XYResolution (чтение и запись) | Разрешение xy. | Double |
| XYTolerance (чтение и запись) | Допуск xy. | Double |
| ZDomain (только чтение) | Экстент z-домена. | String |
| ZFalseOriginAndUnits (только чтение) | Смещение относительно начала координат для z и единицы измерения. | String |
| ZResolution (чтение и запись) | Свойство z-разрешения. | Double |
| ZTolerance (чтение и запись) | Свойство z-допуска. | Double |
| abbreviation (чтение и запись) | Сокращенное имя пространственной привязки. | String |
| alias (чтение и запись) | Псевдоним пространственной привязки. | String |
| domain (только чтение) | Экстент домена xy. | String |
| factoryCode (чтение и запись) | Заводской код WKID пространственной привязки. | Integer |
| falseOriginAndUnits (только чтение) | Смещение относительно начала координат и единицы измерения. | String |
| hasMPrecision (только чтение) | Обозначает, была ли задана информация о точности m-значения. | Boolean |
| hasXYPrecision (только чтение) | Обозначает, была ли задана информация о точности xy. | Boolean |
| hasZPrecision (только чтение) | Обозначает, была ли задана информация о точности z-значения. | Boolean |
| isHighPrecision (чтение и запись) | Обозначает, была ли для пространственной привязки задана высокая точность. | Boolean |
| name (чтение и запись) | Имя пространственной привязки. | String |
| remarks (чтение и запись) | Строка комментария пространственной привязки. | String |
| type (чтение и запись) | Тип пространственной привязки.
| String |
| usage (только чтение) | Примечания по использованию. | String |
| PCSCode (чтение и запись) | Код системы координат проекции.1 | Integer |
| PCSName (чтение и запись) | Имя системы координат проекции.1 | String |
| azimuth (чтение и запись) | Азимут системы координат проекции.1 | Double |
| centralMeridian (чтение и запись) | Центральный меридиан системы координат проекции.1 | Double |
| centralMeridianInDegrees (чтение и запись) | Центральный меридиан (Lambda0) системы координат проекции в градусах.1 | Double |
| centralParallel (чтение и запись) | Центральная параллель системы координат проекции.1 | Double |
| classification (только чтение) | Классификация проекции карты.1 | String |
| falseEasting (чтение и запись) | Сдвиг на восток системы координат проекции.1 | Double |
| falseNorthing (чтение и запись) | Сдвиг на север системы координат проекции.1 | Double |
| latitudeOf1st (чтение и запись) | Широта первой точки системы координат проекции.1 | Double |
| latitudeOf2nd (чтение и запись) | Широта второй точки системы координат проекции.1 | Double |
| latitudeOfOrigin (чтение и запись) | Широта начала координат системы координат проекции.1 | Double |
| linearUnitCode (чтение и запись) | Код единицы длины.1 | Integer |
| linearUnitName (чтение и запись) | Название единицы длины.1 | String |
| longitude (чтение и запись) | Значение долготы этого начального меридиана.1 | Double |
| longitudeOf1st (чтение и запись) | Долгота первой точки системы координат проекции.1 | Double |
| longitudeOf2nd (чтение и запись) | Долгота второй точки системы координат проекции.1 | Double |
| longitudeOfOrigin (чтение и запись) | Долгота начала координат системы координат проекции.1 | Double |
| metersPerUnit (только чтение) | Количество метров в линейной единице.1 | Double |
| projectionCode (чтение и запись) | Код проекции.1 | Integer |
| projectionName (чтение и запись) | Имя проекции.1 | String |
| scaleFactor (чтение и запись) | Коэффициент масштабирования системы координат проекции.1 | Double |
| standardParallel1 (чтение и запись) | Первая параллель системы координат проекции.1 | Double |
| standardParallel2 (чтение и запись) | Вторая параллель системы координат проекции.1 | Double |
| GCSCode (чтение и запись) | Код географической системы координат.2 | Integer |
| GCSName (чтение и запись) | Имя географической системы координат.2 | String |
| angularUnitCode (чтение и запись) | Код единиц углов.2 | Integer |
| angularUnitName (чтение и запись) | Имя единиц углов.2 | String |
| datumCode (чтение и запись) | Код датума.2 | Integer |
| datumName (чтение и запись) | Имя датума.2 | String |
| flattening (чтение и запись) | Коэффициент сжатия этого сфероида.2 | Double |
| longitude (чтение и запись) | Значение долготы этого начального меридиана.2 | Double |
| primeMeridianCode (чтение и запись) | Код начального меридиана.2 | Integer |
| primeMeridianName (чтение и запись) | Имя начального меридиана.2 | String |
| radiansPerUnit (только чтение) | Радианы в угловых единицах.2 | Double |
| semiMajorAxis (чтение и запись) | Длина большой полуоси этого сфероида.2 | Double |
| semiMinorAxis (чтение и запись) | Длина большой полуоси этого сфероида.2 | Double |
| spheroidCode (чтение и запись) | Код сфероида.2 | Integer |
| spheroidName (чтение и запись) | Имя сфероида.2 | String |
Обзор метода
| Метод | Описание |
| create () | Создает объект SpatialReference, используя свойства. |
| createFromFile (prj_file) | Создает объект SpatialReference из файла проекции. |
| exportToString () | Экспортирует объект в его строковое представление. |
| loadFromString (string) | Восстановление и обновление объекта пространственной привязки с помощью строки WKT Метод exportToString может использоваться для экспорта строки WKT пространственной привязки.
|
| setDomain (x_min, x_max, y_min, y_max) | Задает домен XY. |
| setFalseOriginAndUnits (false_x, false_y, xy_units) | Задает смещение относительно начала координат для XY и единицы измерения. |
| setMDomain (m_min, m_max) | Задает домен M. |
| setMFalseOriginAndUnits (false_m, m_units) | Задает смещение относительно начала координат для M и единицы измерения. |
| setZDomain (z_min, z_max) | Задает домен Z. |
| setZFalseOriginAndUnits (false_z, z_units) | Задает смещение относительно начала координат для Z и единицы измерения. |
Методы
create ()
createFromFile (prj_file)
| Параметр | Описание | Тип данных |
prj_file | The projection file used to populate the SpatialReference object. | String |
exportToString ()
| Тип данных | Описание |
| String | WKT-строковое представление объекта. |
loadFromString (string)
| Параметр | Описание | Тип данных |
string | The WKT string representation of the object. | String |
setDomain (x_min, x_max, y_min, y_max)
| Параметр | Описание | Тип данных |
x_min | Минимальное x-значение. | Double |
x_max | Максимальное x-значение. | Double |
y_min | Минимальное y-значение. | Double |
y_max | Максимальное y-значение. | Double |
setFalseOriginAndUnits (false_x, false_y, xy_units)
| Параметр | Описание | Тип данных |
false_x | Ложное значение x. | Double |
false_y | Ложное значение y. | Double |
xy_units | Единицы измерения xy. | String |
setMDomain (m_min, m_max)
| Параметр | Описание | Тип данных |
m_min | Минимальное m-значение. | Double |
m_max | Максимальное m-значение. | Double |
setMFalseOriginAndUnits (false_m, m_units)
| Параметр | Описание | Тип данных |
false_m | Смещение m-значения. | Double |
m_units | Единицы измерения m. | Double |
setZDomain (z_min, z_max)
| Параметр | Описание | Тип данных |
z_min | Минимальное z-значение. | Double |
z_max | Максимальное z-значение. | Double |
setZFalseOriginAndUnits (false_z, z_units)
| Параметр | Описание | Тип данных |
false_z | Смещение z-значения. | Double |
z_units | Единицы измерения смещения z. | Double |
Пример кода
Для каждого класса пространственных объектов в рабочей области укажите имя его пространственной привязки.
import arcpy
# Set the workspace environment
arcpy.env.workspace = "c:/base/base.gdb"
# Get a list of the feature classes in the input folder
feature_classes = arcpy.ListFeatureClasses()
# Loop through the list
for fc in feature_classes:
# Create the spatial reference object
spatial_ref = arcpy.Describe(fc).spatialReference
# If the spatial reference is unknown
if spatial_ref.name == "Unknown":
print("{} has an unknown spatial reference".format(fc))
# Otherwise, print out the feature class name and spatial reference
else:
print("{} : {}".format(fc, spatial_ref.name))