Bản đồ thế giới tương tác Python
Vài tháng trước, tôi muốn tạo một bản đồ tương tác cho một ứng dụng web thú vị mà chúng tôi đang phát triển. Tôi đã dành hàng giờ trên internet để tìm thư viện hoàn hảo để bắt đầu, nhưng tôi rất khó xem tài liệu vì không có hướng dẫn từng bước phù hợp để triển khai và tùy chỉnh hình ảnh khi cần. Tôi ước mình có một hướng dẫn so sánh các tính năng và triển khai chính xác cùng với các chi tiết về tùy chỉnh. Bài viết này là một nỗ lực để viết một hướng dẫn như vậy Show Bài viết tiếp tục so sánh việc triển khai bản đồ nền tương tác (choropleth) bằng cách sử dụng ba thư viện phổ biến có sẵn cho Python cũng như các chi tiết và tùy chỉnh của kết quả cuối cùng
điều kiện tiên quyếtBản đồ hợp xướng yêu cầu hai loại dữ liệu trong nền, một trong số đó là dữ liệu không gian địa lý, ranh giới địa lý để điền vào bản đồ (thường là tệp vectơ Thư viện Geo Pandas hữu ích khi bạn cần lấy dữ liệu theo định dạng yêu cầu. Ví dụ sử dụng tệp GeoJSON của các bang Ấn Độ. Bạn có thể bắt đầu với bất kỳ Shapefile hoặc GeoJSON công khai nào bàn thờAltair Là một thư viện trực quan hóa cho Python dựa trên Vega… Đoạn điệp khúc được triển khai với nỗ lực tối thiểu và bao gồm các yếu tố tương tác – tô sáng, chú giải công cụ, v.v. Altair tương thích với các trang nhanh… Bạn có thể tạo các bài đăng trên blog đơn giản trong vài phút bằng cách chuyển đổi các tệp Jupyter Notebook với mã tối thiểu. Kiểm tra Readme trên GitHub Đoạn mã
Chúng tôi đọc Shapefile dưới dạng khung GeoPandas
Khung trông như thế này Tạo một lớp cơ sở và một lớp choropleth
Đoạn mã trên sẽ hiển thị bản đồ tương tác với chức năng hiển thị chú giải công cụ và tô sáng khi chọn (nhấp chuột) ưu
Điểm trừ
Triển khai với PlotlyThư viện Plotly để lập biểu đồ bằng Python, hiển thị các bản đồ sẵn sàng xuất bản với nhiều tính năng tương tác và tùy chỉnh Có sẵn các cấu hình bản đồ cơ sở tùy chỉnh từ Mapbox, OSM và các tùy chọn kiểu dáng khác, cũng như triển khai đơn giản với Plotly Express và tài liệu phong phú. Điều này làm cho Plotly trở thành một trong những tùy chọn ưa thích để tạo bản đồ tương tác Đoạn mã
Nhập Shapefile
Tạo một lớp cơ sở và thêm các phần của bản đồ
Đoạn mã trên sẽ hiển thị bản đồ tương tác với chức năng thu phóng và hiển thị chú giải công cụ. Việc triển khai này bao gồm một số lượng lớn các tính năng khác, được mô tả chi tiết hơn. nơi đây… ưu
Điểm trừ
Triển khai với FoliumFolium kết hợp tính dễ sử dụng của hệ sinh thái Python với điểm mạnh của tờ rơi. thư viện ánh xạ js. Nó cho phép bạn hiển thị các bản đồ choropleth có thể tùy chỉnh, đáp ứng và tương tác, cũng như chuyển các trực quan hóa vectơ, raster, HTML phong phú dưới dạng các điểm đánh dấu trên bản đồ Thư viện có một số bộ ô bản đồ tích hợp sẵn từ OpenStreetMap, Mapbox và Stamen, đồng thời hỗ trợ các bộ tùy chỉnh thông qua API Mapbox hoặc Cloudmade. Hình ảnh, video, GeoJSON và TopoJSON được hỗ trợ Đoạn mã
Nhập Shapefile
Thêm các lớp cơ sở và lớp Choropleth ________số 8_______Đoạn mã trên sẽ hiển thị bản đồ choropleth tương tác với gợi ý di chuột, nhấp để phóng to và cửa sổ bật lên tùy chỉnh khi nhấp ưu
Điểm trừ
Phần kết luậnBa công cụ này cho phép bạn tạo bản đồ tương tác tùy chỉnh cho trang web của mình mà không gặp nhiều rắc rối Các độc giả thân mến, bạn đã bao giờ tạo các bản đồ tương tác như vậy cho các dự án của mình chưa?
|