名前

ValidateTopology — トポロジの問題についての詳細を示す validatetopology_returntype の集合を返します。

概要

setof validatetopology_returntype ValidateTopology(varchar toponame, geometry bbox);

説明

トポロジの問題の詳細説明に関するvalidatetopology_returntypeオブジェクトを返します。任意にbboxパラメータで指定された範囲に確認を制限します。

エラーの一覧を示します。可能性のある、意味することろ、返される id 表現は次の通りです:

Error id1 id2 意味
coincident nodes (訳注: 重複ノード) 最初のノードの識別子。 2番目のノードの識別子。 二つのノードは同じジオメトリーを持ちます。
edge crosses node (訳注: エッジとノードのクロス) エッジの識別子。 ノードの識別子。 エッジが内部にノードを持っています。ST_Relateを参照して下さい。
invalid edge (訳注: 不正なエッジ) エッジの識別子。   エッジジオメトリーが不正です。ST_IsValidをご覧下さい。
edge not simple (訳注: 単純でないエッジ) エッジの識別子。   エッジジオメトリーが自己交差しています。ST_IsSimpleを参照して下さい。
edge crosses edge (訳注: エッジとエッジのクロス) 最初のエッジの識別子。 2番目のエッジの識別子。 二つのエッジが内部でインターセクトしています。ST_Relate をご覧下さい。
edge start node geometry mismatch (訳注: 開始ノードジオメトリーの不整合) エッジの識別子。 示された開始ノードの識別子。 エッジの開始ノードとして示されたノードのジオメトリーが、エッジジオメトリーの最初のポイントと合致しません。ST_StartPointを参照して下さい。
edge end node geometry mismatch (訳注: 終了ノードジオメトリーの不整合) エッジの識別子。 示された終了ノードの識別子。 エッジの終了ノードとして示されたノードのジオメトリーがエッジジオメトリーの最後のポイントと合致しません。ST_EndPointを参照して下さい。
face without edges (訳注: エッジのないフェイス) 取り残されたフェイスの識別子。   既存のフェイスを左右いずれかの側に (left_face, right_face として) 持つエッジが存在しません。
face has no rings (訳注: 環のないフェイス) 部分的に定義されたフェイスの識別子。   環を形成しない側のフェイスを示すエッジ。
face has wrong mbr (訳注: 誤ったバウンディングボックスを持ったフェイス) 不正な MBR キャッシュを持つフェイスの識別子。   フェイスの最小バウンディング四角形が、サイド上のフェイスを示すエッジのコレクションの最小バウンディングボックスと合致しません。
hole not in advertised face (訳注: 穴がフェイス内に存在しない) リングを識別する符号付きのエッジ識別子。GetRingEdgesを参照して下さい。   エッジの環が、外環のフェイスが異なるフェイスに含まれているフェイスを示します。
not-isolated node has not- containing_face (訳注: 非孤立ノードが非孤立フェイスを持っています) はっきりしないノードの識別子。   一つ以上のエッジの境界上にあると示された一つのノードが、そのノードを含んでいるフェイスを示しています。
isolated node has containing_face (訳注: 孤立ノードが containing_face を持っています) はっきりしないノードの識別子。   どのエッジの境界上にもないと報告されるノードが、それを含むフェイスが無いことを示しています。
isolated node has wrong containing_face (訳注: この孤立ノードを含んでいるフェイスが不正) 不正確なノードの識別子。   どのエッジの境界上にもないと報告されるノードが、そのノードを実際に含むフェイスではないフェイスに含まれていることを示しています。GetFaceContainingPointを参照して下さい。
invalid next_right_edge (訳注: 不正な next_right_edge) 不正確なエッジの識別子。 符号付き識別子で次の右エッジを示します。 エッジの右側を進んで遭遇する次のエッジが間違っていることを示しています。
invalid next_left_edge (訳注: 不正な next_left_edge) 不正確なエッジの識別子。 符号付き識別子で次の左エッジを示します。 エッジの左側を進んで遭遇する次のエッジが間違っていることを示しています。
mixed face labeling in ring (訳注: リング内のフェイスのラベルの矛盾) リングを識別する符号付きのエッジ識別子。GetRingEdgesを参照して下さい。   リング内のエッジが、進む側にあるフェイスが矛盾していることを示しています。これは「サイドロケーションの矛盾」とも言われます。
non-closed ring (訳注: 閉じていないリング) リングを識別する符号付きのエッジ識別子。GetRingEdgesを参照して下さい。   続く next_left_edge/next_right_edge 属性で形成されるエッジのリングの始点と終点が異なります。
face has multiple shells (訳注: 複数の外側リングを持つフェイス) 競合するフェイスの識別子。 リングを識別する符号付きのエッジ識別子。GetRingEdgesを参照して下さい。 複数のエッジのリングがその内部で同じフェイスを示しています。

Availability: 1.0.0

Enhanced: 2.0.0では、より効果的なエッジ交差検出が可能になり、以前の版で残っていた偽陽性を解決しています。

Changed: 2.2.0 エラーの記述と矛盾しないように'edge crosses node'の id1と id2の値が入れ替わっています。

Changed: 3.2.0 任意パラメータ bbox を追加し、フェイスラベルとエッジリンクのチェックを追加しました。

コード
SELECT * FROM topology.ValidateTopology('ma_topo');
出力
error        | id1 | id2
-------------------+-----+-----
face without edges |   1 |