トポロジにルールを追加 (Add Rule To Topology) (データ管理)

概要

トポロジに新しいルールを追加します。

追加するために選択するルールは、トポロジに含まれるフィーチャクラスの監視の対象にする空間リレーションシップに応じて異なります。

利用可能なすべてのトポロジ ルールのリストと説明については、ポイントライン、またはポリゴンのジオデータベースのトポロジ ルールおよびトポロジ エラーの修正をご参照ください。

使用法

  • トポロジ ルールを適用するサブタイプ値の名前を入力できます。

構文

arcpy.management.AddRuleToTopology(in_topology, rule_type, in_featureclass, {subtype}, {in_featureclass2}, {subtype2})
パラメーター説明データ タイプ
in_topology

新しいルールを追加する対象となるトポロジ

Topology Layer
rule_type

追加するトポロジ ルール。ルールおよび機能の詳細については、ポイントライン、または ポリゴン フィーチャのトポロジ ルールと修正をご参照ください。

  • Must Not Have Gaps (Area) このルールは、ポリゴン内または隣接したポリゴン間に隙間があってはならないことを示します。すべてのポリゴンが連続したサーフェスを形成している必要があります。エラーは常にサーフェスの境界線で発生します。このエラーは無視するか、例外としてマークできます。このルールは、エリアを完全に覆わなければならないデータに適用します。たとえば、土壌ポリゴンはギャップや隙間なしにエリア全体をカバーする必要があります。
  • Must Not Overlap (Area) ポリゴンの内部が重複してはならないことを示します。ポリゴンのエッジや頂点は共有可能です。このルールは、エリアが 2 つ以上のポリゴンに属せない場合に使用されます。市区町村の境界、選挙区などの管理境界線や、被覆や地勢タイプといった相互排他的な領域分類のモデリングに役立ちます。
  • Must Be Covered By Feature Class Of (Area-Area) あるフィーチャクラス (またはサブタイプ) のポリゴンが、別のフィーチャクラス (またはサブタイプ) のポリゴンとエリアのすべてを共有しなければならないことを示します。他のフィーチャクラスからのポリゴン内に含まれない最初のフィーチャクラス内のエリアはエラーになります。このルールは、県などのタイプのエリアが市などの別のタイプのエリアで完全にカバーされなければならない場合に使用されます。
  • Must Cover Each Other (Area-Area) あるフィーチャクラス (またはサブタイプ) のポリゴンが別のフィーチャクラス (またはサブタイプ) のポリゴンとすべてのエリアを共有しなければならないことを示します。ポリゴンはエッジや頂点を共有できます。どちらかのフィーチャクラスで定義され、他のフィーチャクラスからは共有されないエリアはエラーです。このルールは、2 つの分類システムが同じ地理領域に使用され、一方のシステムで定義された指定のポイントが、他方のシステムでも定義されていなければならない場合に使用されます。たとえば、二次メッシュと一次メッシュ、小さな流域と大きな集水域など、ネストした階層型データセットが挙げられます。土壌タイプや傾斜クラスなどの非階層型の関連ポリゴン フィーチャクラスにも、このルールを適用できます。
  • Must Be Covered By (Area-Area) あるフィーチャクラス (またはサブタイプ) のポリゴンが他のフィーチャクラス (またはサブタイプ) のポリゴン内に含まれていなければならないことを示します。ポリゴンはエッジや頂点を共有できます。含まれる側のフィーチャクラス内で定義されたエリアは、カバーする側のフィーチャクラス内のエリア内に存在しなければなりません。このルールは、指定したタイプのエリア フィーチャが別のタイプのフィーチャ内に配置される場合に使用されます。森林内の管理単位やブロック グループ内のグループなど、大きな周辺エリアのサブセットであるエリアをモデリングするのに役立ちます。
  • Must Not Overlap With (Area-Area) あるフィーチャクラス (またはサブタイプ) のポリゴンの内部が、別のフィーチャクラス (またはサブタイプ) のポリゴンの内部と重複してはならないことを示します。2 つのフィーチャクラスのポリゴンのエッジや頂点を共有するか、完全に切断できます。このルールは、エリアが 2 つの異なるフィーチャクラスに属せない場合に使用されます。このルールは、エリア分類の 2 つの相互排除システムを結合するときに役に立ちます。たとえば、用途地域タイプと水域タイプでは、用途地域クラスとして定義されているエリアに水域クラスは定義できず、水域クラスとして定義されているエリアに用途地域クラスは定義できません。
  • Must Be Covered By Boundary Of (Line-Area) ラインがエリア フィーチャの境界線上になければならないことを示します。このルールは、区画などのポリゴン フィーチャのエッジに一致しなければならない区画線などのラインのモデリングに役立ちます。
  • Must Be Covered By Boundary Of (Point-Area) ポイントがエリア フィーチャの境界線上になければならないことを示します。このルールは、ポイント フィーチャが特定のエリアのエッジ上になければならない境界線マーカーなど、境界線のシステムをサポートする場合に役立ちます。
  • Must Be Properly Inside (Point-Area) ポイントがエリア フィーチャの内側になければならないことを示します。番地と区画など、ポイント フィーチャがポリゴンに関連している場合に役立ちます。
  • Must Not Overlap (Line) ラインが同じフィーチャクラス (またはサブタイプ) のラインと重複してはならないことを示します。このルールは、河川フィーチャクラスなど、線分が重複してはならない場合に使用されます。ラインが横切ったり交差したりするのはかまいませんが、線分を共有することはできません。
  • Must Not Intersect (Line) 同じフィーチャクラス (またはサブタイプ) からのライン フィーチャが互いに横切ったり重複したりしてはならないことを示します。ラインは端点を共有できます。このルールは、互いに交わってはならない等高線や、ラインの交差が端点のみで発生する道路の線分や交差点で使用されます。
  • Must Not Have Dangles (Line) ライン フィーチャが同じフィーチャクラス (またはサブタイプ) からのラインと両方の端点で接していなければならないことを示します。別のラインに接続されていない端点はダングルと呼ばれます。このルールは、ポリゴン フィーチャの境界線を定義する場合など、ライン フィーチャが閉じたループを形成している場合に使用されます。また、道路など、通常は他のラインに接続されるラインでも使用できます。この場合、袋小路や行き止まりの道路の線分など、ルールに違反している場合には例外を使用できます。
  • Must Not Have Pseudo-Nodes (Line) ラインが各端点で少なくとも他の 2 つのラインに接続していなければならないことを示します。他の 1 つのラインに接続するライン、または自身に接続するラインを、疑似ノードがあると言います。このルールは、ラインがポリゴンの境界線を定義する場合や、河川ネットワーク内の線分と同様に、ライン フィーチャが各端点で論理的に別の 2 つのラインに接続していなければならない場合など、ライン フィーチャが閉じたループを形成しなければならない場合に使用されます。最初の河川の開始点は、例外としてマークされています。
  • Must Be Covered By Feature Class Of (Line-Line) あるフィーチャクラス (またはサブタイプ) からのラインが別のフィーチャクラス (またはサブタイプ) のラインの内側になければならないことを示します。このルールは、路線と道路など、論理的に異なるものの空間的に一致するラインのモデリングに役立ちます。たとえば、バス路線のフィーチャクラスは、道路のフィーチャクラスで定義された道路から離れてはなりません。
  • Must Not Overlap With (Line-Line) あるフィーチャクラス (またはサブタイプ) からのラインが別のフィーチャクラス (またはサブタイプ) のラインと重複してはならないことを示します。このルールは、ライン フィーチャが同じスペースを共有できない場合に使用されます。たとえば、道路が線路と重複してはならない場合や、等高線の凹地サブタイプが他の等高線と重複できない場合などです。
  • Must Be Covered By (Point-Line) あるフィーチャクラス内のポイントが別のフィーチャクラス内のライン上になければならないことを示します。ラインと重複する部分が端点である必要はありません。このルールは、高速道路沿いの高速道路標識など、一連のラインとともに現れるポイントに役立ちます。
  • Must Be Covered By Endpoint Of (Point-Line) あるフィーチャクラス内のポイントが別のフィーチャクラス内のラインの端点上になければならないことを示します。このルールは、ラインのルール端点が他クラスのポイント上にあるに似ていますが、ルールに違反した場合にエラーとしてマークされるのがポイント フィーチャであり、ライン フィーチャではない点で異なります。境界線のコーナーのマーカーは、境界線の端点上に存在するように制限される場合があります。
  • Boundary Must Be Covered By (Area-Line) ポリゴン フィーチャの境界線が別のフィーチャクラス内のライン上になければならないことを示します。このルールは、エリアの境界線をマークするライン フィーチャがエリア フィーチャに存在しなければならない場合に使用されます。たとえば、エリアに一連の属性があり、境界線に別の属性がある場合です。たとえば、土地区画は境界線とともにジオデータベースに格納されます。各土地区画は、その長さと調査日付についての情報を格納した複数のライン フィーチャによって定義され、すべての土地区画が境界線に正確に一致している必要があります。
  • Boundary Must Be Covered By Boundary Of (Area-Area) あるフィーチャクラス (またはサブタイプ) のポリゴン フィーチャの境界線が、他のフィーチャクラス (またはサブタイプ) のポリゴン フィーチャの境界線上になければならないことを示します。このルールは、分譲地など、あるフィーチャクラス内のポリゴン フィーチャが、土地区画などの別のクラス内の複数のポリゴンで構成され、共有される境界線の位置を揃えなければならない場合に役立ちます。
  • Must Not Self-Overlap (Line) ライン フィーチャが互いに重複してはならないことを示します。交差したり接触したりするのはかまいませんが、一致する線分があってはなりません。このルールは、ループで線分が接触する場合があっても、同じ道路が同じコースを 2 回通ってはならない、道路などのフィーチャに役立ちます。
  • Must Not Self-Intersect (Line) ライン フィーチャが互いに交差したり重複したりしてはならないことを示します。このルールは、互いに交差しない等高線などのラインに役立ちます。
  • Must Not Intersect Or Touch Interior (Line) あるフィーチャクラス (またはサブタイプ) のラインが、端点で同じフィーチャクラス (またはサブタイプ) の他のラインにのみ接しなければならないことを示します。フィーチャが重複する線分、または端点でない交点はエラーになります。このルールは、ラインが端点のみで接続されなければならない場合に役立ちます。端点にのみ接続され、背後の区画線を分割しなければならず、互いに重複できない区画線などです。
  • Endpoint Must Be Covered By (Line-Point) ライン フィーチャの端点が別のフィーチャクラスのポイント フィーチャ上になければならないことを示します。このルールは、継ぎ手によって 2 本のパイプを接続する場合や、2 つの通りの連結部分に道路の交差点がなければならない場合のモデリングに役立ちます。
  • Contains Point (Area-Point) あるフィーチャクラス内のポリゴンに別のフィーチャクラスからのポイントが少なくとも 1 つ含まれていなければならないことを示します。ポイントは境界線上ではなくポリゴンの内側になければなりません。このルールは、すべてのポリゴンに少なくとも 1 つの関連ポイントがある場合に役立ちます。たとえば、区画に番地が必要な場合です。
  • Must Be Single Part (Line) ラインが単一パートだけで構成されていなければならないことを示します。このルールは、複数パートがあってはならない高速道路などのラインに役立ちます。
  • Must Coincide With (Point-Point) あるフィーチャクラス (またはサブタイプ) からのポイントが別のフィーチャクラス (またはサブタイプ) のポイントと一致する必要があります。このルールを適用できるのは、ポイントが他のポイント上になければならない場合 (たとえば、配電網において変圧器は電柱と一致しなければならず、観測点が端末と一致しなければならない) 場合です。
  • Must Be Disjoint (Point) ポイントが同じフィーチャクラス (またはサブタイプ) の他のポイントから空間的に分離しなければならないことを示します。重複するポイントはいずれもエラーです。このルールは、同じフィーチャクラス (たとえば、都市のレイヤー内、土地区画 ID ポイント、街灯柱) 内のポイントが一致または重複するのを防ぐうえで役立ちます。
  • Must Not Intersect With (Line-Line) あるフィーチャクラス (またはサブタイプ) からのライン フィーチャが別のフィーチャクラス (またはサブタイプ) のラインと交差または重複してはならないことを示します。ラインは端点を共有できます。このルールは、2 つのレイヤーからのラインの中に互いに交差してはならないラインが存在する場合や、ラインの交差が端点にのみ発生する道路や路線に使用されます。
  • Must Not Intersect or Touch Interior With (Line-Line) あるフィーチャクラス (またはサブタイプ) のラインが、端点で別のフィーチャクラス (またはサブタイプ) の他のラインにのみ接しなければならないことを示します。フィーチャが重複する線分、または端点でない交点はエラーになります。このルールは、2 つのレイヤーからのラインを端点でのみ接続する必要のある場合に便利です。
  • Must Be Inside (Line-Area) ラインがエリア フィーチャの境界の内側になければならないことを示します。このルールを適用できるのは、ラインの一部または全体が領域境界線と一致することが許されても、ポリゴンを越えて延在することは許されない (たとえば、都市高速道路を州の境界線の内側に配置し、河川を分水界内に配置しなければならない) 場合です。
  • Contains One Point (Area-Point) 各ポリゴンが 1 つのポイント フィーチャを含んでいて、各ポイント フィーチャが単一ポリゴン内に含まれていなければならないことを示します。このルールが使用されるのは、ポリゴン フィーチャクラスのフィーチャとポイント フィーチャクラスのフィーチャ (たとえば、行政区域とその首都) の間に 1 対 1 の対応が存在していなればならない場合です。各ポイントはただ 1 つのポリゴンの内部に正しく含まれている必要があります。また、各ポリゴンはただ 1 つのポイントを正しく含んでいる必要があります。ポイントは境界線上ではなくポリゴンの内側になければなりません。
