Open edigonzales opened 1 year ago
Die "Overlay" Meldung bedeutet: ein ganzer Linienabschnitt überdeckt sich (also nicht nur ein oder zwei Schnittpunkte).
Ist es "möglich" eine Koordinate des Linienzuges auszugeben? Oder AREA-Validierung refactoren?
Wir haben dasselbe Problem und benötigen zwingen exakte Angaben (Koordinaten) der Überschneidungen! Die betroffenen Flächen sind teilweise riesig, das Auffinden des effektiven Problems ist nur mit sehr grossem Aufwand möglich. Dieses Problem haben wir erst seit ca. einem halben Jahr. Wann wurde die "Verschärfung" des Checkservices installiert? Ich vermute, dass die meisten Probleme Radien betreffen.
Die "Overlay" Meldung bedeutet: ein ganzer Linienabschnitt überdeckt sich (also nicht nur ein oder zwei Schnittpunkte).
Diese Aussage stimmt nicht für die Meldung "polygons overlay ...".
Die Meldung "polygons overlay..." erfolgt wenn folgende Bedingung erfüllt ist: p0.equals(p1) || p0.overlaps(p1) || p0.within(p1) || p1.within(p0)
. Wobei p0 und p1 Polygone sind und sich die Randlinien nicht schneiden. Es gibt also keine Schnittpunkte, und es sollte einfach sichtbar sein (wenn man nur die beiden in der Meldung referenzierten Polygone anzeigt); das eine Polygon liegt ganz im Anderen.
Ich muss einen Fall raussuchen aber die Fehlermeldung erscheint m.E. auch, wenn nicht ein ganzes Polygon innerhalb eines anderen liegt. Und aus diesem Grund findet man die Fehler relativ schlecht.
Wenn nicht das ganze Polygon im Anderen liegt (oder gar identisch ist), sollte eine "Intersection..." Meldung kommen (und keine "polygons overlay...").
Fall RSU.T01f.xtf der Testsuite https://github.com/geoadmin/suite-interlis/blob/master/doc/de/attribute.adoc#rsut01 führt wie erwartet zu "polygons overlay"
Und bei Fall RSU.T01a.xtf werden die überlappenden Segmente inkl. beiden Koordinaten rapportiert.
Und RSU.T12a.xtf für einen Fall wo sich die Ränder schneiden (nur eine Koordinate).
Ich habe ein Beispiel (siehe ZIP-File): npl_kappel.xtf wird geprüft, die Fehlermeldungen in "npl_kappel_ilivalidator.log" helfen nur bedingt zur Fehlersuche. Wenn nur die GlobalIds der betroffenen Flächen herausgegeben werden und die eine Fläche die gesamten Strassen einer Gemeinde betrifft, ist das Finden des effektiven Problem sehr schwierig! npl_kappel.zip
Ich habe eine Meldung von Kunos XTF genauer angeschaut:
Error: polygons overlay tid1 669C725B-C16C-4E56-97A8-8AED82E9701A/Geometrie[1], tid2 AF1E4040-9600-44A1-A371-8D11175148DA/Geometrie[1]
Eine der beiden Geometrien hat einen zusätzlichen Stützpunkt "2630735.908,1241643.685", der sehr nahe an der vermeintlich identischen Grenze liegt. Visuell (QGIS) führt das zu einer kleinen Überlappung. Schiebe ich den Punkt bewusst weg von der vermeintlich gemeinsamen Grenze, so dass visuell keine Überlappung sichtbar ist, verschwindet auch die Fehlermeldung.
Warum muss ein Polygon innerhalb eines anderen sein für diese Meldung, wenn gilt p0.overlaps(p1)
. Siehe z.B. https://postgis.net/docs/en/ST_Overlaps.html
Das XTF muss man mit Zusatzmodell und ini-File testen:
java -jar ilivalidator-1.13.3.jar --config nutzungsplanung.ini npl_kappel.xtf
Es ist der validate set constraint SO_Nutzungsplanung_20171118_Validierung_20211006.Nutzungsplanung_Validierung.v_Ueberlagernd_Flaeche.laermempfindlichkeitsAreaCheck
Constraint, der aus einem Subset von Polygonen die Area-Prüfung macht.
Im Gegensatz:
Polygons overlay: Ist mir auch nicht ganz klar in Abgrenzung zu https://github.com/claeis/ilivalidator/blob/master/docs/ilivalidator.rst#hinweise-zu-fehlermeldungen