ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

ジオメトリの整合チェック

  • ポイント シェープの整合性ルール
  • シンプル ラインまたはラインストリングの整合性ルール
  • ラインまたはスパゲッティ ストリングの整合性ルール
  • エリア シェープの整合性ルールと操作
  • 空間参照 ID

ジオメトリ整合チェック機能は、st_shapelib ライブラリ (Oracle) および st_geometry ライブラリ (PostgreSQL、IBM DB2、および Informix) を介して、ST_Geometry タイプによって提供されます。テーブルを作成すると、レコードを挿入または更新するときにデータの整合チェックが実行されます。

空間テーブルにデータを挿入する方法は主に 2 つあります。

  • コンストラクター関数もしくはこれらの関数を利用して作成されたアプリケーションを使用
  • ArcGIS API もしくは ArcGIS API 使用して作成されたアプリケーションを使用

コンストラクター関数は、実装された空間タイプによってそれぞれ定義されるため、ジオメトリ データの整合チェックに使用される方法は異なる場合があります。Esri と IBM ST_Geometry のコンストラクター関数および ArcGIS API は、フィーチャが作成されたときに、Esri シェープ ライブラリを使用してジオメトリ データを整合チェックします。SDO_Geometry、PostGIS ジオメトリまたはジオグラフィ、Microsoft SQL Server geometry または geography などの他の空間タイプには、独自のコンストラクター関数が存在し、独自のシェープ検証ルールが使用されます。そのため、ArcGIS の外部でフィーチャをこれらの空間タイプに挿入または更新する場合に適用される検証ルールについて、Oracle、PostGIS、または SQLServer のドキュメントを参照する必要があります。

ArcGIS も、データを読み取るときにジオメトリを整合チェックします。ArcGIS では、無効なジオメトリはレンダリングできません。

ArcGIS がジオメトリを読み取るときに、以下のジオメトリ整合チェックツールが Esri API、ST_Geometry コンストラクター関数に適用されます。

ポイント シェープの整合性ルール

  • ポイントの面積と長さは 0.0 です。

  • 単一のポイントのエンベロープはポイントの X,Y 値に等しくなります。

  • マルチパート ポイント シェープのエンベロープは最小境界ボックスです。

シンプル ラインまたはラインストリングの整合性ルール

  • 連続する重複ポイントは削除されます。
  • 各パートは少なくとも 2 つの別個のポイントを持つ必要があります。
  • 各パートは自身と交差してはいけません。始点と終点は同じでもかまいませんが、その結果生じるリングはエリア シェープとしては扱われません。
  • パートは終点で相互に接触してもかまいません。
  • 長さはすべてのパートの合計です。

ラインまたはスパゲッティ ストリングの整合性ルール

  • ラインは相互に交差できます。
  • 各パートは少なくとも 2 つの別個のポイントを持つ必要があります。
  • 連続する重複ポイントは削除されます。
  • 長さはすべてのパートの合計です。

