Geometry

Сводка

Объекты Geometry определяют пространственное положение и связанную с ним геометрическую форму.

Описание

Во многих рабочих процессах геообработки может потребоваться запустить определенную операцию, используя информацию о координатах и геометрии, при этом не желая проходить процесс создания нового (временного) класса пространственных объектов, отображения класса пространственных объектов с помощью курсоров, использования класса пространственных объектов, и последующего удаления временного класса пространственных объектов. Чтобы упростить геообработку, вместо этого в качестве входных и выходных данных можно использовать объекты геометрии. Объекты геометрии могут создаваться сначала, используя классы Geometry, Multipoint, PointGeometry, Polygon, или Polyline.

Синтаксис

 Geometry  (geometry, inputs, {spatial_reference}, {has_z}, {has_m})
ParameterОбъяснениеТип данных
geometry

Тип геометрии: точка, полигон, полилиния или мультиточка.

String
inputs

Координаты, используемые для создания объекта. Тип данных может быть Point или Array объектов.

Object
spatial_reference

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

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

SpatialReference
has_z

Статус Z: True для геометрии, если Z используются, и False – если нет.

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

Boolean
has_m

Статус M: True для геометрии, если M используются, и False– если нет.

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

Boolean

Свойства

ВладениеОбъяснениеТип данных
JSON
(только чтение)

Возвращает представление геометрии Esri JSON в виде строки.

Подсказка:

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

String
WKB
(только чтение)

Возвращает WKB-представление для геометрии OGC. Он обеспечивает портативное представление значения геометрии в виде непрерывного потока байтов.

Bytearray
WKT
(только чтение)

Возвращает WKT-представление для геометрии OGC. Он обеспечивает портативное представление значения геометрии в виде текстовой строки.

Любые истинные кривые в геометрии будут уплотнены в аппроксимируют кривые в строки WKT.

String
area
(только чтение)

Площадь объекта полигона. Ноль для всех остальных типов объектов.

Double
centroid
(только чтение)

Возвращается истинное положение центроида, если он расположен внутри объекта, иначе возвращается точка надписи.

Point
extent
(чтение и запись)

Экстент геометрии.

Extent
firstPoint
(только чтение)

Первая точка координат геометрии.

Point
hasCurves
(только чтение)

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

Boolean
hullRectangle
(только чтение)

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

String
isMultipart
(только чтение)

Возвращает True, если число частей этой геометрии более одного.

Boolean
labelPoint
(только чтение)

Точка расположения надписи. labelPoint всегда расположен внутри объекта или на нем.

Point
lastPoint
(только чтение)

Последняя координата объекта.

Point
length
(только чтение)

Длина линейного объекта. Ноль для точечных и мультиточечных объектов.

Double
length3D
(чтение и запись)

3D-длина линейного объекта. Ноль для точечных и мультиточечных объектов.

Double
partCount
(только чтение)

Количество частей пространственного объекта.

Integer
pointCount
(только чтение)

Общее количество точек объекта.

Integer
spatialReference
(только чтение)

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

SpatialReference
trueCentroid
(только чтение)

Центр тяжести пространственного объекта.

Point
type
(только чтение)

Тип геометрии: полигон, полилиния, точка, мультиточка, мультипатч, размер или аннотация.

String

Обзор метода

МетодОбъяснение
angleAndDistanceTo (other, {method})

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

boundary ()

Выстраивает границы геометрии.

Оператор границ
buffer (distance)

Выстраивает полигон на заданном расстоянии от геометрии.

Оператор буфера
clip (envelope)

Выстраивает пересечение геометрии и заданного экстента.

Оператор вырезания
contains (second_geometry, {relation})

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

contains является противоположностью within.

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

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

Выстраивает геометрию минимального ограничивающего полигона, внешние углы которого выпуклые.

Оператор ConvexHull
crosses (second_geometry)

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

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

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

Возможные отношения пересечения (crosses)
cut (cutter)

Разбивает эту геометрию на части слева от режущей полилинии и справа от нее.

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

Оператор разрезания
densify (type, distance, {deviation})

Создает новую геометрию с добавленными вершинами.

difference (other)

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

Оператор разности
disjoint (second_geometry)

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

Две геометрии пересекаются, если disjoint возвращает False.

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

