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.
Mapnik có đúng hướng hay có công cụ nào tốt hơn cho quy trình đó không?
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.