Skip to main content

一般的なトポロジー タスクの実行

Standard または Advanced ライセンスで利用可能。

作成後のトポロジーは、それ自体や関連するレイヤーを操作したり管理したりしながら変更することができます。

トポロジーを Web フィーチャ レイヤーとして公開すると、フィーチャ サービスを使用するサービス指向アーキテクチャーを通じて、そのトポロジーを使用、編集、および検証することができます。 このシナリオでは、トポロジー Web フィーチャ レイヤーのプロパティは読み取り専用で、可能な変更タスクは限られています。

次の表は、サポートされているトポロジー変更タスクをまとめたものです。

トポロジー変更タスク

ArcGIS Pro からのトポロジーへのアクセス

フィーチャ サービスからの、トポロジー Web フィーチャ レイヤーへのアクセス

トポロジーのダーティー エリアの検証

はい

はい

エラーの修正と例外へのマーク付け

はい

はい

トポロジーのエクスポート エラーと例外

はい

はい

トポロジー内のフィーチャクラスでのフィールドの追加または削除

はい

トポロジー内のフィーチャクラスまたはフィールドのエイリアス名の変更

はい

トポロジー プロパティ のトポロジーの名前変更

はい

トポロジー プロパティ のトポロジーへのフィーチャクラスの追加または削除

はい

トポロジー プロパティ のトポロジー ルールの追加、変更、または削除

はい

トポロジー プロパティ のトポロジーのクラスター許容値の変更

はい

トポロジー プロパティ のトポロジーのフィーチャクラスの座標 (XY) ランクの変更

はい

注意:

以下に説明するワークフローは、ArcGIS Pro を通じてアクセス、編集、および検証されるトポロジーに適用されます。

トポロジーには、いくつかの変更を行うことができます。 トポロジーの名前の変更など、トポロジーの状態に影響しない変更もあります。 一方、変更後にトポロジーの検証が必要になる場合もあります。 たとえば、新規フィーチャクラスやルールの追加、あるいはクラスター許容値の変更などの後は、ダーティー エリアとエラー フィーチャが作成されるため、トポロジーを再び検証する必要があります。

このトピックで説明するスキーマ編集は、エンタープライズ ジオデータベース内のトポロジーに対し、それがバージョン対応であるかどうか、または Web フィーチャ レイヤー (フィーチャ サービス) として公開されているかどうかにかかわらず実行できます。 トポロジーがフィーチャ サービスとして使用され、スキーマ編集が必要な場合は、サービスを停止および再起動して変更内容を確認します。

トポロジー プロパティ ダイアログ ボックスを使用すると、次のような多くの一般的なトポロジー タスクを管理できます。

  • トポロジーの名前変更

  • クラスター許容値の変更

  • 座標ランクの変更

  • フィーチャクラスの追加と削除

  • ルールの作成、変更、削除

  • ルールの保存と読み込み

トポロジー プロパティの詳細

トポロジーにフィーチャクラスを追加

次の手順に従って、トポロジーにフィーチャクラスを追加 ツールを使用して、既存のトポロジにフィーチャクラスを追加します。

  1. 解析 リボン上の Python ボタンをクリックして Python ウィンドウを開きます。

  2. 次のとおりに入力して、トポロジーにフィーチャクラスを追加 ツールを実行します。arcpy.management.AddFeatureClassToTopology()

  3. フィーチャクラスを追加するトポロジーの場所へのパスを入力します (例: "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo")。

  4. 入力フィーチャクラス パラメーターに、そのトポロジーに追加するフィーチャクラスの場所を入力します。

    追加可能なフィーチャクラスは、フィーチャ データセットに含まれていて、現在トポロジーやジオメトリック ネットワークに属していないフィーチャクラスだけです。

  5. フィーチャクラスの X、Y 座標ランクを入力するか、デフォルト値を使用する場合は "" と入力します。

  6. フィーチャクラスの Z 座標ランクを入力します。デフォルト値を使用する場合は、"" と入力します。

  7. Enter を押して、このコマンドを実行します。

  8. 複数のフィーチャクラスをトポロジーに追加する場合は、ステップ 2 ~ 7 を繰り返します。

  9. トポロジーの検証 ツールを使用して、トポロジーの検証を実行します。

以下に、Python ウィンドウで実行した AddFeatureClassToTopology ツールの例を示します。

arcpy.management.AddFeatureClassToTopology(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", r"C:\MyProject\MyProject.gdb\Streets\StreetNetwork", 1, 0.1)

トポロジーでのサブタイプの使用

ジオデータベースを設計する際には、トポロジーでフィーチャクラス サブタイプを使用するためのオプションの使用を検討してください。

サブタイプについて

サブタイプを使用すると、フィーチャクラス内のフィーチャをタイプにより分類することで、現実世界のオブジェクトをより効果的にモデリングすることができます。 たとえば、市街道路フィーチャクラスの道路を、一般道路、補助幹線道路、幹線道路の 3 つのサブタイプに分類することができます。

サブタイプとジオデータベースの詳細については、「サブタイプの概要」をご参照ください。

トポロジー内のサブタイプ

トポロジー内のさまざまなサブタイプに対して異なるルールを作成できます。 これにより、あるルールを特定のサブタイプに適用することができます。

たとえば、道路フィーチャのサブタイプとして、通常の道路 (両方のノードで他の道路を接続する道路) とクルドサック (一方のノードで行き止まりになっている道路) の 2 つがあるとします。 この場合は、トポロジー ルールを使用して、クルドサック サブタイプに属する道路を除き、両端で他の道路フィーチャと接続する道路フィーチャを必要とするトポロジ ルールを作成できます。

フィーチャクラスの削除

トポロジーからフィーチャクラスを削除 ジオプロセシング ツールを使用して、トポロジーからフィーチャクラスを削除することができます。

  1. 解析 リボン上の Python ボタンをクリックして Python ウィンドウを開きます。

  2. 次のとおりに入力して、トポロジーからフィーチャクラスを削除 ツールを実行します。arcpy.management.RemoveFeatureClassFromTopology()

  3. 削除するフィーチャクラスを含むトポロジーの場所へのパスを入力します (例: "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo")。

  4. 削除するフィーチャクラス パラメーターに、そのトポロジーから削除するフィーチャクラスの場所を入力します。

  5. Enter を押して、このコマンドを実行します。

    フィーチャクラスがトポロジーから削除されます。 複数のフィーチャクラスを削除するには、各フィーチャクラスについて、このツールを実行します。

以下に、Python ウィンドウで実行した RemoveFeatureClassFromTopology ツールの例を示します。

arcpy.management.RemoveFeatureClassFromTopology(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", r"C:\MyProject\MyProject.gdb\Streets\StreetNetwork")

トポロジーの名前変更

トポロジーの名前を変更するには、次の手順を実行します。

  1. カタログ ウィンドウで、トポロジーを右クリックして 名前の変更 をクリックします。

  2. 新しい名前を入力します。

  3. Enter を押します。

注意:

トポロジーの名前変更はトポロジーの状態に影響しないため、検証の再実行は必要ありません。

ヒント:

ジオデータベース トポロジーに属しているフィーチャクラスの名前は変更できません。

クラスター許容値の変更

クラスター許容値の設定 ジオプロセシング ツールを使用して、トポロジーのクラスター許容値を変更することができます。

  1. 解析 リボン上の Python ボタンをクリックして Python ウィンドウを開きます。

  2. 次のとおりに入力して、クラスター許容値の設定 ツールを実行します。arcpy.management.SetClusterTolerance()

  3. 変更するクラスター許容値を含むトポロジーの場所へのパスを入力します (例: "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo")。

  4. 新しいクラスター許容値を、0.00015 のように入力します。

  5. Enter を押して、このコマンドを実行します。

注意:

トポロジーのクラスター許容値を変更した場合は、検証の再実行が必要です。 クラスター許容値が大きくなるにつれ、データ内のフィーチャが現在の位置から移動する可能性が高くなります。 クラスター許容値が大きすぎる場合は、フィーチャの形状が変化します。

以下に、Python ウィンドウで実行した SetClusterTolerance ツールの例を示します。

arcpy.management.SetClusterTolerance(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", 0.00015)

トポロジー ルールの追加または削除

ジオプロセシング ツールを使用して、既存のトポロジーに対し、ルールの追加や削除ができます。

トポロジーにルールを追加

トポロジーにルールを追加 ジオプロセシング ツールを使用して、トポロジーにルールを追加できます。

  1. 解析 リボン上の Python ボタンをクリックして Python ウィンドウを開きます。

  2. 次のとおりに入力して、トポロジーにルールを追加 ツールを実行します。arcpy.management.AddRuleToTopology()

  3. ルールを追加するトポロジーの場所へのパスを入力します (例: "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo")。

  4. 追加するルールを入力します (例: "境界線が他クラスのエリアの境界線上にある (エリア-エリア)")。

  5. 関連元フィーチャクラスへのパスを入力します。

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

  7. 関連先フィーチャクラスへのパスを入力します。

  8. 関連先フィーチャクラス内のサブタイプにルールを適用するには、サブタイプの説明を入力します。

  9. Enter を押して、このコマンドを実行します。

    新しいルールがトポロジーに追加されました。 複数のルールがある場合は、各ルールについてこのツールを実行します。

注意:

ルールの追加後、再度トポロジーの検証が必要です。

以下に、Python ウィンドウで実行した AddRuleToTopology ツールの例を示します。

arcpy.management.AddRuleToTopology("C:\\MyProject\\MyProject.gdb\\Streets\\Street_Topo",
                                              "Boundary Must Be Covered By Boundary Of (Area-Area)",
                                              "C:\\MyProject\\MyProject.gdb\\Streets\\Subdivision",
                                              "",
                                              "C:\\MyProject\\MyProject.gdb\\Streets\\Parcels",
                                              "")

トポロジーからルールを削除

トポロジーからルールを削除 ジオプロセシング ツールを使用して、トポロジーからルールを削除できます。

  1. 解析 リボン上の Python ボタンをクリックして Python ウィンドウを開きます。

  2. 次のとおりに入力して、トポロジーからルールを削除 ツールを実行します。arcpy.management.RemoveRuleFromTopology()

  3. 削除するルールを含むトポロジーの場所へのパスを入力します (例: "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo")。

  4. トポロジーから削除するルールを入力します (例: "ダングルがない (21)")。

    このツールをスクリプトで実行するときは、削除対象のトポロジー ルールに関与するフィーチャクラスの ObjectClassID を括弧で囲んでルール名の後に指定する必要があります。 ObjectClassID の検索の詳細をご参照ください。

  5. Enter を押して、このコマンドを実行します。

    新しいルールがトポロジーから削除されます。 複数のルールを削除するには、各ルールについてこのツールを実行します。

注意:

ルールの削除後、再度トポロジーの検証が必要です。

以下に、Python ウィンドウで実行した RemoveRuleFromTopology ツールの例を示します。

arcpy.management.RemoveRuleFromTopology("C:\\MyProject\\MyProject.gdb\\Streets\\Street_Topo",
                                                   "Must Not Have Dangles (21)")

座標ランクの変更

トポロジーのランク設定を変更できます。

ランクの数の変更

ランクの数を変更するには、次の手順に従います。

  1. トポロジーを右クリックし、プロパティ をクリックします。

  2. フィーチャクラス タブをクリックします。

  3. ランク数を入力します。

  4. OK をクリックします。

1 つのトポロジーは、最大で 50 のランクにフィーチャクラスを割り当てることができます。

注意:

ランクの数だけを変更した場合、トポロジーを再び検証する必要はありません。

フィーチャクラスのランクの変更

フィーチャクラスのランクを変更するには、次の手順に従います。

  1. トポロジーを右クリックし、プロパティ をクリックします。

  2. フィーチャクラス タブをクリックします。

  3. クラスの追加 をクリックして、ランク付けするフィーチャクラスの横にあるボックスをオンにします。

  4. OK をクリックします。

  5. 各フィーチャクラスのランクを入力します。

  6. OK をクリックします。

注意:

フィーチャクラスのランクを変更した後は、トポロジーを再び検証する必要があります。

トポロジー ルールの操作

次のサブセクションでは、トポロジーのルールを操作する方法を説明します。

トポロジー ルールをルール セット ファイルに保存

ルールをルール セット ファイルに保存して、共有および再利用することができます。

  1. トポロジーを右クリックし、プロパティ をクリックします。

  2. ルール タブをクリックします。

  3. 追加 をクリックします。

  4. ルールを適用するフィーチャクラスを フィーチャクラス 1 ドロップダウン メニューから選択します。

  5. フィーチャクラスのサブタイプが存在する場合は、該当するサブタイプを サブタイプ ドロップダウン メニューから選択します。

  6. フィーチャクラスに適用するルールフィーチャクラスを ルール ドロップダウン メニューから選択します。

  7. OK をクリックします。

ルール セット ファイルからトポロジー ルールを読み込む

ルール セット ファイルからトポロジー ルールを読み込むには、次の手順に従います。

  1. トポロジーを右クリックし、プロパティ をクリックします。

  2. ルール タブをクリックします。

  3. ルールの保存 をクリックします。

  4. ルールの読み込み をクリックします。

  5. 読み込むルール セットが保存されている場所を参照して選択します。

  6. ルール セットをクリックします。

  7. 開く をクリックします。

    新しいトポロジーを定義する際、そのトポロジーのフィーチャクラスと同じ名前のフィーチャクラスを持つトポロジーからルール セットが作成されていた場合には、ルール セットに名前が指定されているフィーチャクラスと新しいトポロジーのフィーチャクラスが正確に一致しなければなりません。 名前が異なる場合は、ルール セットに名前が指定されているフィーチャクラスを新しいトポロジーの該当するフィーチャクラスと一致させる必要があります。

  8. マッピングされていないソース フィーチャクラスごとに、ターゲット 列をクリックし、新しいトポロジーの該当するフィーチャクラスをクリックします。

  9. すべてのダイアログ ボックスで OK をクリックします。

注意:
  • すでにルールが指定されているトポロジーにルール セットを読み込む場合は、ルール セットのルールが既存のルールにアペンドされます。
  • ルール セットを読み込む場合は、再度トポロジーの検証が必要です。
  • ルール セットに指定されたフィーチャクラスが新しいトポロジーのフィーチャクラスと一致しない場合、一致しないフィーチャクラスに関連付けられているルールは読み込まれません。

トポロジー エラーのサマリー

トポロジー プロパティ ダイアログ ボックスに、トポロジ内のエラー数のサマリーを表示することができます。 サマリーには、エラーの数と各トポロジー ルールに存在する例外が表示されます。

サマリーをテキスト ファイルとして保存すると、特定の日時におけるトポロジーの状態を記録することができます。 これは、大規模なトポロジー編集プロジェクトの進行状況を記録および監視するのに役立ちます。

トポロジー グラフの検索とナビゲーション

ArcGIS 開発者ツールを使用してトポロジー グラフにアクセスすることができます。トポロジー グラフとは、トポロジーに属しているフィーチャクラスのジオメトリーを平面的に表現したものです。 トポロジー グラフを使用した作業の詳細については、ArcGIS Pro SDK for .NET のヘルプ ドキュメントをご参照ください。