Skip to main content

Polygon

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

Объект Polygon – замкнутая форма, определенная соединенной последовательностью пар координат XY.

Обсуждение

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

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

Вместо геометрических методов можно использовать следующие операторы:

Оператор Python

Геометрический метод

+

intersect

|

union

-

difference

^

symmetricDifference

==

equals

!=

not equals

Например, для объединения двух геометрических объектов, g3 = g1 | g2 является эквивалентом g3 = g1.union(g2).

Оператор + будет использовать тип геометрии (dimension) из первой геометрии для определения типа геометрии выходных данных.

Синтаксис

Polygon(inputs, {spatial_reference}, {has_z}, {has_m}, {has_id})

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

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})

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

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

other

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

PointGeometry

method

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

Specifies the method that will be used to measure distance.

  • GEODESIC—The 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_ELLIPTIC—The 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.

  • LOXODROME—The 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.

  • PLANAR—Planar 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.

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

String

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

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

tuple

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

boundary()

Постройте границу геометрии.

Оператор границы

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

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

Object

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

buffer(distance)

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

Оператор буфера

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

distance

The buffer distance.

The buffer distance is in the same units as the geometry that is being buffered.

A negative distance can only be specified for a polygon geometry.

Double

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

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

Polygon

Буферизованная полигональная геометрия.

clip(envelope)

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

Оператор Clip

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

envelope

An Extent object used to define the clip extent.

Extent

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

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

Object

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

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

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

convexHull()

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

Оператор ConvexHull

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

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

Object

Итоговая геометрия. Выпуклая оболочка одной точки — это сама точка.

crosses(second_geometry)

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

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

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

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

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

second_geometry

A second geometry.

Object

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

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

Boolean

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

cut(cutter)

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

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

Оператор разрезания

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

cutter

The cutting polyline geometry.

PolyLine

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

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

Geometry

Список из двух геометрий.

densify(method, distance, {deviation})

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

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

method

The method of densification.

  • DISTANCE—Creates a feature that is a piecewise linear approximation of the input.

  • ANGLE—Creates 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.

  • GEODESIC—Densifies 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

A second geometry.

Object

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

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

Object

Итоговая геометрия.

disjoint(second_geometry)

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

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

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

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

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

second_geometry

A second geometry.

Object

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

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

Boolean

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

distanceTo(other)

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

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

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

other

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

Object

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

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

Double

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

equals(second_geometry)

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

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

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

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

second_geometry

A second geometry.

Object

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

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

Boolean

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

generalize(max_offset)

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

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

max_offset

The maximum offset tolerance.

Double

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

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

Geometry

Генерализованная геометрия.

getArea({method}, {units})

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

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

method

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

The method used to measure area.

  • GEODESIC—The 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_ELLIPTIC—The 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.

  • LOXODROME—The 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.

  • PLANAR—Planar 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_SHAPE—This 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

  • SquareKilometers—Square kilometers

  • Hectares—Hectares

  • Ares—Ares

  • SquareMeters—Square meters

  • SquareDecimeters—Square decimeters

  • SquareCentimeters—Square centimeters

  • SquareMillimeters—Square millimeters

  • SquareMilesInt—Square statute miles

  • AcresInt—International acres

  • SquareYardsInt—Square international yards

  • SquareFeetInt—Square international feet

  • SquareInchesInt—Square international inches

  • SquareMilesUS—Square US survey miles

  • AcresUS—Square US survey acres

  • SquareYardsUS—Square US survey yards

  • SquareFeetUS—Square US survey feet

  • SquareInchesUS—Square US survey inches

  • Unknown—Unknown

String

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

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

Double

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

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

getLength({method}, {units})

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

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

method

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

The method used to measure length.

  • GEODESIC—The 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_ELLIPTIC—The 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.

  • LOXODROME—The 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.

  • PLANAR—Planar 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_SHAPE—This 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

  • Kilometers—Kilometers

  • Meters—Meters

  • Decimeters—Decimeters

  • Millimeters—Millimeters

  • Centimeters—Centimeters

  • NauticalMilesInt—International nautical miles

  • MilesInt—Statute miles

  • YardsInt—International yards

  • FeetInt—International feet

  • InchesInt—International inches

  • NauticalMiles—US survey nautical miles

  • Miles—US survey miles

  • Yards—US survey yards

  • Feet—US survey feet

  • Inches—US survey inches

  • DecimalDegrees—Decimal degrees

  • Points—Points

  • Unknown—Unknown

String

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

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

Double

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

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

getPart({index})

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

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

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

index

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

The index position of the geometry.

Integer

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

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

Array

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

intersect(other, dimension)

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

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

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

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

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

other

The second geometry.

Object

dimension

Specifies the topological dimension (shape type) of the resulting geometry.

  • 1—The geometry will be a zero-dimensional geometry (point or multipoint).

  • 2—The geometry will be a one-dimensional geometry (polyline).

  • 4—The geometry will be a two-dimensional geometry (polygon).

Integer

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

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

Object

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

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

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

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

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)

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

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

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

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

second_geometry

A second geometry.

Object

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

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

Boolean

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

pointFromAngleAndDistance(angle, distance, {method})

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

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

angle

The angle in degrees to the returned point.

Double

distance

The distance in the units of the geometry's spatial reference to the returned point.

Double

method

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

Specifies the method that will be used to measure distance.

  • GEODESIC—The 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_ELLIPTIC—The 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.

  • LOXODROME—The 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.

  • PLANAR—Planar 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.

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

String

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

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

PointGeometry

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

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

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

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

value

The distance along the line.

The distance will be evaluated based on the geodesic parameter value. If the geodesic parameter value is False, the distance will be evaluated in meters. If the geodesic parameter value is True, the distance will be evaluated in the units of the feature's spatial reference.

If the value exceeds the length of the line or precedes the length of the line (a negative value), the behaviour will depend on the geodesic parameter value as follows:

  • If the geodesic parameter value is False, exceeding the length of the line will return the endpoint of the line, and a negative distance value will return the starting point of the line.

  • If the geodesic parameter value is True, exceeding or preceding the length of the line will cause the method to fail.

Double

use_percentage

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

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

For percentages, express the value parameter as a double from 0.0 (0 percent) to 1.0 (100 percent).

Примечание:

This parameter is only supported when the geodesic parameter value is False.

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

Boolean

geodesic

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

Specifies whether the distance measure will be geodesic (True) or planar (False).

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

Boolean

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

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

PointGeometry

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

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

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

rotate({origin}, {rotation_angle})

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

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

Поворот не применяется к направлению z.

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

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

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

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

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

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

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

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

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), will usually be located outside the target geometry.

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

Point

rotation_angle

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

The angle, in radians, to rotate the geometry around its origin.

The default rotation angle is 0.0 radians (no rotation).

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

Float

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

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

Geometry

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

symmetricDifference(other)

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

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

Оператор symmetricDifference

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

other

A second geometry.

Object

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

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

Object

Итоговая геометрия.

touches(second_geometry)

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

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

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

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

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

second_geometry

A second geometry.

Object

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

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

Boolean

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

union(other)

Создает геометрию, которая объединяет в себе множественность входных геометрий.

Эти две геометрии должны иметь одинаковый тип конфигурации.

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

Порядок входных геометрий никак не влияет на выходные данные.

Оператор объединения

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

other

The second geometry.

Object

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

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

Object

Итоговая геометрия.

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

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

Пример кода

Пример полигона

Создайте класс полигональных объектов с нуля.

import arcpy

# Create a spatial reference from a wkid
spatial_ref = arcpy.SpatialReference(32145)

# A list of features and coordinate pairs
feature_info = [[[1, 2], [2, 4], [3, 7]],
                [[6, 8], [5, 7], [7, 2], [9, 5]]]

# A list that will contain the Polygon objects
features = []

# Create Polygon objects from an array of points
for feature in feature_info:
    array = arcpy.Array([arcpy.Point(*coords) for coords in feature])

    # Add the first coordinate pair to the end to close polygon
    array.append(array[0])

    polygon = arcpy.Polygon(array, spatial_ref)
    features.append(polygon)

# Persist a copy of the Polygon objects using CopyFeatures
arcpy.management.CopyFeatures(features, "c:/geometry/polygons.shp")