Name

ValidateTopology — Returnerar en uppsättning validatetopology_returntype-objekt som beskriver problem med topologin.

Synopsis

setof validatetopology_returntype ValidateTopology(varchar toponame, geometry bbox);

Beskrivning

Returnerar en uppsättning validatetopology_returntype -objekt som beskriver problem med topologin och eventuellt begränsar kontrollen till det område som anges av parametern bbox.

Nedan visas en lista över möjliga fel, vad de betyder och vad de returnerade ID:na representerar:

Fel id1 id2 Betydelse
sammanfallande noder Identifierare för första noden. Identifierare för den andra noden. Två noder har samma geometri.
kant korsar nod Identifierare av kanten. Identifierare för noden. En kant har en nod i sitt inre. Se ST_Relate.
ogiltig flank Identifierare av kanten.   En kantgeometri är ogiltig. Se ST_IsValid.
kant inte enkel Identifierare av kanten.   En kantgeometri har självskärningar. Se ST_IsSimple.
kant korsar kant Identifierare av första kanten. Identifierare av andra kanten. Två kanter har en inre skärningspunkt. Se ST_Relate.
kant start nod geometri missmatchning Identifierare av kanten. Identifierare för den angivna startnoden. Geometrin för den nod som anges som startnod för en kant stämmer inte överens med den första punkten i kantgeometrin. Se ST_StartPoint.
kant ändnod geometri missanpassning Identifierare av kanten. Identifierare för den angivna slutnoden. Geometrin för den nod som anges som slutnod för en kant stämmer inte överens med den sista punkten i kantgeometrin. Se ST_EndPoint.
yta utan kanter Identifierare av den föräldralösa ytan.   Ingen kant rapporterar en befintlig yta på någon av sina sidor (left_face, right_face).
ytan har inga ringar Identifierare av den delvis definierade ytan.   Kanter som rapporterar en yta på sina sidor bildar inte en ring.
ytan har fel mbr Identifierare av yta med felaktig mbr-cache.   Minsta avgränsande rektangel för en yta stämmer inte överens med minsta avgränsande box för samlingen av kanter som rapporterar ytan på sina sidor.
hål inte i annonserad yta Signerad identifierare av en kant som identifierar ringen. Se GetRingEdges.   En ring av kanter som rapporterar en yta på sin utsida är innesluten i en annan yta.
ej isolerad nod har ej innehållande_yta Identifierare för den odefinierade noden.   En nod som rapporteras ligga på gränsen till en eller flera kanter indikerar en innehållande yta.
isolerad nod har innehållande_yta Identifierare för den odefinierade noden.   En nod som inte rapporteras som liggande på gränsen till någon kant saknar indikationen för en innehållande yta.
isolerad nod har fel containing_face Identifierare för den felaktigt presenterade noden.   En nod som inte rapporteras som liggande på gränsen till någon kant indikerar en innehållande yta som inte är den faktiska yta som innehåller den. Se GetFaceContainingPoint.
ogiltig next_right_edge Identifierare av den felrepresenterade kanten. Signerad id för den kant som ska anges som nästa högerkant. Den kant som anges som nästa kant som man stöter på när man går på höger sida av en kant är fel.
ogiltig nästa_vänstra_kant Identifierare av den felrepresenterade kanten. Signerad id för den kant som ska anges som nästa vänstra kant. Den kant som anges som nästa kant som man stöter på när man går på vänster sida av en kant är fel.
blandad ytmärkning i ring Signerad identifierare av en kant som identifierar ringen. Se GetRingEdges.   Kanter i en ring indikerar motstridiga ytor på gångsidan. Detta kallas också för en "Side Location Conflict".
ej sluten ring Signerad identifierare av en kant som identifierar ringen. Se GetRingEdges.   En ring av kanter som bildas genom att följa next_left_edge/next_right_edge-attributen börjar och slutar på olika noder.
ytan har flera skal Identifierare av den konturerade ytan. Signerad identifierare av en kant som identifierar ringen. Se GetRingEdges. Mer än en ring av kanter indikerar samma yta på dess insida.

Tillgänglighet: 1.0.0

Förbättrad: 2.0.0 effektivare detektering av kantkorsningar och korrigeringar för falska positiva som fanns i tidigare versioner.

Ändrad: 2.2.0 värdena för id1 och id2 byttes ut mot "edge crosses node" för att stämma överens med felbeskrivningen.

Ändrad: 3.2.0 lade till valfri bbox-parameter, utför kontroller av ytmärkning och kantlänkning.

Exempel

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