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

pygmaps 패키지를 사용하여 Google 지도에 데이터를 플로팅하시겠습니까?

<시간/>

Python pygmaps 라이브러리는 google maps javascript API에 대한 래퍼를 제공합니다. 이 라이브러리 python을 사용하면 html 및 javascript를 생성하는 인터페이스와 같은 matplotlib를 만든 다음 사용자가 Google 지도 위에 추가하고 싶은 모든 추가 정보를 표시할 수 있습니다.

필수 라이브러리

우리는 pygmaps 라이브러리/패키지를 사용할 것입니다. 다음과 같이 pip를 사용하여 pygmaps 라이브러리를 설치할 수 있습니다.

$pip install pygmaps (windows os)
$sudo pip3 install pygmaps (linux os)

다음을 표시하는 프로그램을 작성할 것입니다. -

  • 긴, 위도 및 확대/축소 수준을 제공하여 pygmaps를 사용하여 지도를 만듭니다.

  • 그리드와 그리드 크기에 대한 시작 및 끝 경도 및 위도 포인트를 제공하여 지도에 그리드를 설정합니다.

  • 지도에 점을 추가하고 색상을 설정하여 표시합니다.

  • 반경이 미터인 지도의 한 지점 주위에 원을 그립니다.

  • 경도 및 위도 포인트 목록을 제공하여 지도에 경로를 그립니다.

다음은 pygmaps를 통해 다른 기능을 가져오는 구현입니다.

import pygmaps
########## CONSTRUCTOR: pygmaps.maps(latitude, longitude, zoom) ##############################
# DESC:initialize a map with latitude and longitude of center point
#and map zoom level "15"
# PARAMETER1:latitude (float) latittude of map center point
# PARAMETER2:longitude (float) latittude of map center point
# PARAMETER3:zoom (int) map zoom level 0~20
# RETURN:the instant of pygmaps
#========================================================================================
mymap = pygmaps.pygmaps(17.45,78.29, 15)


########## FUNCTION: setgrids(start-Lat, end-Lat, Lat-interval, start-Lng, end-Lng, Lng-interval) ######
# DESC:set grids on map
# PARAMETER1:start-Lat (float), start (minimum) latittude of the grids
# PARAMETER2:end-Lat (float), end (maximum) latittude of the grids
# PARAMETER3:Lat-interval (float) grid size in latitude
# PARAMETER4:start-Lng (float), start (minimum) longitude of the grids
# PARAMETER5:end-Lng (float), end (maximum) longitude of the grids
# PARAMETER6:Lng-interval (float) grid size in longitude
# RETURN:no returns
#========================================================================================
mymap.setgrids(17.45, 17.46, 0.001, 78.29,78.30, 0.001)

########## FUNCTION: addpoint(latitude, longitude, [color])#############################
# DESC:add a point into a map and dispaly it, color is optional default is red
# PARAMETER1:latitude (float) latitude of the point
# PARAMETER2:longitude (float) longitude of the point
# PARAMETER3:color (string) color of the point showed in map, using HTML color code
#HTML COLOR CODE: https://www.computerhope.com/htmcolor.htm
#e.g. red "#FF0000", Blue "#0000FF", Green "#00FF00"
# RETURN:no return
#========================================================================================
mymap.addpoint(17.45,78.29, "#FF0000","Hello")


########## FUNCTION: addradpoint(latitude, longitude, radius, [color])##################
# DESC: add a point with a radius (Meter) - Draw cycle
# PARAMETER1:latitude (float) latitude of the point
# PARAMETER2:longitude (float) longitude of the point
# PARAMETER3:radius (float), radius in meter
# PARAMETER4:color (string) color of the point showed in map, using HTML color code
#HTML COLOR CODE: https://www.computerhope.com/htmcolor.htm
#e.g. red "#FF0000", Blue "#0000FF", Green "#00FF00"
# RETURN:no return
#========================================================================================
mymap.addradpoint(17.45,78.29, 150, "#0000FF")


########## FUNCTION: addpath(path,[color])##############################################
# DESC:add a path into map, the data struceture of Path is a list of points
# PARAMETER1:path (list of coordinates) e.g. [(lat1,lng1),(lat2,lng2),...]
# PARAMETER2:color (string) color of the point showed in map, using HTML color code
#HTML COLOR CODE: https://www.computerhope.com/htmcolor.htm
#e.g. red "#FF0000", Blue "#0000FF", Green "#00FF00"
# RETURN:no return
#========================================================================================
path = [(17.45,78.29),
(17.55, 78.39),
(17.65,78.49),
]
mymap.addpath(path,"#00FF00")

########## FUNCTION: draw(file)######################################################
# DESC:create the html map file (.html)
# PARAMETER1:file (string) the map path and file
# RETURN:no return, generate html file in specified directory
#========================================================================================
mymap.draw('./mymap.html')

print('OK')

참고 :mymap.addpoint 함수를 실행하는 동안

와 같은 Typeerror가 발생할 수 있습니다.

유형 오류 :addpoint()는 3~4개의 위치 인수를 취하지만 5개가 주어졌습니다.

이를 피하기 위해 pygmaps.py 패키지의 addpoint 함수에 title 인수를 추가했습니다.

출력

pygmaps 패키지를 사용하여 Google 지도에 데이터를 플로팅하시겠습니까?

위의 지도에서 볼 수 있듯이 하나의 지도에서 여러 기능을 시각화할 수 있습니다.