¿Cuál es la forma más común de mostrar geodatos de Postgis en el folleto?
18
Por ejemplo, en mi base de datos tengo algunos puntos con coordenadas geográficas. Quiero mostrarlos en la capa Leaflet JS. ¿Qué instrumentos debo usar? Tal vez hay alguna API ...
Bienvenido a GIS SE? ¿Es su pregunta realmente "Cómo mostrar puntos PostGIS usando el folleto?" Si es así, ¿puede editar su pregunta para aclararla porque no estoy seguro de lo que quiere decir con "instrumentos" en este contexto.
PolyGeo
Respuestas:
22
Para obtener datos de una base de datos en un navegador web, debe usar un script del lado del servidor. Esto puede ser complicado porque necesita tener en cuenta las vulnerabilidades, como la inyección SQL. Algunas cosas importantes que es importante tener en cuenta es que debe usar consultas parametrizadas y asegurarse de que el usuario de su base de datos no tenga privilegios, ya que solo tiene acceso de lectura a las tablas que desea que sean públicas.
La manera fácil de obtener acceso de API a una base de datos es usar un poco de software como GeoServer, pero esa es una aplicación muy grande para problemas potencialmente pequeños.
Otro método sería hacer que una secuencia de comandos del lado del servidor descargue los datos en un archivo GeoJSON periódicamente, dependiendo de la frecuencia con la que cambien sus datos, esto podría ser cada hora, diariamente, semanalmente. tenga en cuenta que su sitio web podría no funcionar mientras el archivo se está escribiendo.
Otro método es usar PHP o Python como un script CGI para construir su propia API.
Gracias por responder. Me inclino a usar GeoJSON. Ahora quiero usar el archivo CSV en lugar de Postgis, convertirlo a geoJSON y luego mostrar los datos con Leaflet.
John Smith
1
use entonces ogr2ogr leyendo csv para convertir fácilmente a geoJSON
Jorge Sanz
1
Si sus datos son demasiado grandes y tardan demasiado en cargarse como JSON, eche un vistazo a TopoJSON. github.com/mbostock/topojson
Respuestas:
Para obtener datos de una base de datos en un navegador web, debe usar un script del lado del servidor. Esto puede ser complicado porque necesita tener en cuenta las vulnerabilidades, como la inyección SQL. Algunas cosas importantes que es importante tener en cuenta es que debe usar consultas parametrizadas y asegurarse de que el usuario de su base de datos no tenga privilegios, ya que solo tiene acceso de lectura a las tablas que desea que sean públicas.
La manera fácil de obtener acceso de API a una base de datos es usar un poco de software como GeoServer, pero esa es una aplicación muy grande para problemas potencialmente pequeños.
Otro método sería hacer que una secuencia de comandos del lado del servidor descargue los datos en un archivo GeoJSON periódicamente, dependiendo de la frecuencia con la que cambien sus datos, esto podría ser cada hora, diariamente, semanalmente. tenga en cuenta que su sitio web podría no funcionar mientras el archivo se está escribiendo.
Otro método es usar PHP o Python como un script CGI para construir su propia API.
Ejemplos:
Una vez que tenga GeoJSON, ya sea dinámico o estático, puede cargarlo muy fácilmente usando el Folleto: http://leafletjs.com/examples/geojson.html .
fuente
Podrías probar este complemento de folleto
fuente