ポリゴン → ライン(Polygon To Line) (データの管理)

サマリ

隣接するポリゴンを考慮または無視してポリゴン境界をラインに変換し、変換されたラインを格納するフィーチャクラスを作成します。

Polygon To Line illustration

使用法

構文

PolygonToLine_management (in_features, out_feature_class, {neighbor_option})
パラメータ説明データ タイプ
in_features

入力フィーチャとしてポリゴンを指定する必要があります。

Feature Layer
out_feature_class

出力ライン フィーチャクラス。

Feature Class
neighbor_option
(オプション)

個別属性を表示してポリゴン隣接情報を格納するかどうかを指定します。

  • IDENTIFY_NEIGHBORSポリゴン隣接関係を特定し、出力に格納します。ポリゴンの各セグメントが異種ポリゴンと境界を共有している場合、その境界は分割され、一意に共有される各セグメントがラインになり、2 つの隣接ポリゴン FID が出力に格納されます。これがデフォルトです。
  • IGNORE_NEIGHBORSポリゴン隣接関係を無視します。すべてのポリゴン境界がライン フィーチャになり、元のポリゴン フィーチャ ID が出力に格納されます。
Boolean

コードのサンプル

PolygonToLine(ポリゴン → ライン)の例 1(Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで PolygonToLine(ポリゴン → ライン)関数を使用する方法を示しています。

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")
PolygonToLine(ポリゴン → ライン)の例 2(スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、スクリプト環境で 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.
# 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

環境

関連項目

ライセンス情報

ArcView: いいえ
ArcEditor: いいえ
ArcInfo: はい

7/10/2012