Geometry

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

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

Обсуждение

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

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

Синтаксис

 Geometry (geometry, inputs, {spatial_reference}, {has_z}, {has_m}, {has_id})
ПараметрОписаниеТип данных
geometry

The geometry type.

  • point—The geometry is a point.
  • polygon—The geometry is a polygon.
  • polyline—The geometry is a polyline.
  • multipoint—The geometry is a multipoint.

String
inputs

The coordinate information used to create the object. The data type can be Point or Array objects.

Object
spatial_reference

The spatial reference of the new geometry.

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

SpatialReference
has_z

Specifies whether the geometry will be z-enabled.

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

Boolean
has_m

Specifies whether the geometry will be m-enabled.

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

Boolean
has_id

Specifies whether the geometry will support point IDs.

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

Boolean

Свойства

СвойствоОписаниеТип данных
JSON
(только чтение)

ПрEsriедставление геометрии JSON в виде строки.

Подсказка:

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

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

Стандартное двоичное (well-known binary, WKB) представление для геометрии OGC. Это свойство обеспечивает портативное представление значения геометрии в виде непрерывного потока байтов.

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

Стандартное текстовое (well-known text, WKT) представление для геометрии OGC. Это свойство обеспечивает портативное представление значения геометрии в виде текстовой строки.

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

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

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

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

Истинное положение центроида, если он расположен внутри объекта, иначе - точка надписи.

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

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

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

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

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

Определяет, сдержит ли геометрия кривую.

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

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

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

Определяет, содержит ли геометрия несколько частей.

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

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

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

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

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

Длина линейного объекта. В вычислениях используется 2D декартова математика.

Для точечной и многоточечной геометрии длина будет равна нулю. Для полигональной геометрии длина будет равняться 2D длине границы.

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

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

Для точечной и многоточечной геометрии длина будет равна нулю. Для полигональной геометрии длина будет равняться 3D длине границы.

Внимание:

Операция не выполняет преобразование единиц измерения между горизонтальной и вертикальной системами координат. Предполагается, что координаты x, y и z используют одну линейную единицу измерения.

Внимание:

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

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

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

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

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

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

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

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

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

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

Тип геометрии: polygon, polyline, point или multipoint.

String

Обзор метода

МетодОписание
angleAndDistanceTo (other, {method})

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

boundary ()

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

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

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

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

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

Оператор Clip
contains (second_geometry, {relation})

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

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

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

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

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

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

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

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

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

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

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

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

Оператор разрезания
densify (method, 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 ({method}, {units})

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

getLength ({method}, {units})

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

getPart ({index})

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

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

intersect (other, dimension)

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

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

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

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

measureOnLine (in_point, {use_percentage})

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

move ({dx}, {dy}, {dz})

Перемещает геометрию на заданные расстояния вдоль осей x, y и z для создания новой геометрии.

overlaps (second_geometry)

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

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

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

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

positionAlongLine (value, {use_percentage}, {geodesic})

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

projectAs (spatial_reference, {transformation_name})

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

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

queryPointAndDistance (in_point, {as_percentage})

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

scale ({origin}, {sx}, {sy}, {sz})

Масштабирует геометрию из указанного источника с заданными коэффициентами по осям x, y и z для создания новой геометрии. Положение трансформированной точки (или вершины) определяется

( (x - origin_x) * scale_x + origin_x, (y - origin_y) * scale_y + origin_y, (z - origin_z) * scale_z + origin_z )

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

Ниже описываются возможные варианты начала координат и их влияние на выходные данные:

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

    Начало координат находится вне геометрии

  • Началом координат является центроид геометрии (если центроид находится внутри геометрии или касается ее) - размер геометрии изменится, но ее местоположение останется привязанным к центроиду. Геометрия будет увеличиваться или уменьшаться вокруг центроида.

    Начало координат - центроид геометрии

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

    Начало координат - вершина геометрии

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})
ПараметрОписаниеТип данных
other

The second geometry. If the geometry is a polygon, the distance is measured to the centroid of the polygon.

PointGeometry
method

The method used to measure distance.

  • GEODESICThe shortest line between any two points on the earth's surface on a spheroid (ellipsoid). One use for a geodesic line is to determine the shortest distance between two cities for an airplane's flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
  • GREAT_ELLIPTICThe line on a spheroid (ellipsoid) defined by the intersection at the surface by a plane that passes through the center of the spheroid and the start and endpoints of a segment. This is also known as a great circle when a sphere is used.
  • LOXODROMEThe line follows a single compass bearing, or azimuth. Great circle routes are often broken into a series of loxodromes, which simplifies navigation. This is also known as a rhumb line.
  • PLANARPlanar measurements use 2D Cartesian mathematics to calculate lengths and areas. This option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. Planar measurements reflect the projection of geographic data onto a 2D surface, and do not account for the curvature of the earth.
  • PRESERVE_SHAPEThis type calculates the area or length of the geometry on the surface of the earth ellipsoid, for geometry defined in a projected or geographic coordinate system. This option preserves the shape of the geometry in its coordinate system.

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

String
Возвращаемое значение
Тип данныхОписание
tuple

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

boundary ()
Возвращаемое значение
Тип данныхОписание
Object

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

buffer (distance)
ПараметрОписаниеТип данных
distance

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

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

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

Double
Возвращаемое значение
Тип данныхОписание
Polygon

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

clip (envelope)
ПараметрОписаниеТип данных
envelope

An Extent object used to define the clip extent.

Extent
Возвращаемое значение
Тип данныхОписание
Object

Выходная геометрия вырезается до указанного экстента.

contains (second_geometry, {relation})
ПараметрОписаниеТип данных
second_geometry

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

Object
relation

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

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

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

String
Возвращаемое значение
Тип данныхОписание
Boolean

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

convexHull ()
Возвращаемое значение
Тип данныхОписание
Object

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

crosses (second_geometry)
ПараметрОписаниеТип данных
second_geometry

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

Object
Возвращаемое значение
Тип данныхОписание
Boolean

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

cut (cutter)
ПараметрОписаниеТип данных
cutter

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

PolyLine
Возвращаемое значение
Тип данныхОписание
Geometry

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

densify (method, distance, {deviation})
ПараметрОписаниеТип данных
method

The method of densification.

  • DISTANCECreates a feature that is a piecewise linear approximation of the input.
  • ANGLECreates a feature that is a piecewise linear approximation of the input. Vertices are introduced at points where the angle between tangents at those points is the provided angle.
  • GEODESICDensifies and reshapes segments between input vertices so that the output segments follow the shortest ground path connecting input vertices.
String
distance

The maximum distance between vertices. The actual distance between vertices will usually be less than the maximum distance, as new vertices will be evenly distributed along the original segment.

If using a type of DISTANCE or ANGLE, the distance is measured in the units of the geometry's spatial reference. If using a type of GEODESIC, the distance is measured in meters.

Double
deviation

Densify uses straight lines to approximate curves. You use deviation to control the accuracy of this approximation. The deviation is the maximum distance between the new segment and the original curve. The smaller its value, the more segments will be required to approximate the curve.

If using a type of DISTANCE, the deviation is measured in the units of the geometry's spatial reference. If using a type of ANGLE, the deviation is measured in radians. If using a type of GEODESIC, the deviation is not used.

Double
Возвращаемое значение
Тип данныхОписание
Geometry

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

difference (other)
ПараметрОписаниеТип данных
other

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

Object
Возвращаемое значение
Тип данныхОписание
Object

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

disjoint (second_geometry)
ПараметрОписаниеТип данных
second_geometry

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

Object
Возвращаемое значение
Тип данныхОписание
Boolean

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

distanceTo (other)
ПараметрОписаниеТип данных
other

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

Object
Возвращаемое значение
Тип данныхОписание
Double

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

equals (second_geometry)
ПараметрОписаниеТип данных
second_geometry

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

Object
Возвращаемое значение
Тип данныхОписание
Boolean

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

generalize (max_offset)
ПараметрОписаниеТип данных
max_offset

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

Double
Возвращаемое значение
Тип данныхОписание
Geometry

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

getArea ({method}, {units})
ПараметрОписаниеТип данных
method

