名稱

ValidateTopology — 傳回一組 validatetopology_returntype 物件,詳細說明拓樸的問題。

概要

setof validatetopology_returntype ValidateTopology(varchar toponame, geometry bbox);

說明

傳回一組 validatetopology_returntype 物件,詳細說明拓樸的問題,可選擇性地將檢查限制在 bbox 參數指定的區域內。

下面顯示了可能發生的錯誤列表、它們的含義以及傳回的 ID 代表的內容

錯誤 id1 id2 含義
重合節點 第一個節點的識別碼。 第二個節點的識別碼。 兩個節點具有相同的幾何形狀。
邊緣跨越節點 邊緣的識別碼。 節點的識別碼。 邊緣的內部有一個節點。請參閱 ST_Relate
無效邊緣 邊緣的識別碼。   邊緣幾何形狀無效。請參閱 ST_IsValid
邊緣非簡單 邊緣的識別碼。   邊緣幾何形狀具有自我相交。請參閱 ST_IsSimple
邊緣跨越邊緣 第一個邊緣的識別碼。 第二個邊緣的識別碼。 兩個邊緣具有內部交點。請參閱 ST_Relate
邊緣起始節點幾何形狀不符 邊緣的識別碼。 指示的起始節點的識別碼。 指示為邊緣起始節點的節點幾何形狀,與邊緣幾何形狀的第一個點不符。請參閱 ST_StartPoint
邊緣結束節點幾何形狀不符 邊緣的識別碼。 指示的結束節點的識別碼。 指示為邊緣結束節點的節點幾何形狀,與邊緣幾何形狀的最後一個點不符。請參閱 ST_EndPoint
面沒有邊緣 孤立面的識別碼。   沒有任何邊緣在其任一側(左面、右面)報告現有的面。
面沒有環 部分定義的面的識別碼。   在其側面報告面的邊緣沒有形成環。
面具有錯誤的最小邊界矩形 具有錯誤最小邊界矩形快取的面的識別碼。   面的最小邊界矩形,與在其側面報告該面的邊緣集合的最小邊界框不符。
孔洞不在宣告的面內 邊緣的帶號識別碼,用於識別環。請參閱 GetRingEdges   在其外部報告面的邊緣環,包含在不同的面中。
非孤立節點沒有包含面 定義錯誤的節點的識別碼。   一個或多個邊緣的邊界上的節點,指示一個包含的面。
孤立節點具有包含面 定義錯誤的節點的識別碼。   未報告為在任何邊緣的邊界上的節點,缺乏包含面的指示。
孤立節點具有錯誤的包含面 錯誤表示的節點的識別碼。   未報告為在任何邊緣的邊界上的節點,指示的包含面並非實際包含它的面。請參閱 GetFaceContainingPoint
無效的 next_right_edge 錯誤表示的邊緣的識別碼。 應該指示為下一個右側邊緣的邊緣帶號識別碼。 指示為在邊緣右側行走時遇到的下一個邊緣是錯誤的。
無效的 next_left_edge 錯誤表示的邊緣的識別碼。 應該指示為下一個左側邊緣的邊緣帶號識別碼。 指示為在邊緣左側行走時遇到的下一個邊緣是錯誤的。
環中混合的面標籤 邊緣的帶號識別碼,用於識別環。請參閱 GetRingEdges   環中的邊緣在行走側指示衝突的面。這也稱為「側邊位置衝突」。
非封閉環 邊緣的帶號識別碼,用於識別環。請參閱 GetRingEdges   由跟隨 next_left_edge/next_right_edge 屬性形成的邊緣環,在不同的節點上開始和結束。
面有多個殼 爭議面的識別碼。 邊緣的帶號識別碼,用於識別環。請參閱 GetRingEdges 多於一個邊緣環在其內部指示相同的面。

可用性:1.0.0

增強功能:2.0.0 更有效率的邊緣交叉偵測,並修正了先前版本中存在的誤報。

變更:2.2.0 將 '邊緣跨越節點' 的 id1 和 id2 值交換,使其與錯誤說明一致。

變更:3.2.0 新增可選的 bbox 參數,執行面標籤和邊緣連結檢查。

範例

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