Tạo bản đồ nhiệt tĩnh bên máy chủ?


8

Tôi đã tìm kiếm cách tạo bản đồ tĩnh phía máy chủ bằng Python (hoặc bất kỳ ngôn ngữ nào khác, không thành vấn đề).

Tôi có thể tạo các bản đồ tôi muốn với QGIS (và chúng trông thực sự tuyệt vời) nhưng tôi không biết cách tự động hóa quy trình.

Điều tôi muốn là;

  • Tạo một kiểu bản đồ trong QGIS và xuất nó sang một loại XML nào đó (có một plugin có tên quantumnik nhưng tôi không có sẵn nữa)

  • Chạy một truy vấn trên PostGIS trong tập lệnh Python của tôi

  • Tạo một shapefile hoặc chỉ một PNG bằng cách sử dụng bộ dữ liệu được trả về từ truy vấn và kiểu XML được xác định ở trên.
  • Lặp lại toàn bộ quá trình mỗi đêm với các bộ dữ liệu khác nhau.

Tôi đã chơi xung quanh với Mapnik nhưng chưa thể thành công trong việc tạo bản đồ nhiệt ( https://github.com/stellaeof/mapnik-rasterulators )

Tôi đã đọc về máy chủ QGIS, GeoServer, MapServer. Nhưng bây giờ tôi bối rối vì có rất nhiều công cụ xung quanh.

  1. Mapnik có đúng hướng hay có công cụ nào tốt hơn cho quy trình đó không?

  2. Hoặc có cách nào để sử dụng QGIS theo chương trình trên máy chủ không?

BIÊN TẬP:

Sau khi thử rất nhiều thứ khác nhau, tôi đã quyết định sử dụng GeoServer. Tôi đã cài đặt nó bằng cách sử dụng hình ảnh thùng chứa docker: https://github.com/kartoza/docker-geoserver Nó có thể tạo png, gif, jpeg và cũng có thể phục vụ các lớp WMS có thể được tích hợp với Leafletjs khá dễ dàng.

Vấn đề duy nhất là, tôi đang cố gắng thiết kế bản đồ của mình với QGIS trước và sau đó xuất chúng sang GeoServer bằng plugin "Geoserver Explorer" và nó không hoạt động tốt cho nhãn và một số tính năng khác. Tôi đoán không có cách dễ dàng để tạo SLD trong QGIS. Tôi tiếp tục sửa cấu hình SLD bằng tay sau khi xuất chúng sang GeoServer. Nhưng đây vẫn là giải pháp tốt nhất tôi đoán.

Sẽ vẫn rất tuyệt nếu bạn có thể đề xuất các plugin hoặc cách tốt hơn để tích hợp QGIS và GeoServer hoặc bất kỳ trình soạn thảo SLD nào khác.


Từ kinh nghiệm cá nhân đau đớn Tôi đang sử dụng quy trình chính xác mà bạn mô tả (tạo SLD trong QGIS sau đó thay đổi thủ công để phù hợp với máy chủ địa lý) trên cơ sở gần như hàng tuần. Được quản lý để tự động hóa một số sửa lỗi thông qua các tập lệnh trên máy chủ địa lý, nhưng không lý tưởng.
Phil G

Có SLDEditor github.com/robward-scisys/sldeditor/wiki/userguide hoặc cả QGIS và GeoServer sẽ chấp nhận đóng góp hoặc tiền mặt để khắc phục các vấn đề nếu chúng quan trọng với bạn
Ian Turton

Câu trả lời:


1

Vâng, nó phức tạp, và một phần là do có nhiều phần chuyển động trong quá trình. Tôi đã làm một cái gì đó tương tự bằng Python và Mapnik. Dưới đây là quy trình từng bước:

1) Tập lệnh python tải dữ liệu từ máy chủ (dữ liệu trạm thời tiết rải rác trong trường hợp này). 2) Tập lệnh bash thực thi gdal_grid nội suy dữ liệu và ghi tệp GeoTIFF. 3) Tập lệnh bash chạy Gener_tiles.py bằng tệp kiểu mapnik được xác định trước và GeoTIFF để tạo tất cả các ô. 4) Một ứng dụng web sử dụng lớp OpenLayers + TMS tiêu thụ các ô đó.

Hy vọng nó giúp. Chúc mừng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.