Hướng dẫn world map visualization python - python hiển thị bản đồ thế giới

Giả sử rằng bạn đang làm việc trong một startup và bạn cần tiến hành phân tích dữ liệu không gian và dự đoán cho người dùng dữ liệu địa lý. Hoặc công ty của bạn chạy rất nhiều hoạt động giao hàng và công việc của bạn một lần nữa để phân tích, trực quan hóa và có thể dự đoán các trình điều khiển hoặc người dùng dữ liệu địa lý. Vì vậy, trực quan hóa dữ liệu của bạn (có thể dự đoán) trên bản đồ sẽ rất cần thiết.ssume that you are working in a startup and you need to conduct spatial data analysis and prediction to users’ geographical data. Or your company runs a lot of delivery operations and your job again to analyze, visualize and maybe predict the drivers or users’ geographical data. So, visualizing your data (predicted ones maybe) on a map will be very necessary.

Trong bài viết này, tôi sẽ trải qua các bước dễ dàng về cách vẽ dữ liệu địa lý trên bất kỳ bản đồ nào bằng Python. Điều mà tôi thấy nó rất hữu ích và hữu ích trong các dự án trước đây của tôi bằng cách sử dụng cùng một ngôn ngữ: Python- Kiểm tra bài viết của tôi: Phân tích dữ liệu không gian để quản lý giao thông.

Tất nhiên, khi chúng tôi đề cập đến dữ liệu địa lý, nó đi qua tâm trí chúng tôi tọa độ của một điểm dữ liệu là: kinh độ và vĩ độ. Điều này là đúng, chúng chỉ là tọa độ X và Y cho một điểm cụ thể trên bản đồ. Tuy nhiên, có các loại dữ liệu địa lý khác, chẳng hạn như đa giác, dữ liệu dòng. Trọng tâm chính ở đây sẽ là cách trực quan hóa dữ liệu điểm trên bản đồ. chúng ta bắt đầu chứ?

Tải thư viện và bộ dữ liệu

Đầu tiên, chúng ta hãy bắt đầu bằng cách tải các thư viện

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Đang tải bộ dữ liệu không gian

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)

Nhìn vào bộ dữ liệu

df.head()

Hướng dẫn world map visualization python - python hiển thị bản đồ thế giới

Bộ dữ liệu của tôi là một dữ liệu đơn giản (1444 hàng × 2 cột). Tôi đã thu thập các điểm dữ liệu địa lý ngẫu nhiên ở thành phố Riyadh cho cuộc biểu tình này.

Xác định hộp giới hạn

Bây giờ, chúng ta phải xác định hộp giới hạn. Hộp giới hạn là khu vực được xác định bởi hai kinh độ và hai vĩ độ sẽ bao gồm tất cả các điểm không gian.

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)

Nhận bản đồ của bạn

Truy cập trang web opestreetmap.org và xuất bản đồ mong muốn dưới dạng hình ảnh bằng cách nhập dữ liệu hộp giới hạn. Tôi đã làm giống như được giải thích trong hình ảnh dưới đây (chi tiết khác cũng được đề cập ở đây: các bước để xuất hình ảnh bản đồ).

Quay lại môi trường mã hóa và tải hình ảnh bản đồ:

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')

Bước cuối cùng: Vẽ

Cuối cùng, hãy vẽ các tọa độ ‘df.longitude và‘ df.latitude, dưới dạng các điểm phân tán trên hình ảnh bản đồ ‘Ruh_m. Lưu ý rằng điều quan trọng là phải thiết lập trục x và trục y theo hộp giới hạn ‘bbox

fig, ax = plt.subplots(figsize = (8,7))ax.scatter(df.longitude, df.latitude, zorder=1, alpha= 0.2, c='b', s=10)ax.set_title('Plotting Spatial Data on Riyadh Map')
ax.set_xlim(BBox[0],BBox[1])
ax.set_ylim(BBox[2],BBox[3])
ax.imshow(ruh_m, zorder=0, extent = BBox, aspect= 'equal')

(Tiếng Anh dưới đây)

Geopandas 0.9.0

Geopandas là một dự án mà nguồn mở Giúp lÀm Việc với dữ liệu Địa không Gian Trong Python dễ dàng Hơn. Geopandas mở rộng các Kiểu dữ liệu được Khung dữ liệu pandas & nbsp; Các Phép Toán Hình Học ĐC thực Hiện Bởi Định hình. Geopandas Còn phụ THUộC VOO FIONA Để TRUY CậP TệP VÀ MATPLOTLIB Để Vẽ BIểU Đồ.

& nbsp;

Miêu tả mục tiêu của Geopandas là Giúp lÀm Việc với dữ liệu ĐịA Không Gian Trong Python Dễ Dàng Hơn. Nó kết Geopandas Cho Phép bạn dễ dà
Mục tiêu của GeoPandas là giúp làm việc với dữ liệu địa không gian trong python dễ dàng hơn. Nó kết hợp các khả năng của Khung dữ liệu Pandas và tạo hình, cung cấp các hoạt động địa không gian ở Khung dữ liệu Pandas và giao diện cấp cao cho nhiều hình dạng để tạo hình. GeoPandas cho phép bạn dễ dàng thực hiện các thao tác trong python mà nếu không sẽ yêu cầu cơ sở dữ liệu không gian như PostGIS.

Geopandas là một dự án dẫn Đầu cộng Đồng & nbsp; Được Viết, sử dụng và hỗ trợ bởi nhiều người từ Khắp nơi trênn thế giới với Nhiều ngg

Geopandas sẽ luôn là phần mềm ngg

Thông tin Chi tiết về hướng dẫn sử dụng:

  • Bắt ĐầU

https://geopandas.org/getting_started.html

  • Tài liệu

https://geopandas.org/docs.html

  • Giới thiệu về Geopandas

https://geopandas.org/about.html

  • & nbsp; cộng Đồng

https://geopandas.org/community.html

-------

Sử dụng dữ liệu không gian địa lý trong Python dễ dàng hơn với GeoPandas

GeoPandas là một dự án nguồn mở để làm cho việc làm việc với dữ liệu không gian địa lý trong Python dễ dàng hơn. GeoPandas mở rộng các kiểu dữ liệu được sử dụng bởi gấu trúc để cho phép các hoạt động không gian trên các loại hình học. Các hoạt động hình học được thực hiện bằng hình dạng. Geopandas tiếp tục phụ thuộc vào fiona để truy cập tệp và matplotlib để vẽ đồ thị.

Mô tả Mục tiêu của GeoPandas là làm cho việc làm việc với dữ liệu không gian địa lý trong Python dễ dàng hơn. Nó kết hợp các khả năng của gấu trúc và định hình, cung cấp các hoạt động không gian địa lý trong gấu trúc và giao diện cấp cao cho nhiều hình học để định hình. Geopandas cho phép bạn dễ dàng thực hiện các hoạt động trong Python nếu không yêu cầu một cơ sở dữ liệu không gian như Postgis.
The goal of GeoPandas is to make working with geospatial data in python easier. It combines the capabilities of pandas and shapely, providing geospatial operations in pandas and a high-level interface to multiple geometries to shapely. GeoPandas enables you to easily do operations in python that would otherwise require a spatial database such as PostGIS.

Geopandas là một dự án do cộng đồng lãnh đạo, được sử dụng và hỗ trợ bởi nhiều người từ khắp nơi trên thế giới của nhiều nền tảng lớn. & NBSP;

GeoPandas sẽ luôn là phần mềm nguồn mở 100%, miễn phí cho tất cả mọi người sử dụng và phát hành theo các điều khoản tự do của giấy phép điều khoản BSD-3. Thông tin về thông tin: & NBSP; Bắt đầu & nbsp; https://geopandas.org/getting_started.html tài liệu https://geopandas.org/docs.html về Geopandas https://geopandas.org/about.html & nbsp;
Further information: 
Getting started  
https://geopandas.org/getting_started.html
Documentation
https://geopandas.org/docs.html
About GeoPandas
https://geopandas.org/about.html
 Community
https://geopandas.org/community.html

GeoLink tổng hợp từ Geopandas

Là một thực tập sinh tại Forsk Technologies, tôi đã khám phá khá nhiều thư viện Python (matplotlib, gandas, numpy, seeborn, shapefile, basemap, geopandas) đã thực sự giúp vẽ dữ liệu (bằng cách nào đó dữ liệu thời gian thực cũng vậy ..) trên bản đồ.FORSK TECHNOLOGIES,I have explored quite a few Python libraries (Matplotlib, Pandas, Numpy, Seaborn, Shapefile, Basemap, Geopandas) which have really helped in plotting data(somehow real-time data too..) over maps.

Ánh xạ địa lý trong Python

Trực quan hóa dữ liệu trên bản đồ là rất hữu ích trong khi làm việc trên khoa học dữ liệu có thể được thực hiện thông qua các mô -đun như GeoPandas, v.v ... Ở đây chúng tôi sẽ khám phá phương pháp để tạo bản đồ địa lý và trực quan hóa dữ liệu trên nó, sử dụng Shapefiles (.shp) và một số khác Thư viện Python.

Ở đây, chúng tôi sẽ làm việc về dân số thành phố Rajasthan sau khi trực quan hóa dữ liệu trên bản đồ.

Shapefile cần thiết cho bài viết này có thể được tải xuống từ liên kết này bấm vào đâyclick here

Cài đặt thư viện Shapefile

~ conda/pip install pyshp

Nhập thư viện

import numpy as np
import pandas as pd
import shapefile as shp
import matplotlib.pyplot as plt
import seaborn as sns

Khởi tạo bộ trực quan

sns.set(style=”whitegrid”, palette=”pastel”, color_codes=True) sns.mpl.rc(“figure”, figsize=(10,6))

Mở bản đồ vector

Bản đồ vector là một nhóm gồm một số tệp có định dạng .shp.

#opening the vector mapshp_path = “\\District_Boundary.shp”#reading the shape file by using reader function of the shape libsf = shp.Reader(shp_path)

Số lượng các hình dạng khác nhau được nhập bởi shp.reader

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
0

Kết quả sẽ được đưa ra là 33 cho chúng ta biết rằng có 33 hình dạng hoặc chúng ta có thể nói các thành phố trong khu vực Rajasthan.

Để khám phá những hồ sơ đó:

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
1 đầu ra mẫu

Để khám phá một bản ghi cụ thể trong đó 1 là ID hoặc số hàng và 0 đề cập đến cột:

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
2

Result-

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
3

Chuyển đổi dữ liệu ShapeFile thành Pandas DataFrames:

Làm cho việc truy cập các thành phố dễ dàng hơn bằng cách chuyển đổi dữ liệu ShapeFile thành định dạng DataFrame của Pandas dễ chịu hơn.

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
4

Trực quan hóa dữ liệu sau khi được chuyển đổi thành DataFrames nơi nó đề cập đến các hàng và cột

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
5

DataFrame có hình dạng (33,6) có nghĩa là nó có 33 hàng và 6 cột trong đó.

Hãy để xem một mẫu của DataFrame được tạo

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
6

Kết quả sẽ trông giống như -

Đầu ra

Đây là dây là vĩ độ và kinh độ sẽ được sử dụng để tạo bản đồ.

Âm mưu bản đồ của một thành phố ở Rajasthan hoặc một hình dạng cụ thể với sự trợ giúp của matplotlib

#a) vẽ hình dạng (đa giác) dựa trên tọa độ của thành phố và,,,

#b) Tính toán và trả về điểm trung bình của hình dạng cụ thể đó (x0, y0).

#Điểm trung bình này cũng được sử dụng để xác định nơi in tên thành phố.

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
7

Đặt tên thành phố để vẽ bản đồ tương ứng

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
8Output

Để vẽ một hình dạng cụ thể, chúng tôi phải biết ID của thành phố cụ thể nhưng thay đổi dữ liệu tệp ShapeFile thành Pandas DataFrame giúp hoạt động dễ dàng và đơn giản hơn nhiều, bây giờ chúng tôi có thể gọi trực tiếp nó bằng tên của nó.

Vẽ đồ thị đầy đủ

Chức năng đặc biệt này kết hợp tất cả các hình dạng đơn lẻ được tạo bằng tọa độ và hiển thị nó như một hình dạng kết hợp.

df = pd.read_csv(‘C:/.. …/SpatialDataSet.txt’)
9

Vẽ một bản đồ được phóng to

Đầu ra
df.head()
0

Làm nổi bật một hình dạng duy nhất trên bản đồ hoàn chỉnh

Kết hợp các chức năng trước đó sẽ thực hiện công việc. Nơi chúng ta có thể vẽ một hình dạng duy nhất trên một bản đồ hoàn chỉnh. ID và mã màu sẽ là các tham số cần thiết cho hàm.

Đầu ra
df.head()
1Desired

Làm nổi bật nhiều hình dạng trên bản đồ hoàn chỉnh với City ID từ

Với sự trợ giúp của chức năng này, dưới dạng các tham số, chúng ta có thể cung cấp ID của nhiều thành phố sẽ dẫn đến việc làm nổi bật nhiều thành phố thay vì 1.

df.head()
2

Hãy để xem bản đồ trông như thế nào

df.head()
3

Làm nổi bật nhiều hình dạng trên bản đồ hoàn chỉnh bằng tên thành phố

Gần đây, chúng tôi đã gặp phải vấn đề làm nổi bật các hình dạng với ID thành phố (chỉ mục) nhưng mặc dù chúng tôi có dữ liệu của chúng tôi là gấu trúc DataFrame, chúng tôi cũng có thể làm điều đó với việc đề cập đến các tên thành phố.

df.head()
4

Hãy để một cái nhìn vào đầu ra

df.head()
5

Vẽ một bản đồ nhiệt

Đó là một loại bản đồ trong đó các hình dạng được lấp đầy với một màu cụ thể của cường độ khác nhau theo giá trị được cung cấp. Nó cung cấp giải thích dữ liệu rõ ràng trong định dạng địa lý.

Trong hàm đầu tiên, chúng tôi sẽ chia danh sách dữ liệu của chúng tôi về các khoảng hoặc thùng trong đó mỗi thùng sẽ có cường độ màu cụ thể, 6 thùng và 4 pallet màu khác nhau.

df.head()
6

Các chức năng Plot_cities () và Plot_Map_Fill_Multiples_ids nên được điều chỉnh để tận dụng sơ đồ màu mới này:

df.head()
7

Hãy để lấy một ví dụ để vẽ dữ liệu theo định dạng trình bày bản đồ nhiệt.

df.head()
8

Vẽ dữ liệu thực

Âm mưu dân số của khu vực Rajasthan ở đây được đề cập đến dữ liệu thực.

df.head()
9

Hy vọng bạn đã hiểu khái niệm âm mưu lập bản đồ thông qua các thư viện Python.

Bạn có thể giới thiệu GitHub của tôi cho mã chính xác.GITHUB for the exact code.

Lập bản đồ với địa chất

Như chúng ta đã thấy quy trình ánh xạ với gấu trúc DataFrame, bây giờ, đến lượt bạn trực quan hóa nó với khung dữ liệu địa lý. GeoPandas giúp làm việc dễ dàng hơn với dữ liệu không gian địa lý (dữ liệu có thành phần địa lý đối với nó) trong Python. Nó kết hợp các khả năng của gấu trúc và định hình bằng cách vận hành một mã nhỏ gọn hơn nhiều. Đó là một trong những cách tốt nhất để bắt đầu với việc tạo bản đồ choropleth.

Hãy bắt đầu với một số bản đồ thông qua Geopandas và hãy để bản đồ của Rajasthan, dân số trên đó!

Shapefile được sử dụng trong chủ đề trước là đủ để làm việc hơn nữa cho địa chất.

Cài đặt

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
0

Bước đầu tiên là nhập các thư viện cần thiết

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
1

Nhận dữ liệu quan tâm

Rajasthan là tiểu bang lớn nhất của Ấn Độ là một quốc gia đông dân. Bản đồ dân số của nó sẽ làm cho hình dung đơn giản và hiệu quả hơn nhiều. Hãy để Lừa đặt đường dẫn để mở Shapefile cho khu vực Rajasthan thông qua Geopandas.

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
2

Hãy để xem trước bản đồ

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
3

Bây giờ, nó đã thời gian để mở tệp CSV chứa dữ liệu để vẽ đồ thị. Ở đây, chúng tôi cũng có thể tạo CSV cho dữ liệu cần thiết nhưng tôi chỉ trích xuất dữ liệu từ ShapeFile thay vì thực hiện CSV hoặc tìm kiếm nó trên web đã tiết kiệm rất nhiều thời gian.

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
4

Hãy để xem trước khung geodatafr

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
5

Bây giờ, hãy cùng tham gia geodata của chúng tôi với bộ dữ liệu của chúng tôi

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
6 Đầu ra sau khi hợp nhất bộ dữ liệu

Thời gian để ánh xạ

Đầu tiên, chúng ta cần thực hiện một số công việc được yêu cầu trước cho matplotlib để vẽ bản đồ là thiết lập biến, phạm vi và tạo ra một con số cơ bản cho bản đồ.

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
7

Thời gian để tạo bản đồ

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
8

Đây là những gì chúng tôi muốn, bản đồ đã sẵn sàng! Nhưng đòi hỏi một số làm đẹp và tùy biến.

BBox = ((df.longitude.min(),   df.longitude.max(),      
df.latitude.min(), df.latitude.max())
> (46.5691,46.8398, 24.6128, 24.8256)
9

Thanh màu là một điều bắt buộc trong bản đồ cho chúng ta biết các tham số cần tìm, hãy để tùy chỉnh nó vào bản đồ của chúng tôi.

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
0

Bạn có thể có lý do tại sao việc lập bản đồ với Geopandas là tốt hơn để bắt đầu. Nó có một mã rất nhỏ gọn và đơn giản và cung cấp một đầu ra mong muốn tuyệt vời. Chúng tôi có thể vẽ bất kỳ loại dữ liệu nào trên bất kỳ khu vực nào thông qua phương pháp này.

Tham khảo GitHub của tôi cho mã chính xác.GITHUB for the exact code.

Ánh xạ với Basemap

Bộ công cụ basemap matplotlib là một thư viện để vẽ dữ liệu 2D trên bản đồ trong Python. Basemap không tự mình thực hiện bất kỳ âm mưu nào nhưng cung cấp các cơ sở để chuyển đổi tọa độ thành một trong 25 dự báo bản đồ khác nhau. Matplotlib sau đó được sử dụng để vẽ các đường viền, hình ảnh, vectơ, đường hoặc điểm trong tọa độ được chuyển đổi. Các bộ dữ liệu bờ biển, sông và ranh giới chính trị được cung cấp, cùng với các phương pháp để vẽ chúng.

Trong phần này, bạn sẽ tìm hiểu về việc vẽ dữ liệu trên bản đồ thông qua Bộ công cụ Basemap.

Hãy cùng xem trực quan hóa bản đồ thông qua bộ công cụ Basemap.

Cài đặt

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
1

Nhập thư viện

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
2

Lưu ý: Nếu tìm thấy bất kỳ khó khăn hoặc lỗi nào (proj_lib) để nhập thư viện BasEmap, bạn có thể trực tiếp đặt đường dẫn của mình để nhập theo vị trí trong PC của bạn và chạy nó trước khi nhập Basemap.

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
3

Hãy để Lừa nhận được dữ liệu quan tâm của chúng tôi được vẽ từ CSV và Shapefile. Tại đây, liên kết để tải xuống CSV Yêu cầu Nhấp vào Hereand Shapefile Yêu cầu Nhấp vào đâyCLICK HEREand shapefile required CLICK HERE

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
4

Chúng tôi bắt đầu bằng cách tải dữ liệu. Lat-dài đã được nhập từ một CSV riêng biệt được sản xuất và các dữ liệu khác như tên quận và dân số của chúng từ tệp .shp được tải xuống trong các phần trước.

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
5

Dữ liệu này đã được lưu trữ dưới dạng mảng numpy, bạn có thể kiểm tra nó bằng [loại (lat)].

Tiếp theo, chúng tôi thiết lập phép chiếu bản đồ, phân tán dữ liệu và sau đó tạo một thanh màu

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
6

Bối cảnh bản đồ của chúng tôi hiện đã sẵn sàng để dữ liệu có thể được vẽ. Tại đây, Lat-dài của Rajasthan, Ấn Độ đã được thiết lập với dự đoán ‘LCC, với một lượng zoom nhất định để chỉ tập trung vào trạng thái cụ thể.

Hãy để thêm một số chi tiết vào nó và tách các ranh giới.

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
7

Bây giờ là lúc để phân tán dữ liệu qua phép chiếu bản đồ và đặt thanh màu.

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
8

Có phải nó trông giống như thiếu một cái gì đó? Đúng! Tất nhiên, tên quận. Chúng tôi không thể xác định quận thông qua dự báo này.

Hãy để âm mưu cho họ.

Chúng tôi có tên quận và LAT LAT của chúng được lưu trữ trong các biến ở trên nhưng chúng tôi có dữ liệu được lưu trữ dưới dạng mảng numpy, vì vậy chúng tôi cần lưu trữ chúng trong danh sách hoặc từ điển.

ruh_m = plt.imread('C:/.. … /Riyadh_map.png')
9

Bây giờ, Lat-dài đã được lưu trữ vào một từ điển (DILT1) và tên quận trong một danh sách (List3). Hãy để sử dụng chúng để đặt tên các quận qua dự đoán.

fig, ax = plt.subplots(figsize = (8,7))ax.scatter(df.longitude, df.latitude, zorder=1, alpha= 0.2, c='b', s=10)ax.set_title('Plotting Spatial Data on Riyadh Map')
ax.set_xlim(BBox[0],BBox[1])
ax.set_ylim(BBox[2],BBox[3])
ax.imshow(ruh_m, zorder=0, extent = BBox, aspect= 'equal')
0

Tham khảo GitHub của tôi cho mã chính xác.GITHUB for the exact code.

Ánh xạ với Basemap

Bộ công cụ basemap matplotlib là một thư viện để vẽ dữ liệu 2D trên bản đồ trong Python. Basemap không tự mình thực hiện bất kỳ âm mưu nào nhưng cung cấp các cơ sở để chuyển đổi tọa độ thành một trong 25 dự báo bản đồ khác nhau. Matplotlib sau đó được sử dụng để vẽ các đường viền, hình ảnh, vectơ, đường hoặc điểm trong tọa độ được chuyển đổi. Các bộ dữ liệu bờ biển, sông và ranh giới chính trị được cung cấp, cùng với các phương pháp để vẽ chúng.