Возможные отношения дизъюнктный (disjoint)
distanceTo (other)

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

Обе геометрии должны иметь одинаковую проекцию.

equals (second_geometry)

Указывает, имеют ли основная и сравнительная геометрии одинаковый тип формы и определяют ли они один и то же набор точек на плоскости. Сравнение производится только в 2D; значения M и Z не учитываются.

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

Возможные отношения тождества (equals)
generalize (max_offset)

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

getArea ({type}, {units})

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

getLength ({measurement_type}, {units})

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

getPart ({index})

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

Метод getPart эквивалентен индексированию объекта; т.е., obj.getPart(0) эквивалентен obj[0].

intersect (other, dimension)

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

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

Оператор пересечения

Для ускорения процесса проверьте, не являются ли данные две геометрии disjoint, перед вызовом intersect.

measureOnLine (in_point, {use_percentage})

Возвращает измерение расстояния от начальной точки этой линии до in_point.

overlaps (second_geometry)

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

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

Возможные отношения наложения
pointFromAngleAndDistance (angle, distance, {method})

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

positionAlongLine (value, {use_percentage})

Возвращает точку на линии на указанном расстоянии от начала линии.

projectAs (spatial_reference, {transformation_name})

Проецирует геометрию и дополнительно применяет географическое преобразование.

Для проецирования геометрия должна иметь пространственную привязку, значение UnknownCoordinateSystem не допускается. Новая система пространственной привязки, переданная методу, задает выходную систему координат. Если пространственная привязка неизвестна, координаты изменены не будут. Z-значения и измерения не меняются методом ProjectAs.

queryPointAndDistance (in_point, {as_percentage})

Находит точку на полилинии, ближайшую к in_point, и расстояние между этими точками. Также возвращает информацию о стороне линии, на которой находится in_point, а также расстояние до ближайшей точки.

segmentAlongLine (start_measure, end_measure, {use_percentage})

Возвращает Polyline между начальным и конечным измерениями. Подобно Polyline.positionAlongLine, но будет возвращать сегмент полилинии между двумя точками на полилинии вместо одной.

snapToLine (in_point)

Возвращает новую точку на основе in_point, замкнутой на этой геометрии.

symmetricDifference (other)

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

Обе входные геометрии должны быть одного типа.

оператор symmetricDifference
touches (second_geometry)

Указывает на то, что границы геометрии пересекаются.

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

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

Возможные отношения касания (touches)
union (other)

Строит геометрию, являющуюся теоретико-множественным объединением входных геометрий.

Обе объединяемые геометрии должны быть одного типа.

Оператор Union
within (second_geometry, {relation})

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

within является противоположностью оператора contains.

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

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

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

Методы

angleAndDistanceTo (other, {method})
ParameterОбъяснениеТип данных
other

Вторая геометрия.

PointGeometry
method

PLANAR измерения отражают проекцию географических данных на 2D поверхность (другими словами, они не будут учитывать кривизну Земли). Если требуется, то в качестве альтернативы можно выбрать типы измерений GEODESIC, GREAT_ELLIPTIC, LOXODROME и PRESERVE_SHAPE.

  • GEODESICКратчайшее расстояние между двумя любыми точками поверхности земли на сфероиде (эллипсоиде). Одна из областей применения геодезических линий – определение кратчайшего расстояния между двумя городами для траектории полета самолета. Также называется ортодромической линией, если в основе измерений лежит сфероид или эллипсоид.
  • GREAT_ELLIPTICЛиния на сфероиде (эллипсоиде), определяемая пересечением поверхности плоскостью, проходящей через центр сфероида, начальную и конечную точки сегмента. При использовании на сфере также называется ортодромией.
  • LOXODROMEЛоксодромия не является кратчайшим расстоянием между двумя точками, а задает линию постоянного пеленга или азимута. Маршруты ортодромии часто разбиваются на ряд линий локсодромии, что упрощает навигацию. Также называется локсодромой.
  • PLANARПлоскостные измерения используют двухмерную (2D) декартову математику для вычисления длин и площадей. Эта опция доступна только тогда, когда измерения производятся в системе координат проекции, и двухмерная плоскость этой системы координат будет использоваться как основание для измерений.
  • PRESERVE_SHAPEЭтот тип вычисляет площадь или длину геометрии на поверхности эллипсоида Земли для геометрии, заданной в системе координат проекции или географической системе координат. Эта опция сохраняет форму геометрии в своей системе координат.

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

String
Значение отраженного сигнала
Тип данныхОбъяснение
tuple

Возвращает кортеж из угла (в градусах) и расстояния (в метрах) до другой точки.

boundary ()
Значение отраженного сигнала
Тип данныхОбъяснение
Object

Границей полигона является полилиния. Границей полилинии является мультиточка, соответствующая конечным точкам линии. Границей точки или мультиточки является пустая точка или мультиточка.

buffer (distance)
ParameterОбъяснениеТип данных
distance

Буферное расстояние.

Буферное расстояние измеряется в тех же единицах, что и буферизуемая геометрия.

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

Double
Значение отраженного сигнала
Тип данныхОбъяснение
Polygon

Полигональная геометрия с буферизацией.

clip (envelope)
ParameterОбъяснениеТип данных
envelope

Объект экстента, используемый для определения экстента обрезания.

Extent
Значение отраженного сигнала
Тип данныхОбъяснение
Object

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

contains (second_geometry, {relation})
ParameterОбъяснениеТип данных
second_geometry

Вторая геометрия.

Object
relation

Типы пространственных отношений.

  • BOUNDARY У отношений нет ограничений для внутренних частей или границ.
  • CLEMENTINI Внутренние части геометрии должны пересекаться. Указание CLEMENTINI эквивалентно None. Используется по умолчанию.
  • PROPER Границы геометрии не должны пересекаться.

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

String
Значение отраженного сигнала
Тип данныхОбъяснение
Boolean

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

convexHull ()
Значение отраженного сигнала
Тип данныхОбъяснение
Object

Получившаяся геометрия. Выпуклой оболочкой точки является сама эта точка.

crosses (second_geometry)
ParameterОбъяснениеТип данных
second_geometry

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Boolean

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

cut (cutter)
ParameterОбъяснениеТип данных
cutter

Геометрия разрезающей полилинии

PolyLine
Значение отраженного сигнала
Тип данныхОбъяснение
Geometry

Перечень двух геометрий

densify (type, distance, {deviation})
ParameterОбъяснениеТип данных
type

Тип сгущения, DISTANCE, ANGLE или GEODESIC.

  • DISTANCEСоздаёт новый объект, который является кусочно-линейной аппроксимацией входного объекта.
  • ANGLEСоздаёт новый объект, который является кусочно-линейной аппроксимацией входного объекта. Вершины вводятся в точках, где угол между касательными в этих точках задан angle.
  • GEODESICУплотняет сегменты между входными вершинами и изменяет их форму так, чтобы выходные сегменты следовали наикратчайшему наземному пути, соединяющему входные вершины.
String
distance

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

При использовании type для DISTANCE или ANGLE, расстояние будет измеряться в единицах измерения системы координат геометрии. При использовании type для GEODESIC, расстояние будет измеряться в метрах.

Double
deviation

Уплотнение использует прямые линии для аппроксимации кривых. Вы используете deviation для контроля точности данной аппроксимации. Отклонение - это максимальное расстояние между новым сегментом и исходной кривой. Чем меньше значение, тем больше сегментов потребуется для аппроксимации кривой.

При использовании type для DISTANCE, отклонение будет измеряться в единицах измерения системы координат геометрии. При использовании type для ANGLE, отклонение будет измеряться в радианах. При использовании type для GEODESIC, отклонение не используется.

Double
Значение отраженного сигнала
Тип данныхОбъяснение
Geometry

Уплотнённая геометрия.

difference (other)
ParameterОбъяснениеТип данных
other

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Object

Получившаяся геометрия.

disjoint (second_geometry)
ParameterОбъяснениеТип данных
second_geometry

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Boolean

Возвращенное логическое значение True указывает, что у двух геометрий нет общих точек.

distanceTo (other)
ParameterОбъяснениеТип данных
other

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Double

Расстояние между двумя геометриями.

equals (second_geometry)
ParameterОбъяснениеТип данных
second_geometry

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Boolean

Полученное логическое значение Истина (True) указывает на то, что обе эти геометрии имеют одинаковый тип формы и определяют один и тот же набор точек на плоскости.

generalize (max_offset)
ParameterОбъяснениеТип данных
max_offset

