Menghasilkan sisi server peta panas statis?


8

Saya telah mencari cara untuk menghasilkan peta statis sisi server menggunakan Python (atau bahasa lain, tidak masalah).

Saya dapat membuat peta yang saya inginkan dengan QGIS (dan terlihat sangat bagus) tetapi saya tidak tahu bagaimana mengotomatiskan prosesnya.

Yang saya inginkan adalah;

  • Membuat gaya peta di QGIS dan mengekspornya ke semacam XML (ada plugin bernama quantumnik tetapi tidak tersedia lagi kurasa)

  • Menjalankan kueri di atas PostGIS dalam skrip Python saya

  • Membuat shapefile atau hanya PNG menggunakan dataset yang dikembalikan dari kueri dan gaya XML yang ditentukan di atas.
  • Mengulangi seluruh proses setiap malam dengan kumpulan data yang berbeda.

Saya sudah bermain-main dengan Mapnik tetapi belum berhasil membuat peta panas ( https://github.com/stellaeof/mapnik-rasterizers )

Saya sudah membaca tentang server QGIS, GeoServer, MapServer. Tapi sekarang saya bingung karena ada banyak alat di sekitar.

  1. Apakah Mapnik arah yang benar atau apakah ada alat yang lebih baik untuk proses semacam itu?

  2. Atau adakah cara untuk menggunakan QGIS secara terprogram pada server?

EDIT:

Setelah mencoba banyak hal berbeda, saya memutuskan untuk menggunakan GeoServer. Saya telah menginstalnya menggunakan menggunakan gambar docker container: https://github.com/kartoza/docker-geoserver Dapat menghasilkan png, gif, jpeg, dan juga dapat menyajikan lapisan WMS yang dapat diintegrasikan dengan Leafletjs dengan cukup mudah.

Satu-satunya masalah adalah, saya mencoba merancang peta saya dengan QGIS terlebih dahulu dan kemudian mengekspornya ke GeoServer menggunakan plugin "Geoserver Explorer" dan tidak berfungsi dengan baik untuk label dan beberapa fitur lainnya. Saya kira tidak ada cara mudah untuk menghasilkan SLD di QGIS. Saya terus memperbaiki konfigurasi SLD dengan tangan setelah mengekspornya ke GeoServer. Tapi ini masih solusi terbaik kurasa.

Akan lebih bagus jika Anda dapat menyarankan plugin yang lebih baik atau cara untuk mengintegrasikan QGIS dan GeoServer atau editor SLD lainnya.


Dari pengalaman pribadi yang menyakitkan, saya menggunakan proses persis yang Anda gambarkan (membuat SLD di QGIS kemudian berubah secara manual agar sesuai dengan geoserver) hampir setiap minggu. Berhasil mengotomatiskan beberapa perbaikan melalui skrip pada geoserver, tetapi tidak ideal.
Phil G

Ada SLDEditor github.com/robward-scisys/sldeditor/wiki/userguide atau keduanya QGIS dan GeoServer akan menerima kontribusi atau uang tunai untuk memperbaiki masalah jika itu penting bagi Anda
Ian Turton

Jawaban:


1

Ya, itu rumit, dan sebagian karena ada banyak bagian yang bergerak dalam proses. Saya telah melakukan sesuatu yang serupa menggunakan Python dan Mapnik. Di bawah ini adalah prosedur langkah demi langkah:

1) Skrip python mengunduh data dari server (data stasiun cuaca yang tersebar dalam kasus ini). 2) Script bash mengeksekusi gdal_grid yang menginterpolasi data dan menulis file GeoTIFF. 3) Script bash menjalankan generate_tiles.py menggunakan file gaya mapnik yang telah ditentukan dan GeoTIFF untuk membuat semua ubin. 4) Aplikasi web menggunakan lapisan OpenLayers + TMS menggunakan ubin tersebut.

Semoga ini bisa membantu. Bersulang

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.