首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

geopandas,用python画地图原来这么简单!

plt.show() 当然除了上面的平面效果,你还可以做出这样的: 还可以给地图着色: ---- 下面言归正传,正式讲解geopandas是如何工作的 前面说过,geopandas沿用了pandas...你可以把这两个数据结构当作地理空间数据的存储器,shapefile文件的pandas呈现。 Shapefile文件用于描述几何体对象:点,折线与多边形。...例如,Shapefile文件可以存储井、河流、湖泊等空间对象的几何位置。除了几何位置,shp文件也可以存储这些空间对象的属性,例如一条河流的名字,一个城市的温度等等。...而geopandas.datasets.get_path('naturalearth_lowres')则是从geopandas自带的数据集中获取世界地图的shapefile文件。...GeoDataFrame文件的输出形式 前面讲到将shapefile读成GeoDataFrame格式,反过来你也可以将GeoDataFrame格式输出为shapefile文件。

3.1K20

地图可视化:geopandas绘制拓扑着色地图

,需要满足拓扑着色要求,即所有相邻的区域不可以用同一种颜色绘制,以前的手绘地图需要绘制者自行思考设计具体的着色规则,而现如今通过计算机的辅助,我们可以快速生成大量的着色方案。...今天我们就来学习配合geopandas如何快速实现地图的拓扑着色。...2 基于mapclassify的地图拓扑着色 对于着色方案的生成,我们需要使用到mapclassify这个第三方库,以前我的geopandas系列文章分层设色篇也介绍过其中的诸多功能,而本文需要使用到其特殊的...,快速生成一定配色数量的方案出来,greedy()的主要参数如下: gdf:GeoDataFrame型,用于传入待处理的地理数据框 strategy:str型,用于设定拓扑着色所采取的具体策略,默认为balanced...7种不同标签,虽然按照四色问题的猜想,任何拓扑着色地图只需要4种颜色即可完成色彩填充,但在有限的计算时间内,greedy()给出了还不错的方案: 按照标签进行颜色分配: 放大仔细发现,每个邻接的区域的确实现了颜色不重合

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用dask-geopandas处理大型地理数据

    前言 读者来信 我之前是 1、先用arcgis 栅格转点 2、给点添加xy坐标 3、给添加xy坐标后的点通过空间连接的方式添加行政区属性 4、最后计算指定行政区的质心 之前的解决办法是用arcgis 完成第一步和第二步...方式 target_gdfnew = dask_geopandas.from_geopandas(target_gdf, npartitions=4) # 重新投影参与连接的边界以匹配目标几何图形的...geopandas读取Shapefile,然后转换为dask_geopandas对象。...例如,在合并或连接操作之前,仔细考虑是否所有列都需要参与操作。 使用更高效的空间连接 在使用dask_geopandas进行空间连接时,确保操作是高效的。...你的代码尝试使用geopandas.sjoin,但是应该使用dask_geopandas.sjoin。此外,确保在执行空间连接之前,两个数据集已经有了匹配的坐标参考系统(CRS)。

    24710

    (数据科学学习手札77)基于geopandas的空间数据分析——文件IO

    作为基于geopandas的空间数据分析系列文章的第三篇,通过本文你将会学习到geopandas中的文件IO。...图1 2.1.1 shapefile   作为非常常见的一种矢量文件格式,geopandas对shapefile提供了很好的读取和写出支持,下面分为不同情况来介绍: 完整的shapefile   如图2...图2   使用geopandas来读取这种形式的shapefile很简单: import geopandas as gpd data = gpd.read_file('geometry/china_provinces...图3 缺少投影的shapefile   当shapefile中缺失.prj文件时,使用geopandas读入后形成的GeoDataFrame会缺失crs属性: ?...图6 读取zip压缩包中的文件 geopandas通过传入特定语法格式的文件路径信息,以支持直接读取.zip格式压缩包中的shapefile文件,主要分为两种情况。

    2.1K31

    使用 geopandas 和 shapely(.shp) 进行地理空间数据处理和可视化

    而Python中的 geopandas 和 shapely 是两个非常强大的库,提供了便捷的功能来处理和可视化地理空间数据。...本文将介绍如何使用 geopandas 和 shapely 来读取、处理、可视化和保存地理Shapefile文件。 1....通过下面代码,我们可以使用 geopandas 库中的 read_file 函数来读取 Shapefile 文件,并将其保存为一个 GeoDataFrame 对象: import geopandas...保存为新的 Shapefile (.shp)文件 最后,我们将删除指定区域内的地理要素保存为一个新的 Shapefile 文件: new_shp_file = "海南省界/海南省界Export_Output.shp...定义一个变量 new_shp_file,指定保存新 Shapefile 文件的路径。 使用 gdf.to_file() 函数将更新后的地理数据保存为新的 Shapefile 文件。

    2.8K10

    Python地信专题 | 基于geopandas的空间数据分析-文件IO篇

    作为基于geopandas的空间数据分析系列文章的第三篇,通过本文你将会学习到geopandas中的文件IO。...本文使用到的所有数据都可以在文章开头提及的Github仓库对应本文路径下找到: 图1 2.1.1 shapefile 作为非常常见的一种矢量文件格式,geopandas对shapefile提供了很好的读取和写出支持...下面分为不同情况来介绍: 完整的shapefile 如图2,这是一个完整的shapefile: 图2 使用geopandas来读取这种形式的shapefile很简单: import geopandas...data.head() # 查看前5行 图3 缺少投影的shapefile 当shapefile中缺失.prj文件时,使用geopandas读入后形成的GeoDataFrame会缺失crs属性:...:4326') data.crs 图5 直接读取文件夹 当文件夹下只有单个shapefile时,可以直接读取该文件夹: 图6 读取zip压缩包中的文件 geopandas通过传入特定语法格式的文件路径信息

    2.3K20

    (数据科学学习手札133)利用geopandas绘制拓扑着色地图

    ,需要满足拓扑着色要求,即所有相邻的区域不可以用同一种颜色绘制,以前的手绘地图需要绘制者自行思考设计具体的着色规则,而现如今通过计算机的辅助,我们可以快速生成大量的着色方案。   ...今天我们就来学习配合geopandas如何快速实现地图的拓扑着色。...2 基于mapclassify的地图拓扑着色   对于着色方案的生成,我们需要使用到mapclassify这个第三方库,以前我的geopandas系列文章分层设色篇也介绍过其中的诸多功能,而本文需要使用到其特殊的...,快速生成一定配色数量的方案出来,greedy()的主要参数如下: gdf:GeoDataFrame型,用于传入待处理的地理数据框 strategy:str型,用于设定拓扑着色所采取的具体策略,默认为balanced...首先我们需要向greedy()中传入对应的面要素GeoDataFrame,greedy()会根据我们的参数设定为每一个面生成一个标签,我们只需要将此标签列作为绘图着色映射列即可,可以看到最终得到的标签方案中共有

    1K30

    shpfile转GeoJSON;控制shp转GeoJSON的精度;如何获取GeoJSON;GeoJSON是什么有什么用;GeoJSON结构详解(带数据示例)

    3.1.2、操作步骤 ①载入Shapefile数据 ②点击导出 ③选择数据格式并导出 就这样一个长三角区域的市级行政矢量图,就有1.3MB的数据量,真的有点夸张,其实大多数情况下这种数据导出的...3.2、使用python将Shapefile转化为GeoJSON 3.2.1、安装geopandas库 pip install geopandas 3.2.2、使用geopandas读取Shapefile...文件,并转换为GeoJSON格式 import geopandas as gpd # 读取Shapefile文件 shp_file_path = 'path_to_your_shapefile.shp...库提供的simplify()方法来控制精度 import geopandas as gpd # 读取Shapefile文件 shp_file_path = 'path_to_your_shapefile.shp...' # 替换为你的Shapefile路径 gdf = gpd.read_file(shp_file_path) # 使用simplify方法简化几何,tolerance参数控制简化的精度 # 值越小

    37910

    使用Python和Geopandas进行地理数据可视化的实用指南

    Python语言以其强大的数据处理和可视化库而闻名,而Geopandas作为其地理信息系统(GIS)领域的扩展,为处理地理空间数据提供了方便的工具。...Geopandas支持多种地理数据格式,包括Shapefile、GeoJSON、Geopackage等。在本示例中,我们将使用一个Shapefile格式的地图数据。...import geopandas as gpd​# 读取Shapefile格式的地图数据world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres...加载地理数据:Geopandas支持多种地理数据格式,包括Shapefile、GeoJSON、Geopackage等,可以使用gpd.read_file()函数加载数据。...空间分析与查询:Geopandas支持空间分析和查询,如空间查询、空间缓冲区等操作。数据保存与导出:可以使用Geopandas将地理数据保存为Shapefile、GeoJSON等格式的文件。

    65210

    geopandas&geoplot近期重要更新

    07-10)geopandas与geoplot两个常用的GIS类Python库都进行了一系列较为重大的内容更新,新增了一些特性,本文就将针对其中比较实际的新特性进行介绍。...2 geopandas&geoplot近期重要更新内容 2.1 geopandas近期重要更新 2.1.1 新增高性能文件格式 从geopandas0.8.0版本开始,在矢量文件读写方面,新增了.feather...import Point import pandas as pd from tqdm.notebook import tqdm # 创建虚拟表,其中字段名为了导出shapefile不报错加上非数字的前缀...,接着我们分别测试geopandas读写shapefile、feather以及parquet三种数据格式的耗时及文件占硬盘空间大小: 图2 图3 具体的性能比较结果如下,可以看到与原始的shapefile...相比,feather与parquet取得了非常卓越的性能提升,且parquet的文件体积非常小: 类型 写出耗时 读入耗时 写出文件大小 shapefile 325秒 96秒 619MB feather

    80430

    (数据科学学习手札89)geopandas&geoplot近期重要更新

    -10)geopandas与geoplot两个常用的GIS类Python库都进行了一系列较为重大的内容更新,新增了一些特性,本文就将针对其中比较实际的新特性进行介绍。...import Point import pandas as pd from tqdm.notebook import tqdm # 创建虚拟表,其中字段名为了导出shapefile不报错加上非数字的前缀...,接着我们分别测试geopandas读写shapefile、feather以及parquet三种数据格式的耗时及文件占硬盘空间大小: ?...图3   具体的性能比较结果如下,可以看到与原始的shapefile相比,feather与parquet取得了非常卓越的性能提升,且parquet的文件体积非常小: 类型 写出耗时 读入耗时 写出文件大小...shapefile 325秒 96秒 619MB feather 50秒 25.7秒 128MB parquet 52.4秒 26秒 81.2MB   所以当你要存储的矢量数据规模较大时,可以尝试使用

    89120

    (数据科学学习手札140)详解geopandas中基于pyogrio的矢量读写引擎

    图片 2 详解geopandas中的pyogrio读写引擎 geopandas0.11版本之后新增的pyogrio引擎,基于geopandas团队开发的同名Python库,其基于OGR,而OGR则是著名的开源栅格空间数据转换框架...可以帮助我们直接书写SQL语句对原数据进行提取(注意,其执行顺序先于上述其他过滤类参数):   但要注意的是,目前pyogrio引擎的sql参数,在读取诸如含有中文等unicode字符信息的shapefile...文件时,不能正常的解析内容,而针对GeoJSON、gpkg等其他格式矢量文件时则一切正常: GeoJSON文件正常 gpkg文件正常 shapefile文件乱码,亲测即使指定encoding也无效...  所以现阶段建议读取shapefile文件时,可以使用columns+where的组合方式代替sql以实现同样的效果。...#geopandas-integration阅读了解更多。 ----   以上就是本文的全部内容,欢迎在评论区与我进行讨论~

    97710

    用Python编写小工具下载OSM路网数据

    但这种方式一是对电脑资源要求较高,譬如中国范围路网信息shapefile文件大小达到了800多兆,二是OSM的路网信息不定期更新之后,要想及时跟上最新数据,就需要人工持续下载数据。...图5 Step3: 渲染路网: 图6 了解了上述步骤之后,我们利用requests、geopandas等库仅用不到100行代码就可以参考上述过程,提取所需的shapefile或GeoJSON文件保存到本地...2.2 使用方式 提示:请提前安装完成requests、geopandas、pandas以及tqdm这几个三方库。...以成都市为例: # 单个地区路网下载 downloader = OsmDownloader(area='成都市') # area参数控制检索的行政区,请尽量准确填写 downloader.download_shapefile...) 等待一段时间后,我们area_list里多个不同级别行政区的路网数据便下载完成: 图10 如果担心中途网络连接原因导致中断,可以结合Python中的错误捕捉机制来进行相对应的处理,比较简单这里就不再赘述

    1.6K20

    (数据科学学习手札80)用Python编写小工具下载OSM路网数据

    GIS软件或编程工具中裁剪下所需的范围路网,但这种方式一是对电脑资源要求较高,譬如中国范围路网信息shapefile文件大小达到了800多兆,二是OSM的路网信息不定期更新之后,要想及时跟上最新数据,就需要人工持续下载数据...了解了上述步骤之后,我们利用requests、geopandas等库仅用不到100行代码就可以参考上述过程,提取所需的shapefile或GeoJSON文件保存到本地,具体的代码部分本文不做详细说明,我将这部分功能封装到文章开头对应...2.2 使用方式   按照上文所述的地址下载对应脚本之后(请提前安装完成requests、geopandas、pandas以及tqdm这几个三方库),记住其所在路径,接着在其他脚本开头导入模块部分添加:...参数控制检索的行政区,请尽量准确填写 downloader.download_shapefile(path='保存路径') # path参数控制文件保存的路径   程序运行后稍等片刻即可完成下载(具体的耗时取决于你的网络状况...如果担心中途网络连接原因导致中断,可以结合Python中的错误捕捉机制来进行相对应的处理,比较简单这里就不再赘述。   以上就是本文全部内容,对脚本获取或使用有疑问的可以留言告诉我。

    1.7K10

    Geopandas 一行代码算出每个省的面积

    GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块。...2.基本使用 设定坐标绘制简单的图形: 这些变量所形成的图形如下: 这里有一个重要且强大的用法,通过area属性,geopandas能直接返回这些图形的面积: >>> print(g.area) 0...3.绘制并算出每个省的面积 此外,它最大的亮点是可以通过 Fiona(底层实现,用户不需要管),读取比如ESRI shapefile(一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式)。...读取出来的图形如下: 同样,这个shapefile是省级行政区的,每一个省级行政区都被划分为一个区块,因此可以一行语句算出每个省级行政区所占面积: print(maps.area) # 0 4.156054e...它还有许多更库的特性,欢迎阅读官方文档: https://geopandas.readthedocs.io/

    1.4K20

    如何使用Python处理shp文件

    涉及到空间数据处理的时候,为了比较清晰方便的看出空间数据所处的区域,通常都需要将省市边界线加到地图中。 Python中也提供了大量的shp文件处理方法,有底层的一些库,也有一些封装比较完整的库。...•geopandas[3]:基于 fiona 进行了封装 fiona 安装 pip install fiona 读取shp文件 import fiona shps = fiona.open('CHN_adm2...pyshp 安装 pip install pyshp 文件读取 import shapefile shps = shapefile.Reader('CHN_adm2.shp') 读取后返回的 shps...如果想看图的时候可以使用ArcGIS或者QGIS,导入文件即可。或者使用geopandas进行处理,geopandas提供了shape文件的处理和可视化,具有更为简便的API。...geopandas 安装 pip install geopandas 文件处理和可视化 import geopandas shps = geopandas.read_file('CHN_adm1.shp

    14K30

    #Python实战#神器Geopandas一行代码算出每个省面积

    [eaf84df782de4af8916e590cee4bec18~tplv-k3u1fbpfcp-zoom-1.image] GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块...如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal. 由于geopandas涉及到许多第三方依赖,pip安装起来非常麻烦。...: [457a789b41bf43dfb4e2d71b4ee9e0d3~tplv-k3u1fbpfcp-zoom-1.image] 这里有一个重要且强大的用法,通过area属性,geopandas能直接返回这些图形的面积...3.绘制并算出每个省的面积 此外,它最大的亮点是可以通过 Fiona(底层实现,用户不需要管),读取比如ESRI shapefile(一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式)。...读取出来的图形如下: [b8eb596aa6574ef5bfddbc4393ea803f~tplv-k3u1fbpfcp-zoom-1.image] 同样,这个shapefile是省级行政区的,每一个省级行政区都被划分为一个区块

    60720

    打开Shapefile文件的正确方式

    Shapefile文件简介 Shapefile文件是美国ESRI公司发布的文件格式,因其ArcGIS软件的推广而得到了普遍的使用,是现在GIS领域使用最为广泛的矢量数据格式。...官方称Shapefile是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。 一般地,Shapefile文件是多个文件的集合,至少包括一个shp,shx以及dbf文件。...Shapefile文件的话,需要根据shx文件中的信息读取shp中的二进制数据并转化为几何对象,然后再读取dbf表格,将属性添加到几何对象上就完成了对一个Shapefile文件的解析....英文好的同学,请转移到这里:ESRI Shapefile Technical Desc GDAL中矢量数据组织 GDAL中的栅格数据使用OGRDataSource表示(OGRDataSoruce是抽象类...GDAL中的空间要素模型是按照OGC的Simple Feature规范实现的,有兴趣的童鞋可以参考官方文档:Simple Feature Access 使用GDAL打开Shapefile文件 下面的例子演示了如何打开

    2.8K20
    领券