Tôi đang cố gắng giải quyết vấn đề về web GIS và cần tìm ra chiến lược tốt nhất. Tôi có một bản đồ với 30.000 ô trên đó tạo thành một mạng lưới cho tỉnh bang Alberta. Tôi có một danh sách các điểm dữ liệu cho mỗi ô - khoảng 50 trường chỉ báo và giá trị cho mỗi ô. Ví dụ: một giá trị có thể là dân số của con người, vì vậy mỗi ô sẽ có một giá trị cho dân số của con người cho ô đó. Tôi muốn tạo một bản đồ tương tác có thể hiển thị các giá trị đó một cách trực quan bằng các ô vuông cho các ô hoặc một kiểu nhìn bản đồ nhiệt pha trộn. Ngoài ra, tôi muốn có thể thực hiện các phép tính gộp trên tất cả các điểm dữ liệu và sử dụng các phép tính đó để tạo các bản đồ bổ sung. Cân nhắc các tính toán, có khoảng 300.000 hoán vị trên bản đồ. Trên hết, nó cũng là tạm thời; Có 16 lát thời gian khác nhau.
Chiến lược của tôi cho đến nay:
1) Về phía máy chủ, tính toán các giá trị ô một cách linh hoạt trong thời gian chạy và gửi các giá trị đến máy khách (tất cả 30.000 trong số chúng). Điều này chuyển thành khoảng một giá trị cho mỗi ô vuông 3x3 trong hình ảnh 525px x 525px trên màn hình.
2) Về phía máy khách với các lớp mở, sử dụng png 1px có thể thay đổi kích thước và điều chỉnh giá trị alpha khi cần để hiển thị độ dốc màu khác nhau tương ứng với giá trị dữ liệu cho mỗi ô. Png sẽ được thay đổi kích thước khi bản đồ phóng to hoặc thu nhỏ. Về mặt lý thuyết, chúng sẽ được định vị chính xác để tạo thành vùng phủ chăn của bản đồ dưới dạng hình vuông hoặc bằng cách khác sử dụng phương pháp bản đồ nhiệt, chúng sẽ chồng lên nhau đủ để tạo thành vùng phủ chăn.
Câu hỏi:
Có hợp lý khi tính toán các giá trị ô đó một cách linh hoạt trên máy chủ và sau đó gửi đến giao diện OpenLayers trong thời gian thực không? Tôi tự tin rằng máy chủ có thể thực hiện các phép tính, nhưng OpenLayers có thể hiển thị hợp lý 30.000 điểm dữ liệu tại một thời điểm trên bản đồ không? Có hợp lý để mong đợi có thể tạo ra một phạm vi bảo hiểm bằng cách sử dụng dữ liệu điểm? Tôi đoán rằng tôi đang cố gắng tạo ra một bản đồ vectơ tương đương với 30.000 hình dạng cho phạm vi bao phủ 100% của bản đồ, nhưng sử dụng dữ liệu điểm để đơn giản hóa nó.
Các chiến lược thay thế trong tâm trí của tôi là:
a) để tạo các bản đồ trong thời gian thực trên máy chủ và gửi dưới dạng các lớp rasterized đến máy khách
b) để tạo ra tất cả các hoán vị trước thời hạn và lưu trữ chúng trên máy chủ dưới dạng bản đồ rasterized
Có suy nghĩ gì không? Là cách tiếp cận của tôi tắt và sủa sai cây? Bất kỳ lời khuyên về một phương pháp tốt hơn?
Tôi chắc chắn đánh giá cao bất kỳ suy nghĩ về vấn đề này! Nếu bạn quan tâm, tôi thậm chí có thể tìm cách ký hợp đồng với một nhà phát triển để giúp đỡ nó.
Cám ơn rất nhiều!
Nô-ê