【学习笔记】Task 1 地理数据分析常用工具
学习概述
本次组队学习的任务一主要帮助我们熟悉分析地理数据时常用的工具和方法,包括地理空间数据处理工具shapely和geopandas、地理数据可视化工具Folium和Kepler.gl以及地理数据常用编码方法GeoHash。调用这些包的方式为(GeoHash需要自行编程实现):
import shapely
import geopandas
import folium
from keplergl import KeplerGl
由于近期准备毕业论文时间紧张,加之安装geopandas并配置相关环境花了较长的时间,第一次任务完成得有点划水。很多函数的定义方式没看明白,感觉本次组队学习对我而言难度偏高,不过还是希望自己能坚持下去。
接下来简单概括一下本次任务我学到的知识点,主要是概念层面的。后续会加强操作练习。
shapely
Shapely是python中开源的空间几何对象库,支持Point、Curve、Surface和Polygon等基本几何对象类型以及相关空间操作。
Douglas-Pucker算法是将曲线近似表示为一系列点,并减少点的数量的一种算法。在shapely
中对应于LineString
对象的simplify
方法。从本任务后续的内容中可以发现,这个算法在处理地理空间大数据时十分重要,因为它能够在保留关键信息的前提下简化大型数据,有利于提升性能。
GeoPandas
GeoPandas提供了地理空间数据的高级接口,它让使用python处理地理空间数据变得更容易。
Folium
folium可以满足我们平时常用的热力图、填充地图、路径图、散点标记等高频可视化场景。
Kepler
Kepler.gl与folium类似,也是一个图形化的数据可视化工具,基于Uber的大数据可视化开源项目deck.gl创建的demo app。目前支持3种数据格式:CSV、JSON、GeoJSON。
GeoHash
GeoHash算法是一种通用的地理编码算法,它可以将二维的经纬度坐标编码为一维的字符串(由32个字母和数字组合而成,不包括a,i,o,l),能配合大数据工具完成高校便捷的地理数据挖掘聚类工作。编码长度越长,精读越高。
GeoHash算法在日常生活中的应用很广泛,例如滴滴打车就借助该算法快速实现乘客与近邻司机的匹配。参考这篇文章的介绍。