- changed status to open
[beta] Routing: Reverse Geocoding
Issue #1145
open
Hallo,
in der Beta2 sind im Routing Modul ein paar Unklarheiten zum Thema Geocoding aufgetaucht.
Beim Reverse Geocoding in actionsRouting.js ist am Ende der Funktion fetchTextByCoordinates der folgende Block:
// Transform WGS84 Coordinates to Local Projection
geosearchResults.forEach(async geosearchResult => {
if (!geosearchResult.getEpsg()) {
geosearchResult.setEpsg("4326");
}
const coordinatesLocal = await dispatch(
"Modules/Routing/transformCoordinatesToLocalProjection",
{coordinates: geosearchResult.getCoordinates(),
epsg: geosearchResult.getEpsg()},
{root: true}
);
geosearchResult.setCoordinates(coordinatesLocal);
});
}
catch (err) {
// fail silently, comment needed for linter
}
- Wir haben das Geocoding mit Nominatim durchgeführt, hier wird jedoch nur ein Ergebnis zurückgegeben. D.h.
geosearchResults
ist ein Objekt statt ein Array und kann somit auch nicht mit forEach bearbeitet werden (Möglicherweise ist die Anzahl der Ergebnisse in der Response von Dienst zu Dienst unterschiedlich?). - Daher wird immer der catch-Block ausgeführt, im Code wird der Fehler aber nicht abgefangen. In der Anwendung bekommt man daher nicht mit, dass der obere forEach-Block gar nicht ausgeführt wurde.
- Obwohl der forEach Block mit der Koordinatentransformation scheinbar nicht ausgeführt wird, ist das dargestellte Ergebnis korrekt und die Punkte lassen sich problemlos für das Routing weiterverwenden. Welche Funktion hat die Transformation an dieser Stelle?
Viele Grüße
das RoutingPlus Team
Comments (1)
-
- Log in to comment