folium进阶内容介绍

本文深入探讨folium库在地理信息可视化的高级特性,包括如何处理GeoJSON和TopoJSON数据,以及创建Choropleth分级着色图。详细介绍了GeoJson()和TopoJson()方法的参数用法,并通过多个示例展示如何使用这些方法绘制不同类型的地理形状。最后,展示了Choropleth地图的创建过程及其参数设置,帮助读者更好地理解和应用folium进行地图定制。
摘要由CSDN通过智能技术生成

一、简言

​ 上一篇中我们学习了folium的基础内容,从创建folium地图开始,通过主要参数修饰地图,尝试绘制Marker来标记特定地点等,实际上folium在地理信息可视化过程中重点在于绘制图像的高度可定制化。

二、处理GeoJSON和TopoJSON数据

  1. GeoJSON数据

    GeoJSON是语法规则符合JSON文件的,专用于表示地理信息的一种JSON文件,其在JSON语法的基础上,内部又有着一套固定的语法规则。在folium中我们使用folium.GeoJson()方法来为已有的Map对象添加GeoJson图层,其常用参数如下:

    • data:传入你想要在地图上绘制的GeoJson数据。
    • highlight_function:一个自编函数,用于映射自定义的地图上施加的鼠标事件形式,默认为None。
    • style_function:一个自编函数,将自定义的对GeoJSON中特征的风格设置,映射到GeoJSON图层上,默认为None。
    • smooth_factorfloat型,用于控制每一次缩放时GeoJSON图层元素的光滑程度,该数值越大,意味着元素越光滑;该数值越小,意味着,元素的表现越接近真实坐标。

    示例1:通过GeoJSON绘制直线

   m = folium.Map(location=[38.85,115.48],
                 zoom_start=12,control_scale=True)
   gj = folium.GeoJson(data={
   "type":"LineString",
                      "coordinates":[[115.46, 38.80], [115.49, 38.88]]})
   gj.add_to(m)
   m

img

示例2:通过GeoJSON格式数据绘制交汇矩形

   m = folium.Map(location=[38.85,115.48],
                 zoom_start=12,control_scale=True)
   gj = folium.GeoJson(data={
    "type": "Polygon",
     "coordinates": [
       [ [115.46, 38.80], [115.56, 38.80], [115.56, 38.90], [115.46, 38.90], [115.46, 38.80] ],
       [ [115.48, 38.82], [115.54, 38.82], [115.54, 38.88], [115.48, 38.88], [115.48, 38.82] ]
       ]
    })
   
   gj.add_to
  • 5
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值