ValidateTopology — Renvoie un ensemble d'objets validatetopology_returntype détaillant les problèmes liés à la topologie.
setof validatetopology_returntype ValidateTopology(
varchar toponame, geometry bbox)
;
Renvoie un ensemble d'objets validatetopology_returntype détaillant les problèmes de topologie, en limitant éventuellement la vérification à la zone spécifiée par le paramètre bbox
.
La liste des erreurs possibles, ce qu'elles signifient et ce que représentent les identifiants renvoyés est affichée ci-dessous :
Erreur | id1 | id2 | Signification |
---|---|---|---|
nœuds coïncidents | Identifiant du premier nœud. | Identifiant du second nœud. | Deux nœuds ont la même géométrie. |
l'arête croise le nœud | Identifiant de l'arête. | Identifiant du nœud. | Une arête a un nœud à l'intérieur. Voir ST_Relate. |
arête invalide | Identifiant de l'arête. | La géométrie d'une arête n'est pas valide. Voir ST_IsValid. | |
l'arête n'est pas simple | Identifiant de l'arête. | Une géométrie d'arête possède des auto-intersections. Voir ST_IsSimple. | |
une arête croise une arête | Identifiant de la première arête. | Identifiant de la deuxième arête. | Deux arêtes ont une intersection intérieure. Voir ST_Relate. |
arête début nœud géométrie inadéquate | Identifiant de l'arête. | Identifiant du nœud de départ indiqué. | La géométrie du nœud indiqué comme nœud de départ d'une arête ne correspond pas au premier point de la géométrie de l'arête. Voir ST_StartPoint. |
arête extrémité nœud géométrie non conforme | Identifiant de l'arête. | Identifiant du nœud final indiqué. | La géométrie du nœud indiqué comme nœud final d'une arête ne correspond pas au dernier point de la géométrie de l'arête. Voir ST_EndPoint. |
face sans arêtes | Identifiant de la face orpheline. | Aucune arête ne signale une face existante sur l'un ou l'autre de ses côtés (face_gauche, face_droite). | |
la face n'a pas d'anneaux | Identifiant de la face partiellement définie. | Les arêtes rapportant une face sur leurs côtés ne forment pas un anneau. | |
la face n'a pas le bon mbr (minimum bounding rectangle) | Identifiant de la face avec un cache mbr (minimum bounding rectangle) erroné. | Le rectangle minimal de délimitation d'une face ne correspond pas au rectangle minimal de délimitation de la collection d'arêtes rapportant la face sur leurs côtés. | |
le trou n'est pas dans la face annoncée | Identifiant signé d'une arête, identifiant l'anneau. Voir GetRingEdges. | Un anneau d'arêtes rapportant une face sur son extérieur est contenu dans une face différente. | |
le nœud non isolé a une face non-contenante | Identifiant du nœud mal défini. | Un nœud signalé comme étant à la limite d'une ou plusieurs arêtes indique une face contenante. | |
le nœud isolé a une face contenante | Identifiant du nœud mal défini. | Un nœud qui n'est pas signalé comme étant à la limite d'une arête n'a pas l'indication d'une face contenante. | |
Le nœud isolé n'a pas la bonne face contenante | Identifiant du nœud mal représenté. | Un nœud qui n'est pas signalé comme étant à la limite d'une arête indique une face contenante qui n'est pas la face réelle qui le contient. Voir GetFaceContainingPoint. | |
next_right_edge invalide | Identifiant de l'arête mal représentée. | Identifiant signé de l'arête qui doit être indiqué comme la prochaine arête droite. | L'arête indiquée comme le prochaine arête rencontrée en évoluant sur le côté droit d'une arête est faux. |
next_left_edge invalide | Identifiant de l'arête mal représentée. | Identifiant signé de l'arête qui doit être indiquée comme l'arête gauche suivante. | L'arête indiquée comme la prochaine arête rencontrée en évoluant sur le côté gauche d'une arête est faux. |
étiquetage mixte des faces dans l'anneau | Identifiant signé d'une arête, identifiant l'anneau. Voir GetRingEdges. | Les arêtes d'un anneau indiquent des faces conflictuelles dans le sens de la progression. C'est ce que l'on appelle un "Side Location Conflict" (Conflit d'emplacement latéral). | |
anneau non fermé | Identifiant signé d'une arête, identifiant l'anneau. Voir GetRingEdges. | Un anneau d'arêtes formé par les attributs next_left_edge/next_right_edge commence et se termine sur différents nœuds. | |
la face a plusieurs enveloppes | Identifiant de la face contestée. | Identifiant signé d'une arête, identifiant l'anneau. Voir GetRingEdges. | Plus d'un anneau d'arêtes indique la même face à l'intérieur. |
Disponibilité : 1.0.0
Amélioration : 2.0.0 détection plus efficace des croisements d'arêtes et correction des faux positifs qui existaient dans les versions précédentes.
Modifié : 2.2.0 les valeurs pour id1 et id2 ont été échangées pour "edge crosses node" pour être cohérent avec la description de l'erreur.
Modifié : 3.2.0 a ajouté le paramètre optionnel bbox, effectuant des vérifications de l'étiquetage des faces et de la liaison des arêtes.