Максимальный допуск смещения.

Double
Значение отраженного сигнала
Тип данныхОбъяснение
Geometry

Упрощенная геометрия.

getArea ({type}, {units})
ParameterОбъяснениеТип данных
type

PLANAR измерения отражают проекцию географических данных на 2D поверхность (другими словами, они не будут учитывать кривизну Земли). При необходимости, как альтернативу, можно выбрать типы измерений GEODESIC, GREAT_ELLIPTIC, LOXODROME и PRESERVE_SHAPE.

  • GEODESICКратчайшее расстояние между двумя любыми точками поверхности земли на сфероиде (эллипсоиде). Одна из областей применения геодезических линий – определение кратчайшего расстояния между двумя городами для траектории полета самолета. Также называется линией ортодромии, если в основе измерений лежит сфероид или эллипсоид.
  • GREAT_ELLIPTICЛиния на сфероиде (эллипсоиде), определяемая пересечением поверхности плоскостью, проходящей через центр сфероида, начальную и конечную точки сегмента. При использовании на сфере также называется ортодромией.
  • LOXODROMEЛоксодромия не является кратчайшим расстоянием между двумя точками, а задает линию постоянного пеленга или азимута. Маршруты ортодромии часто разбиваются на ряд линий локсодромии, что упрощает навигацию. Также называется локсодромой.
  • PLANARПлоскостные измерения используют двухмерную (2D) декартову математику для вычисления длин и площадей. Эта опция доступна только тогда, когда измерения производятся в системе координат проекции, и двухмерная плоскость этой системы координат будет использоваться как основание для измерений.
  • PRESERVE_SHAPEЭтот тип вычисляет площадь или длину геометрии на поверхности эллипсоида Земли для геометрии, заданной в системе координат проекции или географической системе координат. Эта опция сохраняет форму геометрии в своей системе координат.

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

String
units

Единицы, в которых будет рассчитываться площадь.

  • ACRESАкры
  • ARESАкры
  • HECTARESГектары
  • SQUARECENTIMETERSКвадратные сантиметры
  • SQUAREDECIMETERSКвадратные дециметры
  • SQUAREFEETКвадратные футы
  • SQUAREINCHESКвадратные дюймы
  • SQUAREKILOMETERSКвадратные километры
  • SQUAREMETERSКвадратные метры
  • SQUAREMILESКвадратные мили
  • SQUAREMILLIMETERSКвадратные миллиметры
  • SQUAREYARDSКвадратные ярды
String
Значение отраженного сигнала
Тип данныхОбъяснение
Double

Площадь геометрии объекта.

По умолчанию в системах координат проекции площадь возвращается в единицах системы координат, а для географических систем координат площадь возвращается в квадратных метрах.

getLength ({measurement_type}, {units})
ParameterОбъяснениеТип данных
measurement_type

PLANAR измерения отражают проекцию географических данных на 2D поверхность (другими словами, они не будут учитывать кривизну Земли). При необходимости, как альтернативу, можно выбрать типы измерений GEODESIC, GREAT_ELLIPTIC, LOXODROME и PRESERVE_SHAPE.

  • GEODESICКратчайшее расстояние между двумя любыми точками поверхности земли на сфероиде (эллипсоиде). Одна из областей применения геодезических линий – определение кратчайшего расстояния между двумя городами для траектории полета самолета. Также называется линией ортодромии, если в основе измерений лежит сфероид или эллипсоид.
  • GREAT_ELLIPTICЛиния на сфероиде (эллипсоиде), определяемая пересечением поверхности плоскостью, проходящей через центр сфероида, начальную и конечную точки сегмента. При использовании на сфере также называется ортодромией.
  • LOXODROMEЛоксодромия не является кратчайшим расстоянием между двумя точками, а задает линию постоянного пеленга или азимута. Маршруты ортодромии часто разбиваются на ряд линий локсодромии, что упрощает навигацию. Также называется локсодромой.
  • PLANARПлоскостные измерения используют двухмерную (2D) декартову математику для вычисления длин и площадей. Эта опция доступна только тогда, когда измерения производятся в системе координат проекции, и двухмерная плоскость этой системы координат будет использоваться как основание для измерений.
  • PRESERVE_SHAPEЭтот тип вычисляет площадь или длину геометрии на поверхности эллипсоида Земли для геометрии, заданной в системе координат проекции или географической системе координат. Эта опция сохраняет форму геометрии в своей системе координат.

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

