トポロジをパーセル ファブリックへ読み込み(Load a Topology to a Parcel Fabric) (パーセル ファブリック)
サマリ
トポロジに含まれるポリゴンおよびライン フィーチャを対象のパーセル ファブリックに読み込みます。トポロジは事前に定義された、以下のトポロジ ルールを守る必要があります。
- ラインはポリゴンの境界線上にある
- ラインは同一ライン内で重複しない
- ラインは同一ライン内で交差しない
- ラインは単一パートから構成される
- ラインは交差しない、または接しない
- ポリゴンの境界はライン上にある
使用法
ポリゴンの「境界線が他のクラスのライン上にある(ライン)」のトポロジ ルールで生成されたエラーは、例外としてマークすることができます。これは、接続ライン、閉じていないパーセル、および依存ラインの移行を可能にするためです。
ライン フィーチャクラスおよびポリゴン フィーチャクラス全体を読み込むか、または選択したラインおよびポリゴン フィーチャのみを読み込むかを選ぶことができます。大きなデータセットを読み込む際のパフォーマンスは、既存のコンピュータ メモリの仕様に依存します。このツールはパーセル データの小規模から中規模の領域またはセクションを一度で読み込むのに最適です。
ポリゴンおよびライン フィーチャをパーセル ファブリックに移行するには、トポロジは整合チェックされ、クリーンで、エラーがない状態である必要があります。トポロジ エラーを修正するために編集を行った場合、再度必ずトポロジを整合チェックし、ツールを実行する前にエラーが存在していないことを確認します。
トポロジ全体を整合チェックするには、[データ管理ツール] ツールボックスの [トポロジ] ツールセットにある [トポロジ整合チェック(Validate Topology)] ツールを使用します。
トポロジ全体を整合チェックする代わりに、[トポロジ] ツールバーの [現在の表示範囲でトポロジ整合チェック] ツール をクリックして、マップの現在の表示範囲に対する整合チェックを行うこともできます。
-
ポリゴンまたはライン フィーチャクラスを [入力(トポロジ)フィーチャクラス] パラメータとして使用することができます。ArcMap の入力フィーチャクラスのフィーチャ レイヤにすでに選択されたフィーチャが存在する場合、選択されたフィーチャのみが移行されます。ライン フィーチャクラスが入力フィーチャクラスとして使用される場合、選択したラインのうちポリゴン フィーチャクラス内の対応するポリゴンに一致する閉領域が作られていないライン(ダングル ライン)は、閉じていないパーセルの一部として移行されます。ライン フィーチャクラス に [カテゴリ] フィールドがある場合は、ダングル ラインのカテゴリ値を、接続ラインを表す 3、または依存ラインを表す 1 に設定できます。
COGO 属性はライン フィーチャクラスには必須ではありません。パーセル ラインに COGO 属性がない場合、つまり、パーセル ラインがポリゴンから生成されている場合は、インポータによってライン ジオメトリから COGO 属性が生成されます。COGO 属性が存在する場合は、このツールによって既存の COGO 属性がパーセル ファブリック ラインに移行されます。
ソース パーセル ポリゴン フィーチャクラスとソース パーセル ライン フィーチャクラスの属性を使用して、パーセル ファブリックのテーブルのシステム属性を設定できます。たとえば、PIN(パーセルの識別番号)をファブリックのパーセル テーブルの [名前] フィールドに移行するには、ソース ポリゴン フィーチャクラスに PIN、NAME、LOT、または APN の属性が必要です。
閉じていないパーセルを移行するために、ライン フィーチャクラスが入力フィーチャとして使用される場合は、ソース パーセル ライン フィーチャクラスの属性を使用して、パーセル テーブルのシステム属性を設定できます。たとえば、閉じていないパーセルの PIN(パーセル識別番号)を移行するには、ソース パーセル ライン フィーチャクラスに PIN、NAME、LOT、または APN の属性が必要です。
データ移行前に同じユーザ定義属性を移行先のファブリック テーブル上に作成していれば、ポリゴンおよびライン フィーチャクラスのユーザ定義属性をファブリック内のパーセルおよびライン テーブルに移行することができます。
ポイント フィーチャクラス上のユーザ定義属性をパーセル ファブリック内のポイント テーブルに移行したい場合、[入力ポイント フィーチャ(オプション)] パラメータにポイント フィーチャクラスを指定します。属性値を正しく移行させるためには、同じユーザ定義属性を移行前にファブリック ポイント テーブルに作成する必要があります。
データがファブリックに移行されると、ファブリック ラインの端点にファブリック ポイントが自動的に作成されます。ファブリック ポイントのシステムの X および Y 属性値にポイント シェープの座標が自動的に設定されます。ユーザ定義属性をパーセル ファブリックのポイント テーブルに移行するには、このパラメータにポイント フィーチャのみを指定します。ポリゴン フィーチャやライン フィーチャと同様に、ポイント フィーチャ レイヤで選択がされている場合、選択したポイントのみが移行されます。
-
[ライン文字列セグメントの最小数(オプション)] は、ライン フィーチャがライン ストリングまたは自然境界と見なされない、ライン フィーチャに属するライン セグメントの最小数です。
-
[コントロールのマッチ許容値(オプション)] パラメータに許容値を指定した場合、移行したファブリック ポイントのうちファブリック内の既存のコントロール ポイントの指定したマッチ許容値に収まっているファブリック ポイントがコントロール ポイントにリンクされます。
-
[結合されていないグループとしてパーセルをインポート] オプションがオンになっている場合、パーセルは非結合のグループとして移行されます。非結合のパーセルは、独自のローカルの座標空間においてパーセル ファブリックの外側に存在します。非結合のパーセルは、いつでもパーセル ファブリックに結合することができます。パーセルをパーセル ファブリック レイヤに結合する前に追加で作業が必要な場合、非結合のパーセルとして移行します。
構文
パラメータ | 説明 | データ タイプ |
target_parcel_fabric |
データの移行先となるパーセル ファブリック。 | Parcel Fabric Layer |
in_topology_class |
トポロジの一部となる入力フィーチャクラスまたはレイヤ。フィーチャクラスは、ラインまたはポリゴンになります。 | Feature Layer |
in_point_class (オプション) |
入力フィーチャクラスまたはレイヤ。ポイント フィーチャクラスはトポロジの一部である必要はありません。入力ポイント フィーチャクラスのユーザ定義属性のみ、パーセル ファブリックの対応するポイントに移行されます。 | Feature Layer |
linestring_minimum_segments (オプション) |
パーセル ファブリックでライン ストリングまたは自然境界と見なされ移行されない、ポリライン フィーチャに属するセグメントの最小数。デフォルトは 10 セグメントが最小です。 | Long |
control_match_tolerance (オプション) |
新しく移行されたファブリック ポイントがファブリックにある既存のコントロール ポイントにリンクされる際の許容値。許容値の長さの単位は、ファブリックの座標系の長さの単位と同じです。コントロールのマッチ許容値が指定されていない場合、デフォルトの 0.1 メートルが使用されます。 | Linear unit |
unjoined_group | フィーチャがどのように移行されるかを決定します。
| Boolean |
direction_units (オプション) | 移行処理の中でラインフィーチャの COGO 方位属性が生成される際に使用される方向単位。
| String |
direction_type (オプション) |
移行処理の中でラインフィーチャの COGO 方位属性が生成される際に使用される方向タイプ。
| String |
compute_area | フィーチャがどのように移行されるかを決定します。
| Boolean |
area_units (オプション) |
[新しいパーセルの面積を計算] オプションがオンになっている場合、移行処理中にパーセルの面積を計算する際に使用される面積の単位を選びます。
| String |
radial_point_tolerance (オプション) |
新しく計算されたカーブの中心点をファブリックにある既存のカーブの中心点と一致させる際の許容値。さらに、数個の計算されたカーブの中心点がこの許容値内に存在する場合、それらを平均して 1 つの中心点にマージします。半径の許容値が指定されていない場合、デフォルトの 0.5 メートルが使用されます。 | Linear unit |
accuracy_units (オプション) |
移行されるラインおよびポリゴンの正確度カテゴリ。正確度カテゴリはパーセル ファブリックの測量の日付によって定義されます。正確度カテゴリ 1 はデータの正確度が最高(最近の測量)を表し、正確度カテゴリ 6 はデータの正確度が最低(1800 年以前の測量)を表します。正確度カテゴリはファブリック アジャストに使用されます。
| String |
コードのサンプル
次の Python ウィンドウ スクリプトで、LoadATopologyToAParcelFabric(トポロジをパーセル ファブリックへ読み込み)ツールをイミディエイト モードで使用する方法を示します。
import arcpy
from arcpy import env
env.workspace = "C:/Parcel_Editor_Tutorial/Encinitas_City/Cadastral.gdb"
arcpy.LoadTopologyToParcelFabric_fabric("NewFabric", "Enc_polgon", "", "100", "0.5",
"JOINED_GROUP", "DEGREES_MINUTES_SECONDS",
"NORTH AZIMUTH", "COMPUTE_AREA", "HECTARES",
"1", "3 - 1908 to 1980")
次のスタンドアロン スクリプトで、LoadTopologyToParcelFabric(トポロジをパーセル ファブリックへ読み込み)ツールを使用して、選択されたパーセルのグループを反復処理してロードする方法を示します。
# Name: LoadTopologyToParcelFabric_Example2.py
# Description: Iterates through selections of parcels and imports each parcel selection
# into a parcel fabric. Parcels are selected using overlying blocks in the
# IterateBlocks feature class. Each polygon in IterateBlock is selected
# by block number in the "BlockNumber" attribute field.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "c:/data/OaklandCounty.gdb/ParcelData"
# Set variables
# BlockNumber is an attribute on the ItearateBlocks feature class
x = 1
whereclause = '%s = %s' % ("BlockNumber",x)
# Make feature layers from feature classes
arcpy.MakeFeatureLayer_management("c:/data/OaklandCounty.gdb/ParcelData/IterateBlock","IterateBlock_lyr")
arcpy.MakeFeatureLayer_management("c:/data/OaklandCounty.gdb/ParcelData/TaxParcelPolygons",
"TaxParcelPoly_lyr")
# Search feature class IterateBlock and obtain all features (block polygons)
rows = arcpy.SearchCursor("IterateBlock","","","","")
# Iterate and select each block. For each selected block, select underlying parcels
# and import selected parcels
row = rows.next()
while row <> None:
arcpy.SelectLayerByAttribute_management("IterateBlock_lyr","NEW_SELECTION",whereclause)
arcpy.SelectLayerByLocation_management("TaxParcelPoly_lyr","COMPLETELY_WITHIN","IterateBlock_lyr",
"","NEW_SELECTION")
arcpy.LoadTopologyToParcelFabric_fabric("CountyFabric","TaxParcelPoly_lyr","","100","","JOINED_GROUP",
"DEGREES_MINUTES_SECONDS","NORTH_AZIMUTH","COMPUTE_AREA",
"HECTARES","0.5","4_1881_TO_1907")
x = x+1
whereclause = '%s = %s' % ("BlockNumber",x)
row = rows.next()
# Since we only imported parcels that were completely within the IterateBlock polygons, we
# now need to import the perimeter parcels that are crossed by the boundary of the IterateBlock polygons
# Clear existing selection on IterateBlock_lyr
arcpy.SelectLayerByAttribute_management("IterateBlock_lyr","CLEAR_SELECTION")
arcpy.SelectLayerByLocation_management("TaxParcelPoly_lyr","CROSSED_BY_THE_OUTLINE_OF","IterateBlock_lyr",
"","NEW_SELECTION")
arcpy.LoadTopologyToParcelFabric_fabric("CountyFabric","TaxParcelPoly_lyr","","100","","JOINED_GROUP",
"DEGREES_MINUTES_SECONDS","NORTH_AZIMUTH","COMPUTE_AREA",
"HECTARES","0.5","4_1881_TO_1907")