[beta] Routing: Reverse Geocoding

Issue #1145 open
Routing Plus BKG Team created an issue

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
        }
  1. 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?).
  2. 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.
  3. 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)

  1. Log in to comment