Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 gmplot 패키지를 사용하여 Google 지도를 플로팅하시겠습니까?


Google 지도에서 지리적 좌표를 그리는 방법에는 여러 가지가 있습니다. 그러나 로컬 파일에 저장하려는 경우 gmplot이라는 python 모듈을 사용하는 것이 더 나은 방법입니다.

Python 라이브러리 gmplot을 사용하면 Google 지도에 데이터를 표시할 수 있습니다. gmplot에는 Google 지도 위에 모든 추가 데이터를 제공하기 위해 HTML 및 자바스크립트를 생성하는 matplotlib와 유사한 인터페이스가 있습니다.

설치

gmplot이 아직 설치되지 않은 경우 pip를 사용하여 gmplot을 설치하는 것은 쉽습니다 -

pip install gmplot

위의 명령을 실행하면 −

와 같은 출력이 표시될 수 있습니다.

Python에서 gmplot 패키지를 사용하여 Google 지도를 플로팅하시겠습니까?

위에서 보면 최신 gmplot-1.2.0 버전이 컴퓨터에 설치된 것을 볼 수 있습니다.

gmplot 라이브러리에는 탐색적 지도 보기를 매우 간단하게 생성하는 몇 가지 플로팅 방법이 있습니다. Gmplot은 html을 직접 생성하는 데 사용할 수 있으므로 Google 지도를 만드는 데 매우 유연합니다.

다음은 이를 달성하는 다양한 방법입니다 -

Case1 − 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)
# Location where you want to save your file.
gmap.draw( "C:\\Users\\rajesh\\Desktop\\map11.html" )

출력1

Python에서 gmplot 패키지를 사용하여 Google 지도를 플로팅하시겠습니까?

참고 − 위 화면 표시는 API를 통해 액세스하는 경우 Google 지도 서비스가 현재 무료가 아니기 때문에 표시됩니다. 더 나은 Google 지도 보기를 보려면 API_KEY를 추가해야 합니다. 다음은 이를 수행하는 코드입니다 -

사례 1(GOOGLE_API_KEY 추가)

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" )

참고 - Google 지도 API 키('Your_API_KEY')를 추가하고 gmap.apikey와 동일하게 설정해야 합니다. 아래 링크에서 얻을 수 있는 내 키를 사용하기 때문에 아래 출력이 나옵니다.

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

출력 1

Python에서 gmplot 패키지를 사용하여 Google 지도를 플로팅하시겠습니까?

사례 2 - 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" )

출력 2

Python에서 gmplot 패키지를 사용하여 Google 지도를 플로팅하시겠습니까?

사례 3 - Google 지도에서 점을 분산하고 주어진 좌표 사이에 선을 그립니다.

# 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")

출력 3

Python에서 gmplot 패키지를 사용하여 Google 지도를 플로팅하시겠습니까?

사례 4:지진을 나타내는 하나의 그래프에 히트맵 및 산포도를 표시합니다.

#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")

출력

Python에서 gmplot 패키지를 사용하여 Google 지도를 플로팅하시겠습니까?