Fehler bei Laden von Wanderweg

Wenn mal etwas nicht klappt ...
Antworten
Moritz
Beiträge: 2
Registriert: 17.05.2020, 13:52

Fehler bei Laden von Wanderweg

Beitrag von Moritz »

Wenn ich einen bestimmten Wanderweg (die anderen funktionieren anscheinend) laden möchte, bekomme ich eine Fehlermeldung angezeigt.

https://www.wanderreitkarte.de/php/rout ... id=3082692
<br />
<b>Warning</b>: array_reverse() expects parameter 1 to be array, null given in <b>/osm/www/php/routeload.php</b> on line <b>249</b><br />
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/osm/www/php/routeload.php</b> on line <b>255</b><br />
<br />
<b>Warning</b>: pg_query(): Query failed: ERROR: parse error - invalid geometry
HINT: "LINESTRING()" <-- parse error at position 13 within geometry in <b>/osm/www/php/basic.php</b> on line <b>41</b><br />
Problem with query select st_asText( st_transform( st_simplify( st_transform(
st_geomFromText( 'LINESTRING()', 4326), 900913 ), 30 ), 4326)) as line;<br/>ERROR: parse error - invalid geometry
HINT: "LINESTRING()" <-- parse error at position 13 within geometry
Scheint, als käme ein leeres Ergebnis zurück, welches dann den Parser dazu bringt PHP-Fehlermeldungen zurückzugeben.

https://www.wanderreitkarte.de/php/rout ... id=3068725
2vuci,v60w|2vubu,v5ux|2vual,v5uy|2vu90,v5xh|2vu2p,v5wi|2vu2f,v5y6|2vtxo,v612|2vu11,v66z|2vu14,v6c7|2vu2f,v6dl|2vu26,v6ja|2vu3h,v6m2|2vu1k,v6rq|2vu37,v6ok|2vu4s,v6o7|2vu5i,v6i0|2vu8e,v6es|2vu80,v66s|2vuan,v61v|2vucf,v60z||
Wäre es nicht möglich, in das Routenformat eine Möglichkeit einzubauen, Fehler sauber zurückzugeben? Vielleicht so etwas wie "!!error:Fehlertext" am Anfang des codierten Routen-Textes, was dann von PHP beim Routen laden zurückgegeben werden kann, falls es Probleme gibt. Damit kann dann die GUI eine kompaktere Fehlermeldung liefern. Eine Fehlermeldung, dass die Route aus $grund nicht geladen werden konnte, ist auf jeden Fall besser als gar keine Rückmeldung.

(Die Integrietät von gespeicherten Routendaten in der Datenbank wäre ein eigenes Thema. Vielleicht beim Eintragen der Route einen CRC-Wert des codierten Routenformats abspeichern, welcher sporadisch bei Wartungsarbeiten geprüft werden kann? Wäre wahrscheinlich schneller, als jede codierte Route durch den Parser zu schicken, falls man sich nicht sicher ist, ob nichts beschädigt wurde.)
Benutzeravatar
Nop
Site Admin
Beiträge: 601
Registriert: 10.01.2019, 20:46

Re: Fehler bei Laden von Wanderweg

Beitrag von Nop »

Danke für die Fehlermeldung. Die Daten sind so gut oder schlecht wie sie eben bei OSM drin stehen.

Ich werde das mal debuggen ob sich diese Art von Fehler erkennen und abfangen läßt. Sieht nach einem defekten Weg aus, den könnte man einfach weglassen und weiter machen.
Moritz
Beiträge: 2
Registriert: 17.05.2020, 13:52

Re: Fehler bei Laden von Wanderweg

Beitrag von Moritz »

Zumindest könnte PHP das parsen sauber abbrechen, sobald ein Fehler auftritt.

Nichts hindert routload.php daran eine Fehlermeldung zu produzieren, welche dann von JavaScript verarbeitet und in der GUI angezeigt werden kann. Oder handelt es sich dabei um eine Library die man nicht anfassen sollte?

Dann könnte immer noch Javascript die PHP-Fehlermeldung auf String-basis erkennen und eine Rückmeldung liefern.
Antworten