Краткая информация
Объекты геометрии задают пространственное расположение и связанную геометрическую форму.
Обсуждение
Во многих рабочих процессах геообработки может потребоваться запустить определенную операцию, используя информацию о координатах и геометрии, при этом не желая проходить процесс создания нового (временного) класса пространственных объектов, отображения класса пространственных объектов с помощью курсоров, использования класса пространственных объектов, и последующего удаления временного класса пространственных объектов. Чтобы упростить геообработку, вместо этого в качестве входных и выходных данных можно использовать объекты геометрии. Объекты геометрии могут создаваться с нуля с использованием классов Geometry, Multipoint, PointGeometry, Polygon или Polyline.
В ходе создания геометрического объекта выполняется процесс упрощения, чтобы геометрия стала топологически согласованной в соответствии с выбранным типом. Например, он исправляет полигоны, которые могут быть самопересекающимися или содержать некорректные ориентации колец. Координаты могут быть смещены в рамках разрешения пространственной привязки геометрии.
Синтаксис
Geometry (geometry, inputs, {spatial_reference}, {has_z}, {has_m}, {has_id})| Параметр | Описание | Тип данных |
geometry | The geometry type.
| 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) | Строит пересечение геометрии и заданного экстента. ![]() |
| contains (second_geometry, {relation}) | Указывает, содержит ли базовая геометрия геометрию сравнения. Метод contains противоположен методу within. На этом рисунке показаны только отношения True.
|
| convexHull () | Создает геометрию, представляющую собой минимальный ограничивающий полигон, все внешние углы которого выпуклые.
|
| crosses (second_geometry) | Указывает, пересекаются ли две геометрии в геометрии меньшего типа формы. Две полилинии пересекаются, если у них есть только общие точки, по крайней мере одна из которых не является конечной точкой. Полилиния и полигон пересекаются, если они имеют общую полилинию или точку (для вертикальной линии) внутри полигона, которая не эквивалентна всей полилинии. На этом рисунке показаны только отношения True.
|
| cut (cutter) | Разделите геометрию на части слева и справа от разрезающей полилинии. Когда полилиния или многоугольник разрезаны, они разбиваются в месте пересечения с разрезающей полилинией. Каждая часть классифицируется как левая или правая от разрезающей. Эта классификация основана на ориентации разрезающей линии. Части целевой полилинии, которые не пересекают разрезающую полилинию, возвращаются как правая часть результата для этой входной полилинии. Если геометрия не разрезана, левая геометрия будет пустой (None).
|
| densify (method, distance, {deviation}) | Создает геометрию с добавленными вершинами. |
| difference (other) | Постройте геометрию, состоящую только из региона, уникального для базовой геометрии, но не являющегося частью другой геометрии. На следующем рисунке показаны результаты, когда красный полигон является исходной геометрией:
|
| disjoint (second_geometry) | Определяет, имеют ли базовая и сравнительная геометрии общие точки. Когда этот метод возвращает False, две геометрии пересекаются. На этом рисунке показаны только отношения True.
|
| distanceTo (other) | Возвращает минимальное расстояние между двумя геометриями. Расстояние измеряться в единицах системы координат геометрии. Если геометрии пересекаются, минимальное расстояние будет равно нулю. Обе геометрии должны иметь одинаковую проекцию. |
| equals (second_geometry) | Указывает, имеют ли базовая и сравнительная геометрии один и тот же тип формы и определяют ли они один и тот же набор точек на плоскости. Это только 2D-сравнение; значения m и z игнорируются. На этом рисунке показаны только отношения True.
|
| 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}) | Проецирует геометрию из одной пространственной привязки в другую. Когда геометрический объект и целевая пространственная привязка имеют различный датум, укажите значение параметра transformation_name. Подробнее см. Географические преобразования датума и ListTransformations. Вертикальные преобразования могут быть выполнены, когда выполнены следующие условия:
Когда параметр transformation_name имеет значение вертикальное преобразование и ни геометрический объект ни целевая пространственная привязка не имеют заданной вертикальной системы координат, функция завершит работу с ошибкой и выдаст исключение ValueError. Когда геометрический объект или значение параметра spatial_reference равно неизвестной системе координат, пространственная привязка выходной геометрии будет задана из значения параметра spatial_reference. Не рекомендуется использовать неизвестную систему координат для выполнения анализа. Метод projectAs не изменяет m-значения, если они присутствовали. |
| queryPointAndDistance (in_point, {as_percentage}) | Находит точку на полилинии, ближайшую к in_point, и расстояние между этими точками. Возвращается также информация о стороне линии, на которой находится точка, и о расстоянии вдоль линии, где находится ближайшая точка. |
| rotate ({origin}, {rotation_angle}) | Поворачивает геометрию вокруг указанного начала координат на число градусов, указанных в радианах. Вращение применяется относительно начала координат, так что геометрия вращается вокруг начала координат. Положение повернутой геометрии существенно зависит от выбора начала координат. Поворот не применяется к направлению z. Ниже описываются возможные варианты начала координат и их влияние на выходные данные:
|
| scale ({origin}, {sx}, {sy}, {sz}) | Масштабирует геометрию из указанного источника с заданными коэффициентами по осям x, y и z для создания новой геометрии. Положение трансформированной точки (или вершины) определяется Преобразование применяется относительно начала координат, и начало координат остается неподвижным, в то время как геометрия расширяется или сжимается вокруг него. На положение и направление расширения или сжатия получаемой геометрии существенно влияет начало координат. Ниже описываются возможные варианты начала координат и их влияние на выходные данные:
|
| segmentAlongLine (start_measure, end_measure, {use_percentage}) | Возвращает Polyline между начальными и конечными измерениями. Похоже на метод Polyline.positionAlongLine, но возвращает сегмент полилинии между двумя точками полилинии вместо одной точки. |
| snapToLine (in_point) | Возвращает новую точку на основе точки, замкнутую на этой геометрии. |
| symmetricDifference (other) | Строит геометрию, представляющую собой объединение двух геометрий за вычетом пересечения этих геометрий. Эти две входные геометрии должны иметь одинаковый тип конфигурации.
|
| touches (second_geometry) | Определяет, пересекаются ли границы геометрий. Две геометрии соприкасаются, когда пересечение геометрий не пусто, но пересечение их внутренних частей пусто. Например, точка касается полилинии только в том случае, если она совпадает с одной из конечных точек полилинии. На этом рисунке показаны только отношения True.
|
| union (other) | Создает геометрию, которая объединяет в себе множественность входных геометрий. Эти две геометрии должны иметь одинаковый тип конфигурации. В результате получается единая геометрия, представляющая собой сочетание обеих входных геометрий. Все, что находится в пределах любой из входных геометрий, будет частью полученного результата. Однако все, что является общим для обеих геометрий, будет присутствовать в этом результате только один раз. Порядок входных геометрий никак не влияет на выходные данные.
|
| 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 | Specifies the method that will be used to measure distance.
(Значение по умолчанию — 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)
| Параметр | Описание | Тип данных |
envelope | An Extent object used to define the clip extent. | Extent |
| Тип данных | Описание |
| Object | Выходная геометрия вырезается до указанного экстента. |
contains (second_geometry, {relation})| Параметр | Описание | Тип данных |
second_geometry | A second geometry. | Object |
relation | Specifies the spatial relationship type that will be used.
(Значение по умолчанию — None) | String |
| Тип данных | Описание |
| Boolean |
Возвращает, содержит ли данная геометрия вторую геометрию. |
convexHull ()
| Тип данных | Описание |
| Object | Итоговая геометрия. Выпуклая оболочка одной точки — это сама точка. |
crosses (second_geometry)
| Параметр | Описание | Тип данных |
second_geometry | A second geometry. | Object |
| Тип данных | Описание |
| Boolean | Возвращает, пересекаются ли две геометрии в геометрии меньшего типа формы. |
cut (cutter)
| Параметр | Описание | Тип данных |
cutter | The cutting polyline geometry. | PolyLine |
| Тип данных | Описание |
| Geometry | Список из двух геометрий. |
densify (method, distance, {deviation})| Параметр | Описание | Тип данных |
method | The method of densification.
| 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)
| Параметр | Описание | Тип данных |
second_geometry | A second geometry. | Object |
| Тип данных | Описание |
| Boolean | Возвращает, имеют ли две геометрии общие точки. |
distanceTo (other)
| Параметр | Описание | Тип данных |
other | Вторая геометрия. | Object |
| Тип данных | Описание |
| Double | Расстояние между двумя геометриями. |
equals (second_geometry)
| Параметр | Описание | Тип данных |
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) | String |
units | The units in which the area will be calculated.
| String |
| Тип данных | Описание |
| Double | Площадь объекта. По умолчанию в системах координат проекции площадь возвращается в единицах системы координат, а для географических систем координат площадь возвращается в квадратных метрах. |
getLength ({method}, {units})| Параметр | Описание | Тип данных |
method | The method used to measure length.
(Значение по умолчанию — GEODESIC) | String |
units | The units in which the length will be calculated.
| String |
| Тип данных | Описание |
| Double | Длина объекта. По умолчанию в системах координат проекции длина возвращается в единицах системы координат, а для географических систем координат длина возвращается в метрах. |
getPart ({index})| Параметр | Описание | Тип данных |
index | The index position of the geometry. | Integer |
| Тип данных | Описание |
| Array | Полученный в результате объект Array. |
intersect (other, dimension)
| Параметр | Описание | Тип данных |
other | The second geometry. | Object |
dimension | Specifies the topological dimension (shape type) of the resulting geometry.
| 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 | 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) | 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:
| 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})| Параметр | Описание | Тип данных |
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 | Геометрия после проецирования. |
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 | Возвращает кортеж, содержащий следующее:
Расстояние измеряется в единицах измерения пространственной привязки геометрии. |
rotate ({origin}, {rotation_angle})| Параметр | Описание | Тип данных |
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})| Параметр | Описание | Тип данных |
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 | The starting distance from the beginning of the line. | Double |
end_measure | The ending distance from the beginning of the line. | Double |
use_percentage | Specifies whether the start and end measures are used as a percentage. If True, the start_measure and end_measure parameter values are used as a percentage. If False, the start_measure and end_measure parameter values are used as a distance. For percentages, the measures should be expressed as a double from 0.0 (0 percent) to 1.0 (100 percent). (Значение по умолчанию — False) | Boolean |
| Тип данных | Описание |
| PolyLine | Сегмент линии между двумя точками. |
snapToLine (in_point)
| Параметр | Описание | Тип данных |
in_point | The point (PointGeometry or Point) that will be snapped to the line. | PointGeometry |
| Тип данных | Описание |
| PointGeometry | Замкнутая точка. |
symmetricDifference (other)
| Параметр | Описание | Тип данных |
other | A second geometry. | Object |
| Тип данных | Описание |
| Object | Итоговая геометрия. |
touches (second_geometry)
| Параметр | Описание | Тип данных |
second_geometry | A second geometry. | Object |
| Тип данных | Описание |
| Boolean | Возвращает, пересекаются ли границы геометрий. |
union (other)
| Параметр | Описание | Тип данных |
other | The second geometry. | Object |
| Тип данных | Описание |
| Object | Итоговая геометрия. |
within (second_geometry, {relation})| Параметр | Описание | Тип данных |
second_geometry | A second geometry. | Object |
relation | Specifies the spatial relationship type that will be used.
(Значение по умолчанию — None) | String |
| Тип данных | Описание |
| Boolean | Возвращает, находится ли базовая геометрия в пределах геометрии сравнения. |
Пример кода
Когда вы задает выходной параметр инструмента геообработки как пустой объект 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.management.CopyFeatures("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))


















