Краткая информация
Каждая часть пространственной привязки имеет множество свойств, в частности, систему координат, которая определяет, какие опции картографической проекции используются для определения горизонтальных координат.
Обсуждение
Объект SpatialReference так же может быть доступен из существующих наборов данных, используя свойство Describe spatialReference.
dataset = "c:/data/landbase.gdb/Wetlands"
spatial_ref = arcpy.Describe(dataset).spatialReference
Экстенты XY, Z и M – это не тоже самое, что домены в пространственной привязке. Домены XY, Z и M значений в пространственной привязке задают допустимый диапазон значений координат, которые можно сохранить в классе объектов. Экстенты класса объектов отражают реальный диапазон значений координат, в пределах которых располагаются объекты этого класса. Эти экстенты не могут быть больше, чем значения домена.
Объект SpatialReference обеспечивает работу операторов equal (==) и not equal (!=) для сравнения пространственных привязок.
Примечание:
Какие свойства пространственной привязки доступны, зависит от используемой системы координат. В списке свойств, приведенном ниже, свойства, доступные с системой координат проекции, обозначаются цифрой 1; свойства, доступные только с географической системой координат, обозначаются цифрой 2.
Поскольку система координат проекции основана на географической системе координат, доступ к свойствам системы координат проекции можно получить из географической системы координат с помощью свойства GCS.
Синтаксис
SpatialReference ({item}, {vcs}, {text})
Параметр | Описание | Тип данных |
item | The horizontal coordinate system used to create the SpatialReference object. The coordinate system can be set using a projection file, name, or factory code. Create a SpatialReference object using the display name of a coordinate system.
Create a SpatialReference object using the canonical name of a coordinate system.
Create a SpatialReference object using a coordinate system's factory code (or authority code or WKID).
Create a SpatialReference object using a projection file (.prj).
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: Define the vertical coordinate system using a name.
Define the vertical coordinate system using a factory code.
| Variant |
text | A well-known text (WKT or WKT2 format) string that can be used to define a horizontal and vertical coordinate system. Примечание:When creating a SpatialReference object with a vertical coordinate system using the text argument, define the vertical coordinate system using the VERTCS section of the WKT string. The vcs argument is not used. Create a SpatialReference object using a WKT string with a horizontal coordinate system.
Create a SpatialReference object using a WKT2 string with a horizontal coordinate system.
Create a SpatialReference object using a WKT string with a horizontal and vertical coordinate system.
| String |
Свойства
Свойство | Описание | Тип данных |
GCS (только чтение) | Система координат проекции для географической системы координат, лежащей в ее основе, возвращает объект SpatialReference. Географическая система координат возвращает то же самое значение SpatialReference. | SpatialReference |
MDomain (только чтение) | Экстент домена измерения. | String |
MFalseOriginAndUnits (только чтение) | Смещение относительно начала координат для измерения и его единицы измерения. | String |
MResolution (чтение и запись) | Разрешение измерения. | Double |
MTolerance (чтение и запись) | Допуск измерения. | Double |
VCS (только чтение) | Если в системе координат присутствует вертикальная система координат, свойство возвращает объект VCS, который определяет вертикальную систему координат. | Object |
XYResolution (чтение и запись) | Разрешение x,y. | Double |
XYTolerance (чтение и запись) | Допуск x,y. | Double |
ZDomain (только чтение) | Экстент z-домена. | String |
ZFalseOriginAndUnits (только чтение) | Смещение относительно начала координат для z и единицы измерения. | String |
ZResolution (чтение и запись) | Разрешение Z. | Double |
ZTolerance (чтение и запись) | Допуск Z. | Double |
abbreviation (чтение и запись) | Сокращенное имя пространственной привязки. | String |
alias (чтение и запись) | Псевдоним пространственной привязки. | String |
domain (только чтение) | Экстент домена x,y. | 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 ({encoding}) | Экспортирует объект в его строковое представление. |
loadFromString (string) | Определяет объект SpatialReference из строки 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 ({encoding})
Параметр | Описание | Тип данных |
encoding | Specifies the encoding of the exported string.
(Значение по умолчанию — WKT) | String |
Тип данных | Описание |
String | WKT или WKT 2 представление объекта. |
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(r"{fc} has an unknown spatial reference")
# Otherwise, print out the feature class name and spatial reference
else:
print(f"{fc} : {spatial_ref.name}")