Gibt es eine Möglichkeit, die Geokodierung mit PostGIS rückgängig zu machen? Es gibt viele Informationen im Web, aber ich fand es sehr verwirrend ...
Ich habe Osmodaten mit der PostGIS-Datenbank in mein eigenes Postgres importiert. Jetzt möchte ich mit meiner Datenbank Geocodierungen und umgekehrte Geocodierungen durchführen. Ich weiß nicht, ob es gespeicherte Prozeduren oder ein Projekt gibt, das sich um mein Problem kümmert.
Der nächste Schritt, den ich machen möchte, ist ein Webservice, der diese Art von Anfragen bearbeiten kann, aber das ist eine andere Frage.
postgis
reverse-geocoding
Joaquín M
quelle
quelle
Antworten:
Schließlich verstehe ich die Möglichkeit, Geocodierung und umgekehrte Geocodierung mit meiner PostGIS-Datenbank durchzuführen. Ich habe eine gespeicherte Prozedur erstellt, die Geometrietypen findet, die sich in der Nähe eines Punkts befinden. Diese gespeicherte Prozedur verwendet die Distanzfunktion, um die nächstgelegenen Punkte zu ermitteln. Danach habe ich eine RESTful-API erstellt, die diese gespeicherte Prozedur aufruft, um die Reverse-Geocodierungsanforderungen aufzulösen.
Korrigieren Sie mich, wenn ich falsch liege, aber ich habe verstanden, dass das Nominatim-Projekt eine API für Datenbanken erstellt, die aus OSM importiert wurden. Sie müssen also keine gespeicherte Prozedur für Reverse Geocoding und Geocoding erstellen. Außerdem müssen Sie keinen Webservice einrichten, um die Anforderungen über das Web zu lösen.
Hoffe das hilft jemandem.
quelle
CREATE OR REPLACE FUNCTION reverse_geocode(lat double precision, lon double precision) RETURNS text AS $BODY$ declare point geometry; rec record; geocode text; begin point := geomfromtext('POINT('||lat||' '||lon||')', 4326); select name, distance(way, point) as dist into rec from mapserverdb_point order by dist asc limit 1; geocode := rec.name; return geocode; end; $BODY$ LANGUAGE plpgsql;
Der Tiger-Geocoder von PostGIS 2.0 verfügt über einen Reverse-Geocoder, der Tiger-Daten verwendet. Der Geocoder wird in PostGIS 1.5 8.4+ oder höher problemlos installiert.
Wenn Sie in den USA sind, ist dies möglicherweise die einfachste Verwendung, da alles als plpgsql-Funktionen verpackt ist.
http://www.postgis.org/documentation/manual-svn/Extras.html#Tiger_Geocoder http://www.postgis.org/documentation/manual-svn/Reverse_Geocode.html
quelle