Name

ValidateTopology — Liefert eine Menge validatetopology_returntype Objekte, die Probleme mit der Topologie beschreiben.

Synopsis

setof validatetopology_returntype ValidateTopology(varchar toponame, geometry bbox);

Beschreibung

Gibt eine Reihe von validatetopology_returntype Objekten zurück, die Probleme mit der Topologie aufzeigen, wobei die Prüfung optional auf den durch den Parameter bbox angegebenen Bereich beschränkt werden kann.

Die Liste der möglichen Fehler, ihre Bedeutung und die zurückgegebenen IDs sind unten aufgeführt:

Error id1 id2 Bedeutung
übereinstimmende Knotenpunkte Kennung des ersten Knotens. Kennung des zweiten Knotens. Zwei Knoten haben die gleiche Geometrie.
edge crosses node Kennung der Kante. Bezeichner des Knotens. Eine Kante hat einen Knoten in ihrem Inneren. Siehe ST_Relate.
invalid edge Kennung der Kante.   Eine Kantengeometrie ist ungültig. Siehe ST_IsValid.
edge not simple Kennung der Kante.   Eine Kantengeometrie hat Selbstschnittpunkte. Siehe ST_IsSimple.
edge crosses edge Kennung der ersten Kante. Kennung der zweiten Kante. Zwei Kanten haben einen inneren Schnittpunkt. Siehe ST_Relate.
edge start node geometry mismatch Kennung der Kante. Kennung des angegebenen Startknotens. Die Geometrie des Knotens, der als Startknoten für eine Kante angegeben ist, stimmt nicht mit dem ersten Punkt der Kantengeometrie überein. Siehe ST_StartPoint.
edge end node geometry mismatch Kennung der Kante. Kennung des angegebenen Endknotens. Die Geometrie des Knotens, der als Endknoten für eine Kante angegeben ist, stimmt nicht mit dem letzten Punkt der Kantengeometrie überein. Siehe ST_EndPoint.
face without edges Kennung des verwaisten Gesichts.   Keine Kante meldet eine vorhandene Fläche auf einer ihrer Seiten (left_face, right_face).
face has no rings Kennung der teilweise definierten Fläche.   Kanten, die an ihren Seiten eine Fläche aufweisen, bilden keinen Ring.
Gesicht hat falsches mbr Kennung des Gesichts mit falschem mbr-Cache.   Das minimale Begrenzungsrechteck einer Fläche stimmt nicht mit dem minimalen Begrenzungsrahmen der Sammlung von Kanten überein, die die Fläche an ihren Seiten darstellen.
Loch nicht im beworbenen Gesicht Signierter Bezeichner einer Kante, der den Ring identifiziert. Siehe GetRingEdges.   Ein Ring von Kanten, der eine Fläche auf seiner Außenseite meldet, ist in einer anderen Fläche enthalten.
nicht-isolierter Knoten hat nicht-enthaltende_Fläche Kennung des schlecht definierten Knotens.   Ein Knoten, der als an der Grenze einer oder mehrerer Kanten liegend gemeldet wird, zeigt eine enthaltende Fläche an.
isolierter Knoten hat containing_face Kennung des schlecht definierten Knotens.   Einem Knoten, der nicht als auf der Grenze einer Kante liegend gemeldet wird, fehlt der Hinweis auf eine enthaltende Fläche.
isolierter Knoten hat falsche containing_face Kennung des falsch dargestellten Knotens.   Ein Knoten, der nicht als auf dem Rand einer Kante liegend gemeldet wird, weist auf eine enthaltende Fläche hin, die nicht die eigentliche Fläche ist, die ihn enthält. Siehe GetFaceContainingPoint.
ungültig next_right_edge Kennung der falsch dargestellten Kante. Vorzeichenlose ID der Kante, die als nächste rechte Kante angezeigt werden soll. Die Kante, die als nächste Kante angegeben ist, wenn man auf der rechten Seite einer Kante geht, ist falsch.
ungültig nächster_linker_Rand Kennung der falsch dargestellten Kante. Signierte ID der Kante, die als nächste linke Kante angezeigt werden soll. Die Kante, die als nächste Kante angegeben ist, wenn man auf der linken Seite einer Kante geht, ist falsch.
gemischte Gesichtsauszeichnung im Ring Signierter Bezeichner einer Kante, der den Ring identifiziert. Siehe GetRingEdges.   Kanten in einem Ring weisen auf kollidierende Flächen auf der gehenden Seite hin. Dies wird auch als "Seitenlagekonflikt" bezeichnet.
nicht geschlossener Ring Signierter Bezeichner einer Kante, der den Ring identifiziert. Siehe GetRingEdges.   Ein Ring von Kanten, der durch die Attribute next_left_edge/next_right_edge gebildet wird, beginnt und endet an verschiedenen Knoten.
Gesicht hat mehrere Schalen Kennung der umstrittenen Fläche. Signierter Bezeichner einer Kante, der den Ring identifiziert. Siehe GetRingEdges. Mehr als ein Kranz von Kanten weist auf dieselbe Fläche im Inneren hin.

Verfügbarkeit: 1.0.0

Erweiterung: 2.0.0 effizientere Ermittlung sich überkreuzender Kanten. Falsch positive Fehlmeldungen von früheren Versionen fixiert.

Änderung: 2.2.0 Bei 'edge crosses node' wurden die Werte für id1 und id2 vertauscht, um mit der Fehlerbeschreibung konsistent zu sein.

Geändert: 3.2.0 fügte den optionalen bbox-Parameter hinzu und führte Prüfungen der Flächenbeschriftung und der Kantenverknüpfung durch.

Beispiele

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