The method used to measure area.

  • GEODESICThe shortest line between any two points on the earth's surface on a spheroid (ellipsoid). One use for a geodesic line is to determine the shortest distance between two cities for an airplane's flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
  • GREAT_ELLIPTICThe line on a spheroid (ellipsoid) defined by the intersection at the surface by a plane that passes through the center of the spheroid and the start and endpoints of a segment. This is also known as a great circle when a sphere is used.
  • LOXODROMEThe line follows a single compass bearing, or azimuth. Great circle routes are often broken into a series of loxodromes, which simplifies navigation. This is also known as a rhumb line.
  • PLANARPlanar measurements use 2D Cartesian mathematics to calculate lengths and areas. This option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. Planar measurements reflect the projection of geographic data onto a 2D surface, and do not account for the curvature of the earth.
  • PRESERVE_SHAPEThis type calculates the area or length of the geometry on the surface of the earth ellipsoid, for geometry defined in a projected or geographic coordinate system. This option preserves the shape of the geometry in its coordinate system.

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

String
units

The units in which the area will be calculated.

Learn more about area units

  • SquareKilometersSquare kilometers
  • HectaresHectares
  • AresAres
  • SquareMetersSquare meters
  • SquareDecimetersSquare decimeters
  • SquareCentimetersSquare centimeters
  • SquareMillimetersSquare millimeters
  • SquareMilesIntSquare statute miles
  • AcresIntInternational acres
  • SquareYardsIntSquare international yards
  • SquareFeetIntSquare international feet
  • SquareInchesIntSquare international inches
  • SquareMilesUSSquare US survey miles
  • AcresUSSquare US survey acres
  • SquareYardsUSSquare US survey yards
  • SquareFeetUSSquare US survey feet
  • SquareInchesUSSquare US survey inches
  • UnknownUnknown
String
Возвращаемое значение
Тип данныхОписание
Double

Площадь объекта.

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

getLength ({method}, {units})
ПараметрОписаниеТип данных
method

The method used to measure length.

  • GEODESICThe shortest line between any two points on the earth's surface on a spheroid (ellipsoid). One use for a geodesic line is to determine the shortest distance between two cities for an airplane's flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
  • GREAT_ELLIPTICThe line on a spheroid (ellipsoid) defined by the intersection at the surface by a plane that passes through the center of the spheroid and the start and endpoints of a segment. This is also known as a great circle when a sphere is used.
  • LOXODROMEThe line follows a single compass bearing, or azimuth. Great circle routes are often broken into a series of loxodromes, which simplifies navigation. This is also known as a rhumb line.
  • PLANARPlanar measurements use 2D Cartesian mathematics to calculate lengths and areas. This option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. Planar measurements reflect the projection of geographic data onto a 2D surface, and do not account for the curvature of the earth.
  • PRESERVE_SHAPEThis type calculates the area or length of the geometry on the surface of the earth ellipsoid, for geometry defined in a projected or geographic coordinate system. This option preserves the shape of the geometry in its coordinate system.

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

String
units

The units in which the length will be calculated.

Learn more about linear units

  • KilometersKilometers
  • MetersMeters
  • DecimetersDecimeters
  • MillimetersMillimeters
  • CentimetersCentimeters
  • NauticalMilesIntInternational nautical miles
  • MilesIntStatute miles
  • YardsIntInternational yards
  • FeetIntInternational feet
  • InchesIntInternational inches
  • NauticalMilesUS survey nautical miles
  • MilesUS survey miles
  • YardsUS survey yards
  • FeetUS survey feet
  • InchesUS survey inches
  • DecimalDegreesDecimal degrees
  • PointsPoints
  • UnknownUnknown
String
Возвращаемое значение
Тип данныхОписание
Double

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

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

getPart ({index})
ПараметрОписаниеТип данных
index

The index position of the geometry.

Integer
Возвращаемое значение
Тип данныхОписание
Array

Полученный в результате объект Array.

intersect (other, dimension)
ПараметрОписаниеТип данных
other

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

Object
dimension

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

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

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

measureOnLine (in_point, {use_percentage})
ПараметрОписаниеТип данных
in_point

A point (PointGeometry or Point) that is used to measure from the start point of the polyline.

If the point does not intersect the line, the function will use the nearest location on the line from the point.

