Полигон в линию (Управление данными (Data Management))

Уровень лицензии:BasicStandardAdvanced

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

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

Рисунок

Иллюстрация инструмента Полигон в линию (Polygon To Line)

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

Синтаксис

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

Пример кода

Полигон в линию. Пример 1 (окно Python)

Пример скрипта Python для выполнения функции Полигон в линию (Polygon To Line) с запуском из окна Python в ArcGIS.

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

Пример скрипта Python для выполнения функции Полигон в линию (Polygon To Line) в автономном режиме.

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

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
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, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

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

Связанные темы

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

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Нет
ArcGIS for Desktop Advanced: Да
5/10/2014