ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • 価格
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

ポリゴン → ライン (Polygon To Line)

  • サマリ
  • 図
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリ

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

図

[ポリゴン → ライン (Polygon To Line)] の図

使用法

  • [個別属性を表示してポリゴン隣接情報を格納] チェックボックスがオンの場合 (スクリプト中の neighbor_option が IDENTIFY_NEIGHBORS に設定されている場合)、ポリゴンの隣接関係が解析されます。上の図に示すように、交差セグメントまたは共有セグメントを考慮して、境界をラインに変換します。2 つの新しいフィールド LEFT_FID と RIGHT_FID はそれぞれ出力フィーチャクラスに追加された後、各出力ラインの左側と右側の入力ポリゴン フィーチャ ID に設定されます。入力フィーチャの属性は、出力フィーチャクラス内に保持されません。プロセスと出力の詳細をよく理解するために、以下のシナリオを参考にしてください。

    • ポリゴン ジオメトリ内では、外側境界が常に時計回りの方向に格納されます。ポリゴンに穴がある場合、穴 (つまり、内側) の境界は常に反時計回りの方向に格納されます。そのため、ポリゴンの外側境界の左側 (外側) および穴境界の左側 (内側) に隣接するポリゴンが存在しない場合、結果として生成されるラインの LEFT_FID 値が -1 に設定され、ポリゴン フィーチャ ID が RIGHT_FID として設定されます。
    • あるポリゴンに別のポリゴンが含まれている場合、共有の境界を表す 1 つの出力ラインが、時計回りの方向に生成されます。その LEFT_FID は外側ポリゴン フィーチャ ID に設定されるのに対して、RIGHT_FID は内側ポリゴン フィーチャ ID に設定されます。
    • 2 つのポリゴンがその境界の一部を共有している場合、共有セグメントを表す 1 つの出力ラインが生成されます。ライン方向は任意です。LEFT_FID と RIGHT_FID は、左側または右側ポリゴン フィーチャ ID に設定されます。
    • あるポリゴンが別のポリゴンと重なる場合、2 つの出力ラインが生成され、各交差境界が 2 回表示されます。最初のラインは、重なり合うポリゴンのいずれか 1 つの外側境界線を表すため、LEFT_FID は交差するポリゴン フィーチャ ID、RIGHT_FID は固有のポリゴン フィーチャ ID です。2 番目のラインは逆方向に配向され、他のポリゴンを分割するため、その LEFT_FID と RIGHT_FID は他のポリゴン フィーチャ ID と同じになります。
    • 入力ポリゴン内にはマルチパートが維持されないため、出力ラインはすべてシングルパートになります。

  • [個別属性を表示してポリゴン隣接情報を格納] がオフの場合 (スクリプト中の neighbor_option が IGNORE_NEIGHBORS に設定されている場合)、ポリゴンの隣接関係が無視されます。各入力ポリゴン境界は、内部を囲むライン フィーチャとして書き出されます。マルチパート ポリゴンは、出力ではマルチパート ラインになります。入力フィーチャの属性は、出力フィーチャクラス内に保持されます。その出力に追加された新しいフィールド ORIG_FID は、各ラインの入力フィーチャ ID に設定されます。

  • 入力フィーチャがパラメトリック カーブ (トゥルー カーブ) の場合、出力ラインはトゥルー カーブを維持します。出力ラインは、分割されてもトゥルー カーブのままです。これは、シェープファイル データには適用されません。

  • このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。

構文

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
arcpy.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.

# 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 for Desktop Basic: ×
  • ArcGIS for Desktop Standard: ×
  • ArcGIS for Desktop Advanced: ○

関連トピック

  • フィーチャ ツールセットの概要
このトピックへのフィードバック

ArcGIS for Desktop

  • ホーム
  • ドキュメント
  • 価格
  • サポート

ArcGIS プラットフォーム

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

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル