Skip to main content

Extent

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

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

Обсуждение

Объект Extent обеспечивает работу операторов equal (==) и not equal (!=) для сравнения экстентов.

Примечание:

Если используются в качестве входных данных для инструментов Дополнительный модуль ArcGIS Spatial Analyst - Создать константный растр, Создать нормальный растр, Создать произвольный растр, Извлечь по прямоугольнику, Извлечь по маске и Топо в растр - то в них используются только значения XMin, YMin, XMax и YMax.

Синтаксис

Extent({XMin}, {YMin}, {XMax}, {YMax}, {ZMin}, {ZMax}, {MMin}, {MMax}, {spatial_reference})

Имя Объяснение Тип данных

XMin

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

Значение XMin экстента.

Double

YMin

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

Значение YMin экстента.

Double

XMax

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

Значение XMax экстента.

Double

YMax

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

Значение YMax экстента.

Double

ZMin

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

Значение ZMin экстента. Значение равно None, если z-значение отсутствует.

Double

ZMax

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

Значение ZMax экстента. Значение равно None, если z-значение отсутствует.

Double

MMin

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

Значение MMin экстента. Значение равно None, если m-значение отсутствует.

Double

MMax

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

Значение MMax экстента. Значение равно None, если m-значение отсутствует.

Double

spatial_reference

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

Пространственная привязка экстента.

SpatialReference

Свойства

Имя Объяснение Тип данных

JSON

(Только для чтения)

JSON-представление экстента в виде строки.

Подсказка:

Возвращаемая строка может быть конвертирована в словарь с помощью функции loads модуля json.

String

MMax

(Только для чтения)

Значение MMax экстента. Значение равно None, если m-значение отсутствует.

Double

MMin

(Только для чтения)

Значение MMin экстента. Значение равно None, если m-значение отсутствует.

Double

XMax

(Только для чтения)

Значение XMax экстента.

Double

XMin

(Только для чтения)

Значение XMin экстента.

Double

YMax

(Только для чтения)

Значение YMax экстента.

Double

YMin

(Только для чтения)

Значение YMin экстента.

Double

ZMax

(Только для чтения)

Значение ZMax экстента. Значение равно None, если z-значение отсутствует.

Double

ZMin

(Только для чтения)

Значение ZMin экстента. Значение равно None, если z-значение отсутствует.

Double

depth

(Только для чтения)

Значение глубины экстента. Значение равно None, если z-значение отсутствует.

Double

geohash

(Только для чтения)

Строка geohash экстента.

String

geohashCovers

(Только для чтения)

Список до четырех самых длинных строк geohash, которые помещаются в экстент.

String

geohashNeighbors

(Только для чтения)

Список соседних строк geohash для экстента.

String

height

(Только для чтения)

Значение высоты экстента.

Double

lowerLeft

(Только для чтения)

Свойство нижнего левого угла: возвращается объект точки.

Point

lowerRight

(Только для чтения)

Свойство нижнего правого угла: возвращается объект точки.

Point

polygon

(Только для чтения)

Возвращает объект Экстент в виде объекта полигона.

Polygon

spatialReference

(Только для чтения)

Пространственная привязка экстента.

SpatialReference

upperLeft

(Только для чтения)

Свойство верхнего левого угла: возвращается объект точки.

Point

upperRight

(Только для чтения)

Свойство верхнего правого угла: возвращается объект точки.

Point

width

(Только для чтения)

Ширина экстента.

Double

Методы

contains(second_geometry, {relation})

Указывает, содержит ли базовая геометрия геометрию сравнения.

Метод contains противоположен методу within.

На этом рисунке показаны только отношения True.

Возможно содержит отношения

Имя Объяснение Тип данных

second_geometry

A second geometry.

Object

relation

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

Specifies the spatial relationship type that will be used.

  • BOUNDARY—The relationship has no restrictions for interiors or boundaries.

  • CLEMENTINI— Interiors of geometries must intersect. This option is equivalent to specifying None. This is the default.

  • PROPER— Boundaries of geometries must not intersect.

(Значение по умолчанию — None)

String

Возвращаемое значение

Тип данных Объяснение

Boolean

Возвращает, содержит ли данная геометрия вторую геометрию.

crosses(second_geometry)

Указывает, пересекаются ли две геометрии в геометрии меньшего типа формы.

Две полилинии пересекаются, если у них есть только общие точки, по крайней мере одна из которых не является конечной точкой. Полилиния и полигон пересекаются, если они имеют общую полилинию или точку (для вертикальной линии) внутри полигона, которая не эквивалентна всей полилинии.

На этом рисунке показаны только отношения True.

Возможные перекрестные отношения

Имя Объяснение Тип данных

second_geometry

A second geometry.

Object

Возвращаемое значение

Тип данных Объяснение

Boolean

Возвращает, пересекаются ли две геометрии в геометрии меньшего типа формы.

disjoint(second_geometry)

Определяет, имеют ли базовая и сравнительная геометрии общие точки.

Когда этот метод возвращает False, две геометрии пересекаются.

На этом рисунке показаны только отношения True.

Возможные непересекающиеся отношения

Имя Объяснение Тип данных

second_geometry

A second geometry.

Object

Возвращаемое значение

Тип данных Объяснение

Boolean

Возвращает, имеют ли две геометрии общие точки.

equals(second_geometry)

Указывает, имеют ли базовая и сравнительная геометрии один и тот же тип формы и определяют ли они один и тот же набор точек на плоскости. Это только 2D-сравнение; значения m и z игнорируются.

На этом рисунке показаны только отношения True.

Возможные равные отношения

Имя Объяснение Тип данных

second_geometry

A second geometry.

Object

Возвращаемое значение

Тип данных Объяснение

Boolean

Возвращает, имеют ли две геометрии один и тот же тип формы и определяют ли они один и тот же набор точек на плоскости.

overlaps(second_geometry)

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

На этом рисунке показаны только отношения True.

Возможные отношения наложений

Имя Объяснение Тип данных

second_geometry

A second geometry.

Object

Возвращаемое значение

Тип данных Объяснение

Boolean

Возвращает, имеет ли пересечение двух геометрий ту же размерность, что и одна из входных геометрий.

projectAs(spatial_reference, {transformation_name})

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

Когда геометрический объект и целевая пространственная привязка имеют различный датум, укажите значение параметра transformation_name. Подробнее см. Географические преобразования датума и ListTransformations.

Вертикальные преобразования могут быть выполнены, когда выполнены следующие условия:

  • У объекта есть z-координаты.

  • Пространственная привязка объекта и значения параметра spatial_reference имеют заданную вертикальную систему координат.

  • Значение параметра transformation_name - вертикальное преобразование.

Когда параметр transformation_name имеет значение вертикальное преобразование и ни геометрический объект ни целевая пространственная привязка не имеют заданной вертикальной системы координат, функция завершит работу с ошибкой и выдаст исключение ValueError.

Когда геометрический объект или значение параметра spatial_reference равно неизвестной системе координат, пространственная привязка выходной геометрии будет задана из значения параметра spatial_reference. Не рекомендуется использовать неизвестную систему координат для выполнения анализа.

Метод projectAs не изменяет m-значения, если они присутствовали.

Имя Объяснение Тип данных

spatial_reference

The spatial reference to which the geometry will be projected. The value can be a SpatialReference object or the coordinate system name.

SpatialReference

transformation_name

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

The geotransformation name.

With ArcGIS Pro, if you do not specify a transformation, none will be applied. With ArcGIS Server, if you do not specify a transformation, a fallback transformation will be applied.

String

Возвращаемое значение

Тип данных Объяснение

Object

Геометрия после проецирования.

touches(second_geometry)

Определяет, пересекаются ли границы геометрий.

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

На этом рисунке показаны только отношения True.

Возможные отношения касаний

Имя Объяснение Тип данных

second_geometry

A second geometry.

Object

Возвращаемое значение

Тип данных Объяснение

Boolean

Возвращает, пересекаются ли границы геометрий.

within(second_geometry, {relation})

Указывает, находится ли базовая геометрия в пределах геометрии сравнения.

Метод within является обратным оператором метода contains.

На этом рисунке показаны только отношения True.

Возможные отношения "в пределах"

Базовая геометрия находится внутри сравниваемой геометрии, если она является пересечением геометрий, и пересечение их внутренних частей не является пустым. Метод within представляет собой оператор Клементини, за исключением случая пустой базовой геометрии.

Имя Объяснение Тип данных

second_geometry

A second geometry.

Object

relation

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

Specifies the spatial relationship type that will be used.

  • BOUNDARY—The relationship has no restrictions for interiors or boundaries.

  • CLEMENTINI— Interiors of geometries must intersect. This option is equivalent to specifying None. This is the default.

  • PROPER— Boundaries of geometries must not intersect.

(Значение по умолчанию — None)

String

Возвращаемое значение

Тип данных Объяснение

Boolean

Возвращает, находится ли базовая геометрия в пределах геометрии сравнения.

Пример кода

Образец экстента

Отображают свойства объекта Экстент (extent) для пространственных объектов.

import arcpy

feature_class = 'c:/Data/Florida.gdb/airports'

# Fetch each feature from the cursor and examine the extent properties
for row in arcpy.da.SearchCursor(feature_class, ['SHAPE@', 'CNTY_NAME']):
    extent = row[0].extent
    print('Extent of county {}:'.format(row[1]))
    print('XMin: {}, YMin: {}'.format(extent.XMin, extent.YMin))
    print('XMax: {}, YMax: {}'.format(extent.XMax, extent.YMax))