String
in_featureclass

入力または関連元のフィーチャクラス

Feature Layer
subtype
(オプション)

入力または関連元のフィーチャクラスのサブタイプ。サブタイプの説明 (コードではありません) を入力します。関連元フィーチャクラスにサブタイプが存在しない場合、あるいはフィーチャクラス内のすべてのサブタイプにルールを適用する場合は、このパラメーターを空白のままにします。

String
in_featureclass2
(オプション)

トポロジ ルールの関連先フィーチャクラス

Feature Layer
subtype2
(オプション)

関連先フィーチャクラスのサブタイプ。サブタイプの説明 (コードではありません) を入力します。関連元フィーチャクラスにサブタイプが存在しない場合、あるいはフィーチャクラス内のすべてのサブタイプにルールを適用する場合は、このパラメーターを空白のままにします。

String

派生した出力

名前説明データ タイプ
out_topology

更新されたトポロジ。

トポロジ レイヤー

コードのサンプル

AddFeatureClassToTopology (トポロジにフィーチャクラスを追加) の例 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、AddRuleToTopology 関数を使用する方法を示します。

# Name: AddRuleToTopology_Example.py
# Description: Adds a rule to a topology
# Import system modules
import arcpy
# Any intersection of ParcelOutline (BlockLines subtype only) needs to be reviewed
arcpy.AddRuleToTopology_management("C:/data/Landbase.gdb/LegalFabric/topology", 
                                   "Must Not Intersect (Line)",
                                   "C:/data/Landbase.gdb/LegalFabric/ParcelOutline",
                                   "BlockLines")

ライセンス情報

  • Basic: いいえ
  • Standard: はい
  • Advanced: はい

関連トピック