• Geopandas实战--空间自相关


    启动jupyter

    jupyter默认工作空间为C盘的用户文件夹;在实际中需要修改为代码所在文件夹。
    打开快捷方式可以看到jupyter指向的是用户文件夹
    在这里插入图片描述

    复制该快捷方式,修改为代码所在的文件夹。
    在这里插入图片描述
    运行后工作空间就改变了
    在这里插入图片描述

    绘制地图(多个要素在同一张图)

    #1,显示地图
    import pandas as pd
    import geopandas as gp
    from matplotlib_scalebar.scalebar import ScaleBar
    import matplotlib.pyplot as plt
    import contextily as ctx
    #导入shp数据
    Csj_shp = gp.read_file('data\长三角城市群.shp')
    point_csv=pd.read_csv('data\\PM25_20210101.csv')
    point_csv = gp.GeoDataFrame(point_csv, geometry=gp.points_from_xy(point_csv.经度,point_csv.纬度))
    
    
    #设置画布大小
    fig, ax= plt.subplots(figsize=(10,8))
    #添加面和点要素
    Csj_shp.plot(ax=ax, alpha=0.9,color='yellow',edgecolor='black',linewidths=0.8)#alpha设置透明度
    point_csv.plot(ax=ax,color='purple',edgecolor='gray',linewidths=0.1, markersize=3)
    #可视化并加载在线底图
    ctx.add_basemap(ax, 
                    source='https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
                     crs=Csj_shp.crs,zoom=5)
    
    #保存图片
    fig.savefig("总体地图.png", dpi=200)
    '''
    #变换投影为web墨卡托即EPSG:3857,加载在线底图必须
    point_csv.crs=Csj_shp.crs
    Csj_shp=Csj_shp.to_crs('EPSG:3857')
    point_csv=point_csv.geometry.to_crs('EPSG:3857')
    '''
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    在这里插入图片描述

    空间连接

    类比常规表格数据的连接操作,在空间数据分析中也存在类似表连接的操作,譬如我们手头有一张观测站点数据的矢量表,以及另一张包含长江三角洲城市群行政区划面数据的矢量表,当我们想要通过某些操作来统计出每个行政区划面内部的设施点信息时,空间连接就可以非常方便快捷地实现这类需求。

    #2,空间连接
    import pandas as pd
    import geopandas as gp
    #导入shp数据
    Csj_shp = gp.read_file('data\长三角城市群.shp')
    #读取csv数据 
    point_csv=pd.read_csv('data\\PM25_20210101.csv')
    point_csv = gp.GeoDataFrame(point_csv, geometry=gp.points_from_xy(point_csv.经度,point_csv.纬度))
    #空间连接
    point_Csj = gp.sjoin(left_df=point_csv,right_df=Csj_shp, how="inner")
    #显示图像
    Csj_shp.plot()
    point_csv.plot()
    point_Csj.plot()
    #显示属性表
    point_Csj
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述
    新开通了本人的公众号,欢迎关注:燕南路GISer ,专注GIS干货分享,不定期更新。
    主要兴趣:GIS、时空数据挖掘、python、机器学习深度学习
    提问、求资源等都可在公众号后台留言
    CSDN的部分内容会重写再搬迁到公众号,欢迎关注!
    在这里插入图片描述

  • 相关阅读:
    tomcat8 优化
    关于javaFx tableView组件绑定Map数据
    Python 如何把 String 转换为 Json 对象
    Shell 输入/输出重定向学习笔记
    性能测试浅谈
    kafka 集群为什么依赖 zookeeper ?
    为什么在做微服务设计的时候一定需要DDD?
    优化函数和损失函数的区别与联系
    端口安全 | DHCP snooping
    Windows环境下的ELK——Logstash+Mysql(4)
  • 原文地址:https://blog.csdn.net/xza13155/article/details/125298921