前言
感谢datawhale组织的学习,并免费提供答疑服务。
学习地址:https://coggle.club/learn/DCIC2021/
博客主要记录相关的问题
代码示例地址:https://cdn.coggle.club/dcic2021/DCIC-baseline.html
一、安装geohash报错
虽然“pip install geohash“下载成功,但是调用时找不到模块。最后解决方法
二、folium库
1.遇到的问题
解决方法:
将第一行数据取逆序后进行转换为list形式进行传参
2.folium库基础使用
import folium
# 上海地图
m = folium.Map(location=[31.22, 121.48]) #location参数为上海的经纬度
m.save('index.html')
#显示黑白的街道
b = folium.Map(
location=[31.22, 121.48],
tiles='Stamen Toner',
zoom_start=10
)
b.save('index_test1.html')
参数:
location:tuple或list类型输入,用于控制初始地图中心点的坐标,格式为(纬度,经度)或[纬度,经度],默认为None
width:int型或str型,int型时,传入的是地图宽度的像素值;str型时,传入的是地图宽度的百分比,形式为’xx%’。默认为’100%’
height:控制地图的高度,格式同width
tiles:str型,用于控制绘图调用的地图样式,默认为’OpenStreetMap’,也有一些其他的内建地图样式,如’Stamen Terrain’、‘Stamen Toner’、‘Mapbox Bright’、'Mapbox Control Room’等;也可以传入’None’来绘制一个没有风格的朴素地图,或传入一个URL来使用其它的自选osm
max_zoom:int型,控制地图可以放大程度的上限,默认为18
attr:str型,当在tiles中使用自选URL内的osm时使用,用于给自选osm命名
control_scale:bool型,控制是否在地图上添加比例尺,默认为False即不添加
no_touch:bool型,控制地图是否禁止接受来自设备的触控事件譬如拖拽等,默认为False,即不禁止
3.为地图添加标记部件
import folium
import os
'''创建Map对象'''
m = folium.Map(location=[29.488869,106.571034],
zoom_start=15)
'''为m添加标记部件'''
folium.Marker([29.488869,106.571034], popup='<i>Mt. Hood Meadows</i>').add_to(m)
'''显示m'''
m
folium.Marker()的常用参数进行介绍:
1.location:同folium.Map()中的同名参数,用于确定标记部件的经纬位置
2.popup:str型或folium.Popup()对象输入,用于控制标记部件的具体样式(folium内部自建了许多样式),默认为None,即不显示部件
3.icon:folium.Icon()对象,用于设置popup定义的部件的具体颜色、图标内容等
4. 在地图上绘制任意几何图形
import folium
m = folium.Map(location=[29.488869,106.571034],
zoom_start=7,
control_scale=True)
ls = folium.PolyLine(locations=[[30.588869,105.671034],[29.488869,106.571034],[31.888869,104.971034],[30.588869,105.671034]],
color='blue')
ls.add_to(m)
m
folium.PolyLine()的常用参数如下:
locations:二级嵌套的list,用于指定需要按顺序连接的坐标点,若要绘制闭合的几何图像,需要在传入列表的首尾传入同样的坐标
color:str型,传入十六进制的颜色,用于控制线条的颜色,默认为’#03f’
weight:float型,用于控制线条的宽度,默认为5
opacity:float型,用于控制线条的透明度,默认为0.5
popup:str型或folium.Popup()对象,用于控制线条样式
3总结:
提交页面
结果得分:
第一次参加数据竞赛,很多内容都不会,有点手忙脚乱,这篇文章写的也很粗糙。感谢datawhale助教耐心指导,自己也会慢慢熟悉内容。希望下次有所进步
参考资料
1.python folium 库学习 https://www.cnblogs.com/guanbin-529/p/12629620.html