String
units

Единицы, в которых рассчитывается длина.

  • CENTIMETERSСантиметры
  • DECIMETERSДециметры
  • FEETФуты
  • INCHESДюймы
  • KILOMETERSКилометры
  • METERSМетры
  • MILESМили
  • MILLIMETERSМиллиметры
  • NAUTICALMILESМорские мили
  • YARDSЯрды
String
Значение отраженного сигнала
Тип данныхОбъяснение
Double

Длина объекта.

По умолчанию, в системах координат проекции длина возвращается в единицах системы координат, а для географических систем координат длина возвращается в квадратных метрах.

getPart ({index})
ParameterОбъяснениеТип данных
index

Значение индекса геометрии.

Integer
Значение отраженного сигнала
Тип данныхОбъяснение
Array

getPart возвращает массив точечных объектов для конкретной части геометрии при указанном индексе. Если индекс не указан, возвращается массив, содержащий массивы точечных объектов для каждой части геометрии.

intersect (other, dimension)
ParameterОбъяснениеТип данных
other

Вторая геометрия.

Object
dimension

Топологическая размерность (тип формы) итоговой геометрии.

  • 1Геометрия с нулевой размерностью (точка или мультиточка).
  • 2Одномерная геометрия (полилиния).
  • 4Двумерная геометрия (полигон).
Integer
Значение отраженного сигнала
Тип данныхОбъяснение
Object

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

measureOnLine (in_point, {use_percentage})
ParameterОбъяснениеТип данных
in_point

Точка (PointGeometry или Point), которая используется для измерения расстояния от начальной точки полилинии.

PointGeometry
use_percentage

Если False, измерение возвращается как расстояние; если True, измерение возвращается в процентном отношении.

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

Boolean
Значение отраженного сигнала
Тип данныхОбъяснение
Double

Расстояние или процентное отношение.

overlaps (second_geometry)
ParameterОбъяснениеТип данных
second_geometry

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Boolean

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

pointFromAngleAndDistance (angle, distance, {method})
ParameterОбъяснениеТип данных
angle

Угол поворота до возвращённой точки в градусах.

Double
distance

Расстояние в единицах измерения пространственной привязки для возвращаемой точки.

Double
method

На измерения PLANAR влияет проецирование географических данных на двухмерную поверхность (т.е. кривизна земной поверхности не учитывается). В качестве альтернативы можно выбрать типы измерений GEODESIC, GREAT_ELLIPTIC, LOXODROME или PRESERVE_SHAPE, если необходимо.

  • GEODESICКратчайшее расстояние между двумя любыми точками поверхности земли на сфероиде (эллипсоиде). Одна из областей применения геодезических линий – определение кратчайшего расстояния между двумя городами для траектории полета самолета. Также называется ортодромической линией, если в основе измерений лежит сфероид или эллипсоид.
  • GREAT_ELLIPTICЛиния на сфероиде (эллипсоиде), определяемая пересечением поверхности плоскостью, проходящей через центр сфероида, начальную и конечную точки сегмента. При использовании на сфере также называется ортодромией.
  • LOXODROMEЛоксодромия не является кратчайшим расстоянием между двумя точками, а задает линию постоянного пеленга или азимута. Маршруты ортодромии часто разбиваются на ряд линий локсодромии, что упрощает навигацию. Также называется локсодромой.
  • PLANARПлоскостные измерения используют двухмерную (2D) декартову математику для вычисления длин и площадей. Эта опция доступна только тогда, когда измерения производятся в системе координат проекции, и двухмерная плоскость этой системы координат будет использоваться как основание для измерений.
  • PRESERVE_SHAPEЭтот тип вычисляет площадь или длину геометрии по эллипсоиду земной поверхности для геометрии, заданной в системе координат проекции или географической системе координат. Эта опция сохраняет форму геометрии в своей системе координат.

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

String
Значение отраженного сигнала
Тип данныхОбъяснение
PointGeometry

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

positionAlongLine (value, {use_percentage})
ParameterОбъяснениеТип данных
value

Расстояние вдоль линии.

