ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

Справка

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Больше...

Использование объектов геометрии с инструментами геообработки

  • Использование геометрии в качестве входных данных
  • Вывод объектов геометрии

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

Использование геометрии в качестве входных данных

Следующий пример иллюстрирует использование объекта геометрии полигона в качестве списка координат x,y. Затем используется инструмент Вырезание (Clip), чтобы вырезать класс пространственных объектов с объектом геометрии полигона.

import arcpy

# Create an Array object.
#
array = arcpy.Array()

# List of coordinates.
#
coordinates = [[1.0, 1.0], [1.0, 10.0], [10.0, 10.0], [10.0, 1.0]]

# For each coordinate set, create a point object and add the x- and 
#   y-coordinates to the point object, then add the point object 
#   to the array object.
#
for x, y in coordinates:
    pnt = arcpy.Point(x, y)
    array.add(pnt)

# Add in the first point of the array again to close the polygon boundary
#
array.add(array.getObject(0))

# Create a polygon geometry object using the array object
#
boundary = arcpy.Polygon(array)

# Use the geometry to clip an input feature class
#
arcpy.Clip_analysis('c:/data/rivers.shp', boundary, 'c:/data/rivers_clipped.shp')

Вывод объектов геометрии

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

import arcpy

# Run the CopyFeatures tool, setting the output to a geometry object.  
#  geometries is returned as a list of geometry objects.
#  
geometries = arcpy.CopyFeatures_management('c:/temp/outlines.shp', arcpy.Geometry())

# Walk through each geometry, totaling the length
#
length = sum([g.length for g in geometries])

print('Total length: {}'.format(length))

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

  • Доступ к данным с помощью курсоров
  • Определение запроса в Python
  • Считывание геометрии
  • Запись геометрии

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация