Який найпоширеніший спосіб відображення геоданих від Postgis на Leaflet?


18

Наприклад, у моїй базі даних є кілька точок з географічними координатами. Я хочу відобразити їх на шарі Leaflet JS. Які інструменти я повинен використовувати? Можливо, є якийсь API ...


Ласкаво просимо до GIS SE? Чи справді ваше запитання "Як відобразити пункти PostGIS за допомогою Leaflet?" Якщо так, чи можете ви відредагувати своє питання, щоб зробити це зрозумілішим, оскільки я не впевнений, що ви маєте на увазі під "інструментами" в цьому контексті.
PolyGeo

Відповіді:


22

Для того, щоб отримати дані з бази даних у веб-браузер, вам потрібно використовувати сценарій на стороні сервера. Це зробити непросто, оскільки вам потрібно знати про вразливості, як-от ін'єкція SQL. Деякі найкращі практичні важливі речі, які слід зазначити, - це те, що ви повинні використовувати параметризовані запити та гарантувати, що користувач вашої бази даних не має права при користуванні, лише читаючи доступ до таблиць, які ви хочете бути загальнодоступними.

Найпростіший спосіб отримати доступ до API до бази даних - це використовувати трохи програмного забезпечення, наприклад GeoServer, але це дуже великий додаток, який можна використовувати для потенційно малої проблеми.

Інший метод полягає у тому, щоб сценарій на стороні сервера періодично скидав дані у файл GeoJSON, залежно від того, як часто змінюються ваші дані, це може бути щогодини, щодня, щотижня. майте на увазі, що веб-сайт може не працювати під час написання файлу.

Інший метод - використовувати PHP або Python як сценарій CGI для створення власного API.

Приклади:

Коли у вас з’явиться GeoJSON, будь то динамічний чи статичний, ви можете дуже легко завантажити його за допомогою Leaflet: http://leafletjs.com/examples/geojson.html .


1
Дякую за відповідь Я схильний використовувати GeoJSON. Тепер я хочу використовувати файл CSV замість Postgis, конвертувати його в geoJSON, а потім відображати дані з Leaflet.
Джон Сміт

1
використовуйте тоді ogr2ogr для читання CSV, щоб легко перетворити на geoJSON
Хорхе Санц

1
Якщо ваші дані занадто великі і завантажуються занадто довго, як JSON, подивіться на TopoJSON. github.com/mbostock/topojson
Алекс Лейт

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.