ArcGIS Desktop

  • Документация
  • Поддержка

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

Полигон в линию

  • Краткая информация
  • Иллюстрация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

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

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

Иллюстрация

Иллюстрация Полигон в линию

Использование

  • Если отмечено Идентифицировать и сохранять информацию о соседних полигонах (Identify and store polygon neighboring information) (опция neighbor_option установлена на IDENTIFY_NEIGHBORS в скриптах), то будут анализироваться отношения между соседними полигонами. Как показано на иллюстрации выше, границы конвертируются в линии с учетом пересечений и общих сегментов; два новых поля, LEFT_FID и RIGHT_FID, добавлены в выходной класс объектов и установлены в качестве идентификаторов объектов входных полигонов слева и справа от каждой выходной линии. Атрибуты входных объектов не будут поддерживаться в выходном классе объектов. Ниже детально проанализирован сам процесс и варианты выходных данных:

    • В полигональной геометрии, выходная граница всегда строится в направлении по часовой стрелке. Если полигон имеет отверстие, граница отверстия (или внутренняя граница) всегда сохраняется в направлении против часовой стрелки. Таким образом, для полигона, у которого нет соседей слева (с внешней стороны) от его внешней границы и слева (с внутренней стороны) от границы отверстия, результирующие линии будут иметь значение -1 для LEFT_FID и идентификатор полигонального объекта как RIGHT_FID.
    • Если полигон содержит другой полигон, будет создана одна выходная линия в направлении по часовой стрелке, представляющая общую границу, где LEFT_FID установлен на идентификатор объекта внешнего полигона, а RIGHT_FID установлен на идентификатор объекта внутреннего полигона.
    • Если два полигона имеют общую часть границы, будет создана одна выходная линия, представляющая общий сегмент. Направление линии будет произвольным; LEFT_FID и RIGHT_FID будут установлены на идентификатор левого и правого полигональных объектов соответственно.
    • Если полигон перекрывает другой полигон, будут созданы две выходные линии, представляющие каждую границу пересечения дважды: первая линия представляет внешнюю границу одного из перекрывающихся полигонов, таким образом, LEFT_FID – это идентификатор объекта пересекаемого полигона, а RIGHT_FID будет ее собственным идентификатором полигона; вторая линия проходит в противоположном направлении, разбивая другой полигон, таким образом, LEFT_FID и RIGHT_FID будут такими же, как и другой идентификатор полигонального объекта.
    • Составные объекты во входных полигонах не поддерживаются; все выходные линии простые.

  • Если не отмечено Идентифицировать и сохранять информацию о соседних полигонах (Identify and store polygon neighboring information) (опция neighbor_option поставлена на IGNORE_NEIGHBORS в скриптах), то отношения между соседними полигонами будут игнорироваться. Каждая граница входного полигона будет записана как отдельный линейный объект. Составной полигон станет составной линией в выходных данных. Атрибуты входных объектов будут скопированы в выходной класс объектов. Новое поле, ORIG_FID, будет добавлено к выходным данным и установлено на идентификатор входного объекта каждой линии.

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

  • Для обработки очень больших наборов данных при работе инструмента используется разбивка на листы, для повышения производительности и масштабируемости.Для получения более подробной информации см. Геообработка больших наборов данных.

Синтаксис

PolygonToLine_management (in_features, out_feature_class, {neighbor_option})
ПараметрОбъяснениеТип данных
in_features

Входные объекты, которые должны быть полигонами.

Feature Layer
out_feature_class

Выходной класс линейных объектов.

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

Устанавливает, нужно ли идентифицировать и хранить информацию о соседних полигонах.

  • IDENTIFY_NEIGHBORS —Отношения между соседними полигонами будут идентифицироваться и сохраняться в выходных данных. Если различные сегменты полигона имеют общую границу с другими полигонами, граница будет разбита, так чтобы каждый уникально хранящийся сегмент стал линией с двумя идентификаторами соседних полигонов, хранящихся в выходных данных. Это значение используется по умолчанию.
  • IGNORE_NEIGHBORS —Отношения между соседними полигонами будут игнорироваться; граница каждого полигона станет линейным объектом с исходным идентификатором полигонального объекта, хранящимся в выходных данных.
Boolean

Пример кода

PolygonToLine, пример 1 (окно Python)

Пример скрипта Python для выполнения функции PolygonToLine с запуском из окна Python в ArcGIS.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.PolygonToLine_management("Habitat_Analysis.gdb/vegtype", 
                               "C:/output/Output.gdb/vegtype_lines",
                               "IGNORE_NEIGHBORS")
PolygonToLine, пример 2 (автономный скрипт)

пример скрипта Python для выполнения функции PolygonToLine в автономном режиме.

# Name: PolygonToLine_Example2.py
# Description: Use PolygonToLine function to convert polygons to lines,
#              and report how many shared or overlapping boundary lines
#              were found.

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/landcovers.gdb"
 
# Create variables for the input and output feature classes
inFeatureClass = "bldgs"
outFeatureClass = "bldgs_lines"
 
# Use error trapping in case a problem occurs when running the tool
try:
    # Run PolygonToLine to convert polygons to lines using default neighbor_option
    arcpy.PolygonToLine_management(inFeatureClass, outFeatureClass)
 
    # Select lines that have LEFT_FID values greater than -1
    arcpy.MakeFeatureLayer_management(outFeatureClass, "selection_lyr", 
                                      "\"LEFT_FID\" > -1")
    result = arcpy.GetCount_management("selection_lyr")

    if (result.getOutput(0) == "0"):
        print("No overlapping or shared boundary lines were found.")
    else:
        print(result.getOutput(0) + " overlapping or shared boundary lines were found.")
 
except Exception as err:
    print(err.args[0])

Параметры среды

  • Текущая рабочая область
  • Временная рабочая область
  • Выходное Z значение по умолчанию
  • Разрешение M
  • Допуск M
  • Выходной M домен
  • Выходной Z домен
  • Выходная система координат
  • Экстент
  • Выходные данные содержат M-значения
  • Выходные данные содержат Z значения
  • Выходная пространственная сетка 1
  • Выходная пространственная сетка 2
  • Выходная пространственная сетка 3
  • Разрешение XY
  • Допуск XY
  • Разрешение Z
  • Допуск Z

Информация о лицензиях

  • ArcGIS Desktop Basic: Нет
  • ArcGIS Desktop Standard: Нет
  • ArcGIS Desktop Advanced: Да

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

  • Обзор группы инструментов Пространственные объекты

ArcGIS Desktop

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

ArcGIS Platform

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

Об Esri

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