如何使用folium包在Python中绘制Google地图

如何使用folium包在Python中绘制Google地图

folium包基于Python生态系统的数据处理能力和JavaScript语言的Leaflet.js库的地图绘制能力。用户可以使用Python操纵数据,然后通过folium包使用Leaflet.js地图进行可视化。folium包是一种简单的在Leaflet.js地图上可视化数据的方法,这些数据是通过Python进行处理的。

所需的模块和库

Folium: 用户可以使用以下命令安装Folium包。

pip install folium

Geopy: Python的geopy模块使Python用户可以轻松定位地球表面上的地标、城市和国家的坐标。要安装geopy模块,用户可以使用以下命令:

pip install geopy

在成功安装两个库之后,我们按照以下步骤绘制Google地图。

步骤1:创建基础地图

用户可以使用以下程序来创建基础地图:

import os
# First, import folium package
import folium
from geopy.geocoders import Nominatim as NT
# Initialize Nominatim API
geo_locator = NT(user_agent = "geoapiExercises")
# write the place
place_1 = "Yemen"

location_1 = geo_locator.geocode(place_1)
# now, it will search for the location by using the latitude and longitude, with zoom_start = 15
user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],
                                        zoom_start = 15 )
# At last, open the base map
user_map1

输出:

如何使用folium包在Python中绘制Google地图

步骤2:添加一个圆形标记

用户可以使用以下代码标记该区域,并显示圆圈和弹出文本:

import folium

from geopy.geocoders import Nominatim as NT

geo_locator = NT(user_agent = "geoapiExercises")

place_1 = "Yemen"

location_1 = geo_locator.geocode(place_1)

user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],
                                        zoom_start = 15 )

# CircleMarker with radius
folium.CircleMarker(location = [location_1.longitude, location_1.latitude],
                    radius = 45, popup = ' YEMEN ').add_to(user_map1)

# Now, open the Map with circular Mark
user_map1

输出:

如何使用folium包在Python中绘制Google地图

步骤3:为降落伞样式标记添加简单标记,包括弹出文本

用户可以使用以下代码。

示例

import os
import folium

from geopy.geocoders import Nominatim as NT

geo_locator = NT(user_agent = "geoapiExercises")

place_1 = "Yemen"

location_1 = geo_locator.geocode(place_1)

user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],
                                        zoom_start = 15)
#Now, we will pass the string in popup parameter
folium.Marker([location_1.longitude, location_1.latitude],
               popup = ['YEMEN']).add_to(user_map1)
# now, open the map 
user_map1

输出:

如何使用folium包在Python中绘制Google地图

步骤4:在地图上添加线路

用户可以使用以下代码将线路添加到地图上,以连接两个坐标点。

示例

# First, import folium package
import folium
import os 
from geopy.geocoders import Nominatim as NT

geo_locator = NT(user_agent = "geoapiExercises")

place_1 = "Aden"
place_2 = "Yemen"
location_1 = geo_locator.geocode(place_1)
location_2 = geo_locator.geocode(place_2)
user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],
                                        zoom_start = 6)

folium.Marker([location_1.longitude, location_1.latitude],
               popup = ['Aden']).add_to(user_map1)

folium.Marker([location_2.longitude, location_2.latitude],
              popup = 'Yemen').add_to(user_map1)

# Now, we will add the line on the map by using Polyline method .
# it will connect both coordinates by the line

folium.PolyLine(locations = [[location_1.longitude, location_1.latitude], [location_2.longitude, location_2.latitude]],
                line_opacity = 0.5).add_to(user_map1)
# now, open the map
user_map1

输出:

如何使用folium包在Python中绘制Google地图

解释

我们使用了 geopy 库来获取位置的纬度和经度。然后我们使用了 folium 包的 folium.Map 方法创建了Google地图的基础。

在步骤2中,我们使用 folium.CircleMarker 在位置上标记了圆形标记,并添加了弹出文本。在步骤3中,我们使用 folium.Marker 在指定位置上添加了一个降落伞样式的标记。在最后一步中,我们使用 folium.PolyLine 来连接地图上两个不同位置的标记。

结论

在本教程中,我们展示了用户如何在地图上绘制谷歌地图,并添加不同所需的功能,如圆形标记、降落伞标记、弹出文本以及连接地图上两个坐标的线条。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程