Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

พล็อตข้อมูลบน Google Map โดยใช้แพ็คเกจ pygmaps หรือไม่


ไลบรารี Python pygmaps จัดเตรียม wrapper สำหรับ google maps javascript api ด้วยไลบรารี python ผู้ใช้สามารถสร้าง matplotlib เช่นอินเทอร์เฟซเพื่อสร้าง html และ javascript จากนั้นสามารถแสดงข้อมูลเพิ่มเติมทั้งหมดที่ผู้ใช้ต้องการเพิ่มบน Google Maps

ห้องสมุดที่จำเป็น

เราจะใช้ไลบรารี / แพ็คเกจ pygmaps เท่านั้น คุณสามารถติดตั้งไลบรารี pygmaps โดยใช้ pip เช่น:

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

เราจะเขียนโปรแกรมที่จะแสดง -

  • สร้างแผนที่โดยใช้ pygmaps โดยระบุระดับที่ยาว ละติจูด และระดับการซูม

  • ตั้งค่ากริดบนแผนที่โดยระบุจุดเริ่มต้นและจุดสิ้นสุดของ long &lat สำหรับกริดและขนาดกริด

  • เพิ่มจุดบนแผนที่และแสดงโดยกำหนดสีให้กับจุดนั้น

  • วาดวงกลมรอบจุดบนแผนที่โดยมีรัศมีเป็นเมตร

  • วาดเส้นทางลงในแผนที่โดยระบุรายการจุดยาวและจุดสุดท้าย

ด้านล่างนี้คือการใช้งานการรับฟังก์ชันต่างๆ ผ่าน 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')

หมายเหตุ :คุณอาจพบ Typeerror ขณะเรียกใช้ฟังก์ชัน mymap.addpoint เช่น

TypeError :addpoint() ใช้อาร์กิวเมนต์ตำแหน่งตั้งแต่ 3 ถึง 4 รายการ แต่ได้รับ 5 รายการ

เพื่อหลีกเลี่ยงไม่ให้ฉันได้เพิ่มอาร์กิวเมนต์ชื่อในฟังก์ชัน addpoint ของแพ็คเกจ pygmaps.py

ผลลัพธ์

พล็อตข้อมูลบน Google Map โดยใช้แพ็คเกจ pygmaps หรือไม่

ดังที่คุณเห็นจากแผนที่ด้านบน เราสามารถมองเห็นฟังก์ชันต่างๆ มากมายในแผนที่เดียว