https://github.com/datawhalechina/team-learning-data-mining/tree/master/wisdomOcean
1.依赖的包安装
1.1.使用anaconda创建虚拟环境
1.2.安装 geopandas、shapely、keplergl等软件库
安装踩坑(安装geopandas):
geopandas直接用pip安装可能会报错,需要先安装其依赖包:gdal、Shapely、Fiona、pyproj
安装链接: https://www.lfd.uci.edu/~gohlke/pythonlibs
下载whl文件
1、GDAL‑3.1.4‑cp36‑cp36m‑win_amd64.whl
2、Shapely‑1.7.1‑cp36‑cp36m‑win_amd64.whl
3、Fiona‑1.8.18‑cp36‑cp36m‑win_amd64.whl
4、pyproj‑3.0.1‑cp37‑cp37m‑win_amd64.whl
然后直接用pip安装geopandas:pip install geopandas
或者清华源加速:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple geopandas
安装踩坑(安装keplergl):
依赖包内容示例
安装链接: https://www.lfd.uci.edu/~gohlke/pythonlibs
下载whl文件
1、GDAL‑3.1.4‑cp36‑cp36m‑win_amd64.whl
2、 Fiona‑1.8.18‑cp36‑cp36m‑win_amd64.whl
然后直接用pip安装keplergl:pip install keplergl
参考资料: https://www.cnblogs.com/feffery/p/11142816.html
安装过程
1、对以上依赖包依次直接在cmd命令行中安装:“pip install XXX.whl”
2、
然后直接用pip安装keplergl:“pip install keplergl”
3、检验是否安装成功:“import geopandas” ;“from keplergl import KeplerG”
2.学习内容
1.shapely
shapely是python中开源的空间几何对象库,支持Point(点),LineString(线),Polygon(面)等几何对象及相关空间操作。
它的以下一些功能特性非常常用:
-
几何对象可以和numpy.array互相转换。
-
可以轻松求线的长度(length),面的面积(area),对象之间的距离(distance),最小最大距离(hausdorff_distance)。
-
可以轻松求几何对象之间的关系:相交(intersect),包含(contain),求相交区域(intersection)等。
-
可以轻松对几何对象求几何中心(centroid),缓冲区(buffer),最小旋转外接矩形(minimum_rotated_rectangle)等。
-
可以求线的插值点(interpolate),可以求点投影到线的距离(project),可以求几何对象之间对应的最近点(nearestPoint)
-
可以轻松对几何对象进行旋转(rotate)和缩放(scale)。
参考资料:https://mp.weixin.qq.com/s/DvTxxRGpA2JF9OdGdsYphw
shapely官方文档:https://shapely.readthedocs.io/en/stable/project.html
2.geopandas
GeoPandas提供了地理空间数据的高级接口,它让使用python处理地理空间数据变得更容易。GeoPandas扩展了pandas使用的数据类型,允许对几何类型进行空间操作。几何运算由shapely执行。Geopandas进一步依赖fiona进行文件访问,依赖matplotlib进行绘图。
geopandas和pandas一样,一共有两种数据类型:
- GeoSeries
- GeoDataFrame
它们继承了pandas数据结构的大部分方法。这两个数据结构可以当做地理空间数据的存储器,shapefile文件的pandas呈现。
Shapefile文件用于描述几何体对象:点,折线与多边形。例如,Shapefile文件可以存储井、河流、湖泊等空间对象的几何位置。除了几何位置,shp文件也可以存储这些空间对象的属性,例如一条河流的名字,一个城市的温度等等。
**python地理处理包——GeoPandas官方中文文档
https://www.cnblogs.com/giserliu/p/4988615.html
python地理处理包——GeoPandas中文案例和分析
https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzA3ODYwNDkzOQ==&scene=1&album_id=1342860388945444864&count=3#wechat_redirect***
3.Folium
folium可以满足我们平时常用的热力图、填充地图、路径图、散点标记等高频可视化场景.folium也可以通过flask让地图和我们的数据在网页上显示,极其便利。
folium的使用 https://www.zhihu.com/question/33783546
folium官方文档:https://python-visualization.github.io/folium/index.html
4.Kepler.gl
Kepler.gl与folium类似,也是是一个图形化的数据可视化工具,基于Uber的大数据可视化开源项目deck.gl创建的demo app。目前支持3种数据格式:CSV、JSON、GeoJSON。
Kepler数据上传格式: https://sspai.com/post/55655
Kepler官网:https://kepler.gl (IE浏览器打开)
https://docs.kepler.gl/docs/user-guides