エリア シェープの整合性ルールと操作

  • 連続する重複ポイントは削除されます。
  • ダングルは削除されます。
  • 線分は閉じていて (始点と終点の Z 座標も同じである必要があります)、交差しないことが検証されます。
  • ホールを持つエリア シェープの場合、ホール全体が外側の境界の内部に存在する必要があります。ArcGIS では、外側の境界の外部にあるホールはすべて削除されます。
  • 単一の共通ポイントで外側の境界に接するホールは、エリア シェープの反転部分に変換されます。
  • 共通のポイントで接する複数のホールは 1 つのホールにまとめられます。
  • マルチパート エリア シェープは重なり合うことができません。ただし、あるポイントで 2 つのパートが接することはかまいません。
  • マルチパート エリア シェープは共通の境界を持つことはできません。共通の境界はディゾルブされます。
  • 2 つのリングが共通の境界を持つ場合は、1 つのリングにマージされます。
  • ドーナツ ポリゴンのすべてのホールの境界も含めて、ジオメトリの全外周が計算され、それがジオメトリの長さとして格納されます。
  • 面積が計算されます。
  • エンベロープが計算されます。
  • エリア シェープのポイントは反時計回りに格納されますが、ArcGIS クライアントではどちら向きでもポイントを返すことができます。時計回りの座標を含むエリア シェープを生成した場合、座標リストが反時計回りになるように並びが変更されます。

    エリア シェープの頂点は反時計回りに格納されます。

    この例の場合、始点は a で、正しい座標記述順は a,b,c,d,a です。

  • エリア シェープは反転部分を持つことがあります。反転部分とは、エリア シェープの内部にあり外側の境界に接する空の領域です。

    反転部分を持つエリアの頂点の方向

  • 反転部分を持つエリア シェープは、外側の境界に接する内部のリングを持ちます。これはドーナツ ポリゴンとはみなされません。
  • エリア シェープがドーナツ ホールを持つときは、外側の境界が最初にリストに記述されます。ホールのポイントは、外部の境界とは逆向きに格納されます。

    次の図では、外側の境界が a、b、c、d、a と表記され、ホールが e、f、g、h、e と表記されています。座標リストには、エリア シェープは a、b、c、d、a、e、f、g、h、e として格納されます。

    ホールを持つエリアの頂点の方向

  • 2 つのホールが 1 つのポイントで接する場合は、2 つのホールではなく 1 つのホールとして扱われます。

    2 つのホールが 1 つのポイントを共有するエリアの頂点の方向

    この例の場合、共通のポイント g を共有するため、2 つの内部のエリアは 1 つのホールです。

  • エリア シェープとホールを持つエリア シェープとを組み合わせると、次の図に示すようにかなり複雑な形になることがあります。外側の境界は島のある湖です。島には小さな湖があります。

    ネストしたポリゴン

    これらのフィーチャは、1 つ、2 つ、または 3 つのシェープとして表現することができます。各フィーチャを別々に格納することもできます。大きな湖はドーナツ ポリゴンです。大きな湖の境界は外側の境界で、島は 1 つのドーナツ ホールの境界です。島もドーナツ ポリゴンです。島の境界は外側の境界で、小さな湖はホールです。小さな湖は 1 つのエリア シェープです。

    湖が重要なフィーチャである場合は、ホールを持つ 1 つのシェープで大きな湖を表し、2 つめのシェープで小さな湖を表します。また、マルチパート エリア シェープを使用してフィーチャを表すこともできます。最初のシェープ パートは、島を表すドーナツ ホールを持つ大きな湖です。2 つめのパートは小さな湖です。

  • nil シェープはプレースホルダーの役割を果たし、これにより、対応するジオメトリを持たない属性行を作成できます。nil シェープが生じる例としては、2 つの交差していないエリアの交差部分を求めるリクエストがあります。

    シェープが交差していないと nil ジオメトリが返ります。

    エリア A とエリア B は接していないため、交差部分を求めるクエリの結果、空のジオメトリが返されます。

  • シェープは次元を持ちます。XY 座標しか持たないシェープは 2 次元とみなされます。Z 座標またはメジャー値を持つシェープは 3 次元とみなされます。シェープは nil メジャー値を持つこともできます。

空間参照 ID

ST_Geometry タイプを使用するフィーチャクラスの場合、テーブルが作成された空間参照 ID (SRID) の範囲外となる座標の値を挿入しようとすると、INSERT ステートメントは失敗し、次のようなメッセージが表示されます。

DBMSエラー メッセージ

Oracle

ERROR at line 1:
ORA-20004: Error generating shape from text (-112)
ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 42
ORA-06512: at "SDE.ST_POLYGON", line 69
ORA-06512: at line 1

PostgreSQL

ERROR: ESRI: error generating shape [-112]:

Informix

SQL Error (-937): Coordinates out of bounds in ST_PolyFromText.

DB2

GSE3416N Coordinate out of bounds

SQLite

Error: ST_Geometry failed with SDE error -139:
'The specified coordinate exceeds the valid coordinate range':[4]

関連トピック

  • 空間アクセサ関数

ArcGIS Desktop

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

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル