Computer >> Máy Tính >  >> Lập trình >> Python

Vẽ bản đồ Google Map bằng gói gmplot bằng Python?


Có nhiều cách bạn có thể vẽ tọa độ địa lý trên Google Maps. Tuy nhiên, trong trường hợp bạn muốn lưu nó trong một tệp cục bộ, một cách tốt hơn để thực hiện là thông qua mô-đun python có tên là gmplot.

Thư viện Python gmplot cho phép chúng ta vẽ biểu đồ dữ liệu trên bản đồ google. gmplot có giao diện giống như matplotlib để tạo HTML và javascript để cung cấp tất cả dữ liệu bổ sung trên Google Maps.

Cài đặt

Dễ dàng cài đặt gmplot bằng cách sử dụng pip. Trong khi đó gmplot chưa được cài đặt -

pip install gmplot

Khi chạy lệnh trên, bạn có thể thấy đầu ra giống như -

Vẽ bản đồ Google Map bằng gói gmplot bằng Python?

Từ phía trên, chúng ta có thể thấy phiên bản gmplot-1.2.0 mới nhất đã được cài đặt trên máy tính của chúng ta.

thư viện gmplot có một số phương pháp vẽ biểu đồ để tạo các chế độ xem bản đồ khám phá rất đơn giản. Gmplot rất linh hoạt để tạo bản đồ google vì chúng ta có thể sử dụng nó để tạo html trực tiếp.

Dưới đây là các cách khác nhau để thực hiện -

Case1 - Để tạo bản đồ cơ sở bằng gmplot

Nếu bạn muốn đặt bản đồ đến một vị trí cụ thể, bạn cần ghi giá trị kinh độ-vĩ độ của vị trí đó và độ phân giải thu phóng.

# Import gmplot library.
from gmplot import *
# Place map
# First two arugments are the geogrphical coordinates .i.e. Latitude and Longitude
#and the zoom resolution.
gmap = gmplot.GoogleMapPlotter(17.438139, 78.39583, 18)
# Location where you want to save your file.
gmap.draw( "C:\\Users\\rajesh\\Desktop\\map11.html" )

Đầu ra1

Vẽ bản đồ Google Map bằng gói gmplot bằng Python?

Lưu ý - Màn hình hiển thị phía trên chúng ta thấy điều này vì dịch vụ Google Maps hiện không miễn phí trong trường hợp bạn đang truy cập thông qua một API. Bạn cần thêm API_KEY của mình để xem bản đồ google tốt hơn. Dưới đây là mã để thực hiện điều này -

Trường hợp 1 (có thêm GOOGLE_API_KEY)

Để tạo bản đồ cơ sở bằng gmplot

# Import gmplot library.
from gmplot import *
# Place map
# First two arugments are the geogrphical coordinates .i.e. Latitude and Longitude
#and the zoom resolution.
gmap=gmplot.GoogleMapPlotter(17.438139, 78.39583, 18)
# Because google maps is not a free service now, you need to get an api key. Else commenting
# below line you will see the maps with "For Development Purpose Only" on the screen and maps
# with low resolution.
#gmap.apikey = "Your_API_KEY"
gmap.apikey = "AIzaSyDeRNMnZ__VnQDiATiuz4kPjF_c9r1kWe8"
# Location where you want to save your file.
gmap.draw( "C:\\Users\\rajesh\\Desktop\\map11.html" )

Lưu ý - Bạn cần thêm khóa API của google maps (‘Your_API_KEY’) và đặt nó bằng gmap.apikey. Đầu ra bên dưới sắp xuất hiện vì tôi sử dụng khóa của riêng mình, bạn cũng có thể lấy khóa này từ liên kết bên dưới -

https://developers.google.com/maps/documentation/embed/get-api-key

Đầu ra 1

Vẽ bản đồ Google Map bằng gói gmplot bằng Python?

Trường hợp 2 - Vẽ đa giác trên bản đồ google

# import gmplot package
import gmplot
latitude_list = [ 17.4567417, 17.5587901, 17.6245545]
longitude_list = [ 78.2913637, 78.007699, 77.9266135 ]
gmap = gmplot.GoogleMapPlotter(17.438139, 78.3936413, 11)
gmap.scatter( latitude_list, longitude_list, '# FF0000', size = 40, marker = False)
# polygon method Draw a polygon with
# the help of coordinates
gmap.polygon(latitude_list, longitude_list, color = 'cornflowerblue')
gmap.apikey = "Your_API_KEY"
gmap.draw( "C:\\Users\\rajesh\\Desktop\\map3.html" )

Đầu ra 2

Vẽ bản đồ Google Map bằng gói gmplot bằng Python?

Trường hợp 3 - Phân tán các điểm trên bản đồ google và vẽ một đường thẳng giữa các tọa độ đã cho.

# import gmplot package
import gmplot
#Set different latitude and longitude points
Charminar_top_attraction_lats, Charminar_top_attraction_lons = zip(*[
   (17.3833, 78.4011),(17.4239, 78.4738),(17.3713, 78.4804),(17.3616, 78.4747),
   (17.3578, 78.4717),(17.3604, 78.4736),(17.2543, 78.6808),(17.4062, 78.4691),
   (17.3950, 78.3968),(17.3587, 78.2988),(17.4156, 78.4750)])
#declare the center of the map, and how much we want the map zoomed in
gmap3 = gmplot.GoogleMapPlotter(17.3616, 78.4747, 13)
# Scatter map
gmap3.scatter( Charminar_top_attraction_lats, Charminar_top_attraction_lons, '#FF0000',size = 50, marker = False )
# Plot method Draw a line in between given coordinates
gmap3.plot(Charminar_top_attraction_lats, Charminar_top_attraction_lons, 'cornflowerblue', edge_width = 3.0)
#Your Google_API_Key
gmap.apikey = " API_Key”
# save it to html
gmap3.draw(r"c:\users\rajesh\desktop\maps\scatter.html")

Đầu ra 3

Vẽ bản đồ Google Map bằng gói gmplot bằng Python?

Trường hợp 4:Bản đồ nhiệt và phân tán trong một biểu đồ để biểu thị các trận động đất.

#Import important libraries
import gmplot
import numpy as np
# generate 700 random lats and lons
latitude = (np.random.random_sample(size = 700) - 0.5) * 180
longitude = (np.random.random_sample(size = 700) - 0.5) * 360
# declare the center of the map, and how much we want the map zoomed in
gmap = gmplot.GoogleMapPlotter(0, 0, 2)
# plot heatmap
gmap.heatmap(latitude, longitude)
gmap.scatter(latitude, longitude, c='r', marker=True)
#Your Google_API_Key
gmap.apikey = " Your_Google_API_Key "
# save it to html
gmap.draw(r"c:\users\rajesh\desktop\maps\country_heatmap.html")

Đầu ra

Vẽ bản đồ Google Map bằng gói gmplot bằng Python?