PointGeometry
use_percentage

If False, the measure will be returned as a distance; if True, the measure will be returned as a percentage.

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

Boolean
Возвращаемое значение
Тип данныхОписание
Double

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

move ({dx}, {dy}, {dz})
ПараметрОписаниеТип данных
dx

The distance the geometry will be moved along the x-axis.

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

Double
dy

The distance the geometry will be moved along the y-axis.

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

Double
dz

The distance the geometry will be moved along the z-axis. The geometry must be z-aware and have z-values.

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

Double
Возвращаемое значение
Тип данныхОписание
Geometry

Выходная геометрия, перемещенная на заданные расстояния вдоль осей x, y и z.

overlaps (second_geometry)
ПараметрОписаниеТип данных
second_geometry

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

Object
Возвращаемое значение
Тип данныхОписание
Boolean

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

pointFromAngleAndDistance (angle, distance, {method})
ПараметрОписаниеТип данных
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}, {geodesic})
ПараметрОписаниеТип данных
value

The distance along the line.

If the distance is less than zero, the starting point of the line will be returned; if the distance is greater than the length of the line, the endpoint of the line will be returned.

Double
use_percentage

Specifies whether the distance is specified as a fixed unit of measure or a ratio of the length of the line.

If True, value is used as a percentage; if False, value is used as a distance. For percentages, the value should be expressed as a double from 0.0 (0 percent) to 1.0 (100 percent).

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

Boolean
geodesic

Specifies whether the distance measure is geodesic or planar. If True, the distance measure is treated as geodesic; if False, the distance measure is treated as planar.

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

Boolean
Возвращаемое значение
Тип данныхОписание
PointGeometry

Точка на линии, расположенная на заданном расстоянии от ее начала.

projectAs (spatial_reference, {transformation_name})
ПараметрОписаниеТип данных
spatial_reference

The spatial reference of the projected geometry. This 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

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

queryPointAndDistance (in_point, {as_percentage})
ПараметрОписаниеТип данных
in_point

The input point. Both PointGeometry and Point objects are accepted.

PointGeometry
as_percentage

If False, the measure will be returned as a distance; if True, the measure will be returned as a percentage.

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

Boolean
Возвращаемое значение
Тип данныхОписание
tuple

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

  • Объект PointGeometry, являющийся ближайшей точкой к in_point на полилинии.
  • Расстояние между начальной и возвращаемой точкой линии.
  • Минимальное расстояние между линией и in_point.
  • Значение Boolean, означающее, находится ли in_point на правой стороне линии. Направление линии определяет правую и левую ее стороны.

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

scale ({origin}, {sx}, {sy}, {sz})
ПараметрОписаниеТип данных
origin

The origin of the transformation. The argument can be either an arcpy.Point object or an arcpy.PointGeometry object.

The default origin, arcpy.Point(0.0, 0.0, 0.0), will usually be located outside the target geometry.

(Значение по умолчанию — arcpy.Point(0.0, 0.0, 0.0))

Point
sx

The factor that will be used to scale the geometry along the x-axis.

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

Double
sy

The factor that will be used to scale the geometry along the y-axis.

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

Double
sz

The factor that will be used to scale the geometry along the z-axis. The geometry must be z-aware and have z-values.

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

Double
Возвращаемое значение
Тип данныхОписание
Geometry

Выходная геометрия масштабируется от указанного начала координат с заданными коэффициентами по осям x, y и z.

segmentAlongLine (start_measure, end_measure, {use_percentage})
ПараметрОписаниеТип данных
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)
ПараметрОписаниеТип данных
in_point

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

PointGeometry
Возвращаемое значение
Тип данныхОписание
PointGeometry

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

symmetricDifference (other)
ПараметрОписаниеТип данных
other

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

Object
Возвращаемое значение
Тип данныхОписание
Object

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

touches (second_geometry)
ПараметрОписаниеТип данных
second_geometry

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

Object
Возвращаемое значение
Тип данныхОписание
Boolean

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

union (other)
ПараметрОписаниеТип данных
other

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

Object
Возвращаемое значение
Тип данныхОписание
Object

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

within (second_geometry, {relation})
ПараметрОписаниеТип данных
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))

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