Quelle est la façon la plus courante d'afficher les géodonnées de Postgis sur Leaflet?
18
Par exemple, dans ma base de données, j'ai quelques points avec des coordonnées géographiques. Je veux les afficher sur la couche Leaflet JS. Quels instruments dois-je utiliser? Il y a peut-être une API ...
Bienvenue dans GIS SE? Votre question est-elle vraiment "Comment afficher les points PostGIS à l'aide de Leaflet?" Si tel est le cas, pouvez-vous modifier votre question pour la clarifier, car je ne sais pas ce que vous entendez par «instruments» dans ce contexte.
PolyGeo
Réponses:
22
Afin d'obtenir des données d'une base de données dans un navigateur Web, vous devez utiliser un script côté serveur. Cela peut être difficile à faire car vous devez être conscient des vulnérabilités, comme l'injection SQL. Il est important de noter que vous devez utiliser des requêtes paramétrées et vous assurer que votre utilisateur de base de données n'est pas privilégié, n'ayant qu'un accès en lecture aux tables que vous souhaitez rendre publiques.
Le moyen facile d'obtenir un accès API à une base de données consiste à utiliser un peu de logiciel comme GeoServer, mais c'est une très grosse application à utiliser pour un problème potentiellement petit.
Une autre méthode serait d'avoir un script côté serveur vider les données dans un fichier GeoJSON périodiquement, selon la fréquence à laquelle vos données changent, cela pourrait être horaire, quotidien, hebdomadaire. gardez à l'esprit que votre site Web peut ne pas fonctionner pendant l'écriture du fichier.
Une autre méthode consiste à utiliser PHP ou Python comme script CGI pour créer votre propre API.
Une fois que vous avez GeoJSON, qu'il soit dynamique ou statique, vous pouvez le charger très facilement en utilisant Leaflet: http://leafletjs.com/examples/geojson.html .
Merci de répondre. J'ai tendance à utiliser GeoJSON. Maintenant, je veux utiliser le fichier CSV au lieu de Postgis, le convertir en geoJSON puis afficher les données avec Leaflet.
John Smith
1
utilisez ensuite ogr2ogr en lisant csv pour convertir facilement en geoJSON
Jorge Sanz
1
Si vos données sont trop volumineuses et prennent trop de temps à charger en JSON, jetez un œil à TopoJSON. github.com/mbostock/topojson
Réponses:
Afin d'obtenir des données d'une base de données dans un navigateur Web, vous devez utiliser un script côté serveur. Cela peut être difficile à faire car vous devez être conscient des vulnérabilités, comme l'injection SQL. Il est important de noter que vous devez utiliser des requêtes paramétrées et vous assurer que votre utilisateur de base de données n'est pas privilégié, n'ayant qu'un accès en lecture aux tables que vous souhaitez rendre publiques.
Le moyen facile d'obtenir un accès API à une base de données consiste à utiliser un peu de logiciel comme GeoServer, mais c'est une très grosse application à utiliser pour un problème potentiellement petit.
Une autre méthode serait d'avoir un script côté serveur vider les données dans un fichier GeoJSON périodiquement, selon la fréquence à laquelle vos données changent, cela pourrait être horaire, quotidien, hebdomadaire. gardez à l'esprit que votre site Web peut ne pas fonctionner pendant l'écriture du fichier.
Une autre méthode consiste à utiliser PHP ou Python comme script CGI pour créer votre propre API.
Exemples:
Une fois que vous avez GeoJSON, qu'il soit dynamique ou statique, vous pouvez le charger très facilement en utilisant Leaflet: http://leafletjs.com/examples/geojson.html .
la source
Vous pouvez essayer ce plugin de brochure
la source