Если расстояние меньше нуля, возвращается начальная точка линии. Если расстояние больше длины линии, возвращается конечная точка линии.

Double
use_percentage

Расстояние можно указать как фиксированную единицу измерения или отношение к длине линии.

Если значение равно True, value используется как процент; если значение равно False, value используется как расстояние. Для обозначения процентов значение должно быть выражено числом двойной точности (double) в диапазоне от 0,0 (0 %) до 1,0 (100 %).

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

Boolean
Значение отраженного сигнала
Тип данныхОбъяснение
PointGeometry

Точка на линии на указанном расстоянии от начала линии.

projectAs (spatial_reference, {transformation_name})
ParameterОбъяснениеТип данных
spatial_reference

Новая пространственная привязка. Это может быть объект SpatialReference или имя системы координат.

SpatialReference
transformation_name

Имя географического преобразования.

String
Значение отраженного сигнала
Тип данныхОбъяснение
Object

Проецированная геометрия.

queryPointAndDistance (in_point, {as_percentage})
ParameterОбъяснениеТип данных
in_point

Входная точка (PointGeometry или Point).

PointGeometry
as_percentage

Если False, измерение возвращается как расстояние; если True, измерение возвращается в процентном отношении.

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

Boolean
Значение отраженного сигнала
Тип данныхОбъяснение
tuple

Возвращает кортеж (tuple), включающий следующее:

  • Объект PointGeometry, являющийся ближайшей точкой на полилинии до in_point.
  • Расстояние между начальной точкой линии и возвращаемой точкой на линии.
  • Минимальное расстояние между линией и in_point.
  • Логический параметр, указывающий на расположение in_point на правой стороне линии. Направление линии, определяющее правую и левую стороны.
segmentAlongLine (start_measure, end_measure, {use_percentage})
ParameterОбъяснениеТип данных
start_measure

Начальное расстояние от начала линии.

Double
end_measure

Конечное расстояние от начала линии.

Double
use_percentage

Начальное и конечное измерения можно указать как в фиксированных единицах измерения, так и в виде отношения.

Если значение равно True, то start_measure и end_measure используются как проценты; если значение равно False, то start_measure и end_measure используются как расстояние. Для обозначения процентов измерения должны быть выражены числами двойной точности (double) в диапазоне от 0.0 (0 процентов) до 1,0 (100 процентов).

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

Boolean
Значение отраженного сигнала
Тип данныхОбъяснение
PolyLine

Сегмент линии между двумя точками.

snapToLine (in_point)
ParameterОбъяснениеТип данных
in_point

Точка (PointGeometry или Point), которую надо замкнуть на линии.

PointGeometry
Значение отраженного сигнала
Тип данныхОбъяснение
PointGeometry

Замкнутая точка.

symmetricDifference (other)
ParameterОбъяснениеТип данных
other

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Object

Получившаяся геометрия.

touches (second_geometry)
ParameterОбъяснениеТип данных
second_geometry

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Boolean

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

union (other)
ParameterОбъяснениеТип данных
other

Вторая геометрия.

Object
Значение отраженного сигнала
Тип данныхОбъяснение
Object

Получившаяся геометрия.

within (second_geometry, {relation})
ParameterОбъяснениеТип данных
second_geometry

Вторая геометрия.

Object
relation

Типы пространственных отношений.

  • BOUNDARY У отношений нет ограничений для внутренних частей или границ.
  • CLEMENTINI Внутренние части геометрии должны пересекаться. Указание CLEMENTINI эквивалентно None. Используется по умолчанию.
  • PROPER Границы геометрии не должны пересекаться.

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

String
Значение отраженного сигнала
Тип данныхОбъяснение
Boolean

Возвращенное логическое значение True указывает, что данная геометрия содержится внутри второй геометрии.

Пример кода

Пример использования Geometry

Если в качестве выходного параметра инструмента геообработки задать пустой объект Geometry, инструмент вернет список объектов Geometry.

import arcpy

# Run the Copy Features tool, setting the output to the geometry object.
# geometries is returned as a list of geometry objects.
geometries = arcpy.CopyFeatures_management("c:/data/streets.shp",
                                           arcpy.Geometry())

# Walk through each geometry, totaling the length
length = 0
for geometry in geometries:
    length += geometry.length

print("Total length: {0}".format(length))

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