Python地理空间数据处理常用库主要功能:
(一)Shapely
- 是python中开源的空间几何对象库,支持Point(点),LineString(线), Polygon(面)等几何对象及相关空间操作。
- 几何对象可以和numpy.array互相转换。
- 可以求线的长度(length),面的面积(area),对象之间的距离(distance),最小最大距离(hausdorff_distance)。
- 可以对几何对象求几何中心(centroid),缓冲区(buffer),最小旋转外接矩形(minimum_rotated_rectangle)等。
- 可以线的插值点(interpolate),可以求点投影到线的距离(project),可以求几何对象之间对应的最近点(nearestPoint)
- 可以对几何对象进行旋转(rotate)和缩放(scale)。
文档:https://shapely.readthedocs.io/en/latest/manual.html#introduction
(二)GeoPandas
- 以读取和写入任意基于矢量的空间数据格式,包括ESRI shapefile,GeoJSON文件等命令。
- 提供了一个用于制作地图的高级接口matplotlib库。其映射形状与GeoSeries或GeoDataFrame使用plot()方法一样便于操作。
- 管理投影:坐标参考系统,设置投影和重新投影
- 空间几何操作
文档:https://geopandas.org/docs.html
(三)KeplerGl
- 提供功能: Layers (图层)、Filters (过滤)、Interaction(交互)、Base map (底层地图)
- 可使用以下指令,将运行结果以html格式保存,用网页打开后更具交互性
map1.save_to_html(data={
'data_1': df_gpd_change}, file_name='first_map.html')
文档:https://docs.kepler.gl/docs/keplergl-jupyter
(四)多边形简化算法
- Douglas-Peucker:根据具体情况,减少表示多边形曲线的点,可以减少处理数据时需要的内存,以及对曲线进行操作的时间
相关阅读:https://blog.csdn.net/webzhuce/article/details/104156475
推荐浏览Blog:
- GeoPandas:https://www.cnblogs.com/feffery/p/11898190.html
- KeplerGl:https://sspai.com/post/55655
- Python与GIS相关的内容:https://www.osgeo.cn/pygis/index.html