日本語

不具合: BUG-000122070: サードパーティの空間タイプを使用して格納された形状が、正しく表示されないか、まったく表示されないことがある

説明

ArcGIS は、エンタープライズ データベース内のサードパーティの空間タイプを使用して格納されたフィーチャクラスの特定の形状を表示することができません。 それらのタイプには、SQL Server のジオメトリおよびジオグラフィ、PostGIS のジオメトリおよびジオグラフィがあります。 そのような場合、ArcGIS 以外のアプリケーションによって形状が挿入されています。

  • ArcGIS は、無効な形状 (データベース レベルで無効と見なされる形状) を表示することができず、空間関数を無効な形状に対して実行できないことを示すデータベース エラーを返します。
  • ArcGIS は、データベース レベルで有効と見なされる形状を表示することができますが、場合によっては、それらの形状を正しく表示しないか、形状の整合性エラーを返すことがあります。 それらの形状には、次のようなものがあります。
    • 厳密に一点で外郭に接触する包含またはホールを含む形状。
    • 厳密に一点で互いに接触するが、外郭に接触しない結合した内部リングまたは 2 つ以上の内部リングを含む形状。

原因

データベース レベルで無効と見なされる形状の場合、ArcGIS は必ずエラーを返します。 データベース レベルで有効と見なされる形状の場合、以前のバージョンの ArcGIS は、形状が正しく表示されることを保証するために、形状を検索するときに、内部の形状確認プロセスを実行していました。より複雑なジオメトリおよび多くの行を取得する場合、形状確認のコストが大きくなる可能性があります。  

そのため、ArcGIS 10.6 は、SQL Server または PostGIS のジオメトリなどのサードパーティの空間タイプに対する形状確認を無効にしたパフォーマンスの改善を導入しました。  

ArcGIS のみを使用して編集を実行する場合、ArcGIS が読み取りおよび表示を実行できない形状を挿入しないため、気付かれる唯一の影響は、パフォーマンスの向上です。編集が (SQL またはその他のアプリケーションを使用して) ArcGIS の外部で実行される場合、包含または互いに接触するリングを含む挿入された形状によって ArcGIS 内で表示の問題が発生することがあります。

  • 次の例は、ArcGIS が形状を正しく表示しないことがある 1 つの事例を示しています。
    POLYGON ((0 0, 50 0, 50 50, 0 50, 0 0), (0 0, 2 5, 5 5, 5 2, 0 0), (10 10, 10 20, 20 20, 20 10, 10 10))
  • この WKT ポリゴンは、ArcGIS では正しく表示されません。
    POLYGON ((0 0, 50 0, 50 50, 0 50, 0 0), (10 10, 10 20, 20 20, 20 10, 10 10), (0 0, 2 5, 5 5, 5 2, 0 0))

唯一の違いが、外部リングの一点で接触する内部リングの位置であることに注意してください。 ArcGIS での表示では、この接触する内部リングが、WKT 内で外側のリングの直後にリスト表示される必要があります。

  • 次の例は、ArcGIS で形状の整合性エラーが発生することがある 1 つの事例を示しています。
    次の WKT ポリゴンは、ArcGIS で正しく表示されます。
    POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0), (10 10, 20 10, 20 20, 10 20, 10 10), (20 20, 30 20, 30 30, 20 30, 20 20))
  • 次の WKT 表現は、ArcGIS では形状の整合性エラーを返します。
    POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0), (20 20, 30 20, 30 30, 20 30, 20 20), (10 10, 20 10, 20 20, 10 20, 10 10)) 

この場合も、唯一の違いが、WKT 内の一点で接触する 2 つの内部リングの順序であることに注意してください。

注意: この記事では説明されていない、同様の挙動が発生するその他の状況が存在することがあります。

対処法

ArcGIS の外部で空間データを編集するときに、この記事に記載された形状のような形状を挿入する場合、特別な検討を行う必要があります。 ホールを含むポリゴン形状の場合、外側の境界が必ず最初にリスト表示され、すべてのホールがそれに続く必要があります。 ポリゴンが、一点で外側の境界に接触する領域形状内の空のスペースである反転部分を含む場合、その反転部分は、外側の境界の直後にリスト表示される必要があります。 2 つのホールが一点で接触する場合、左下のホールが、接触する他のホールの前にリスト表示される必要があります。

更新日時 : 5/12/2020

記事 ID: 000023345