Wie werden Geodaten aus Postgis am häufigsten in Leaflet angezeigt?

18

Zum Beispiel habe ich in meiner Datenbank einige Punkte mit geografischen Koordinaten. Ich möchte sie auf der Ebene von Leaflet JS anzeigen. Welche Instrumente soll ich verwenden? Vielleicht gibt es eine API ...

John Smith
quelle
Willkommen bei der GIS SE? Ist Ihre Frage wirklich "Wie werden PostGIS-Punkte mit Leaflet angezeigt?" Wenn ja, können Sie Ihre Frage bearbeiten, um dies klarer zu machen, da ich nicht sicher bin, was Sie in diesem Zusammenhang unter "Instrumenten" verstehen.
PolyGeo

Antworten:

22

Um Daten aus einer Datenbank in einen Webbrowser zu übertragen, müssen Sie ein serverseitiges Skript verwenden. Dies kann schwierig sein, da Sie sich über Sicherheitslücken wie SQL Injection im Klaren sein müssen. Zu beachten ist vor allem, dass Sie parametrisierte Abfragen verwenden und sicherstellen sollten, dass Ihr Datenbankbenutzer nicht privilegiert ist und nur Lesezugriff auf die Tabellen hat, die öffentlich sein sollen.

Der einfache Weg, um API-Zugriff auf eine Datenbank zu erhalten, besteht darin, ein bisschen Software wie GeoServer zu verwenden. Dies ist jedoch eine sehr große Anwendung für potenziell kleine Probleme.

Eine andere Methode wäre, dass ein serverseitiges Skript die Daten in regelmäßigen Abständen in eine GeoJSON-Datei ausgibt. Dies hängt davon ab, wie oft sich Ihre Daten ändern. Dies kann stündlich, täglich oder wöchentlich erfolgen. Denken Sie daran, dass Ihre Website möglicherweise nicht funktioniert, während die Datei geschrieben wird.

Eine andere Methode besteht darin, PHP oder Python als CGI-Skript zu verwenden, um Ihre eigene API zu erstellen.

Beispiele:

Sobald Sie GeoJSON haben, egal ob dynamisch oder statisch, können Sie es ganz einfach mit Leaflet laden: http://leafletjs.com/examples/geojson.html .

Alex Leith
quelle
1
Danke für die Antwort. Ich neige dazu, GeoJSON zu verwenden. Jetzt möchte ich CSV-Datei anstelle von Postgis verwenden, es in geoJSON konvertieren und dann Daten mit Leaflet anzeigen.
John Smith
1
Verwenden Sie dann ogr2ogr Lesung csv , um leicht zu geoJSON zu konvertieren
Jorge Sanz
1
Wenn Ihre Daten zu groß sind und das Laden als JSON zu lange dauert, werfen Sie einen Blick auf TopoJSON. github.com/mbostock/topojson
Alex Leith
0

Sie können dieses Prospekt-Plugin ausprobieren

geomajor56
quelle