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

geopandas:Python绘制数据地图

我们可以通过经纬度数据Latitude和Longitude创建该。...180.0, 90.0) Datum: World Geodetic System 1984 ensemble - Ellipsoid: WGS 84 - Prime Meridian: Greenwich 可以通过计算该地图中相邻两点之间的距离长度来确定比例尺基准长度...通过空间连接,我们可以这两个数据集合并成一个新的数据集,其中每个城市都会有相应的人口数据。GeoPandas提供sjoin函数两个GeoDataFrame数据集基于空间关系进行连接。...: by: 可以是一个字段名,也可以是一字段名的列表。...自定义函数:可以传入自定义的聚合函数。 as_index: 是否by参数指定的字段作为行索引,默认为True。 *kwargs: 其他参数。 下面示例代码演示了dissolve函数的使用。

2.4K41

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

对于dask-geopandas可以通过调整Dask的工作进程数和内存限制来优化性能。...代码审查:仔细检查实现代码,尤其是dask-geopandas的部分,确认是否正确使用了并行计算和数据分区功能。 批处理:如果可能,尝试数据分成更小的批次进行处理,而不是一次性处理所有点。...() 检查几何对象是否在某个多边形内 ddf.within(polygon) 此外,如果你有一个分布式的 dask.dataframe,你可以 x-y 点的列传递给 set_geometry 方法来设置几何形状...'bianjie' 中的属性添加到 'outwen' 中 joined = joined.drop(columns='index_right') # 移除多余的索引 result =...例如,在合并或连接操作之前,仔细考虑是否所有都需要参与操作。 使用更高效的空间连接 在使用dask_geopandas进行空间连接时,确保操作是高效的。

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

(数据科学学习手札162)Python GIS神器geopandas 1.0版本发布

历经10年迭代升级,geopandas充分完善了其在GIS数据分析上的功能,使得我们可以使用类似pandas的操作方式,便捷且高性能的开展各种常用的GIS分析运算,极大增强了Python在GIS分析领域的能力...  新增方法build_area(),用于基于一系列可以构成闭合面要素的线要素,整体生成合法的若干多边形: 2.1.14 新增snap()方法   新增方法snap(),用于满足距离阈值要求的要素A挂靠到对应的要素...)方法   新增方法get_geometry(),用于矢量各要素视作多部件要素,进行快捷位序索引: 2.1.17 新增dwithin()方法   新增方法dwithin(),用于快速判断矢量A是否在矢量...  接下来我们来了解新版本中获得功能增强的一些主要API: 2.2.1 空间连接新增dwithin型空间关系判断   针对sjoin()方法,新增了dwithin型空间关系判断,使得我们可以geopandas...中真正意义上直接实现“匹配与目标要素距离在XXX以内的纪录行”: 2.2.2 配合pd.read_csv指定矢量类型   在新版本中,我们可以GeoDataFrame写出为csv格式,并在使用pd.read_csv

10810

Part4-2.对建筑年代的预测结果进行分析:绘制混淆矩阵、计算分类报告,绘制空间分布

如果你对PEP8感兴趣可以阅读PEP8官方文档[3]。 三、开始预测 3.1 对整个测试集进行预测 我们预测图像的最终目标是获取每个图像的预测标签,用来对比是否和真实标签相等,从而进行接下来的分析。...2)测试集的数据保存为表格 可以预测结果保存为表格,方便后续加载。...基于上述情况,我们可以定义(召回率、精确度和F1分数): 2)召回率 (Recall): 概念:召回率衡量了所有真实为正的样本中,被模型正确预测为正的比例。...从图中可以看出,对角线上的颜色比较深,说明模型在这些类别上的预测较为准确。而其他位置的颜色较浅,表示误判的数量相对较少。...我们来用geopandas读取刚刚创建的渔网,因为他在gdb数据库中,我们可以用read_file()去读取: # 查看geopandas的版本 gpd.

41320

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

图片 2 详解geopandas中的pyogrio读写引擎 geopandas0.11版本之后新增的pyogrio引擎,基于geopandas团队开发的同名Python库,其基于OGR,而OGR则是著名的开源栅格空间数据转换框架...来读入指定的若干字段,当你的矢量文件有很多无关紧要的字段时,可以利用此特性来整洁数据以及减少读入数据的内存消耗: 2.1.2 利用read_geometry参数设置是否忽略矢量   如果你不需要矢量文件中的矢量信息...,针对中文等由unicode字符构成的字段名,需要将其包裹在""中进行定义,参考下图中我的做法: 2.1.6 利用sql参数在原数据上直接进行sql查询   前面我们介绍了多种用于过滤原数据的实用参数...2.2 基于pyogrio的矢量文件写出   相较于文件的读取,新引擎中涉及文件写出的功能参数就寡淡很多,只发现一个比较特别的promote_to_multi参数,用于强制单部件要素转换为多部件要素:...#geopandas-integration阅读了解更多。 ----   以上就是本文的全部内容,欢迎在评论区与我进行讨论~

91110

使用kepler.gl可视化地理空间数据

现在,让我们检查一下数据集是否包含任何空值: df.isnull().sum() ? 太好了!我们的数据集中没有任何空值。我们现在准备这些数据可视化。...数据可以添加到kepler.gl使用map对象的add_data()方法映射。 这个方法有两个参数:data和name。它接受CSV、GeoJSON、Pandas和geopandas数据帧形式的数据。...kepler.gl地图中的一层是可视化的一层,可以根据用例创建、修改和删除。下面我演示了如何修改图层。...可视化人口普查区域 你已经知道我们的第一步是什么–我们必须创建一个地图,然后数据添加到其中: map2=KeplerGl(height=500,data={'Census Data':census})...我只是数据传递给了」KeplerGl()」。这是向其中添加数据的另一种方式。kepler.gl已经检测到几何并将其绘制出来,但它看起来不太吸引人,而且它也不在3D中。

3.7K22

GeoPandas 绘制超高颜值数据地图

什么是GeoPandasGeoPandas 基于Pandas。它扩展了 Pandas 数据类型以包含几何并执行空间操作。因此,任何熟悉Pandas的人都可以轻松采用 GeoPandas。...虽然GeoDataFrame可以有多个GeoSeries,但其中只有一个是活动几何图形,即所有几何操作都在该列上。 在下一节中,我们一起学习如何使用一些常见的函数,如边界、质心和最重要的绘图方法。...数据准备 在导入 GeoPandas 之前阅读Teams数据集,数据集和代码可以在公众号『数据STUDIO』回复【GeoPandas】获取。...团队的数据集包含团队名称、项目、NOC(国家/地区)和事件。在本练习中,我们仅使用 NOC 和 项目 。...但是我们通过这些国家/地区涂成灰色来使这一点更加明显。我们可以使用带有纯色或带有颜色和图案的 missing_kwds。

4.9K21

基于geopandas的空间数据分析——空间计算篇(下)

本文是基于geopandas的空间数据分析系列文章的第9篇,也是整个系列文章主线部分内容的最后一篇,通过本文,你学习到geopandas中的更多常用空间计算方法。...我们都清楚常规表格数据的连接,是按照设定的连接方式,每张表中指定的某或某些数值相等的记录行合并为同一行,最后汇整成连接结果表返回: 图1 而空间连接不同于常规表连接,其合并同一行的依据不是检查指定的数值是否相等...,结果表中未被保留的矢量对应的index会被作为单独的一保存下来,帮助我们可以按图索骥利用loc方式索引出需要的数据: 图9 2.2 拓扑关系判断 geopandas中除了在上一篇文章中介绍的叠加分析以及上文介绍的空间连接中基于拓扑关系判断实现多表数据联动之外...只不过这里是主体矢量与待比较矢量一一比较之后的结果: 图11 长度m与长度m-n(n>0)进行比较 这里所说的情况指主体矢量与待比较矢量长度都不为1,且主体矢量的长度大于待比较矢量,这时返回的结果只会对主体矢量前...geopandas是一个非常优秀的工具,它给了我们进行空间计算的多一种选择,我目前所有工作中涉及到的可以geopandas解决的问题,都会在jupyter中建立顺滑的工作流。

1.2K20

(数据科学学习手札84)基于geopandas的空间数据分析——空间计算篇(上)

本文是基于geopandas的空间数据分析系列文章的第8篇,通过本文你学习到geopandas中的空间计算(由于geopandas中的空间计算内容较多,故拆分成上下两篇发出,本文是上篇)。...图3   在本系列文章第一篇中介绍过shapely对矢量数据格式的合法性有一定规定,如多边形不能自交叉,可以通过is_valid()方法判断几何对象是否合法,而buffer()有一个隐藏功能就是其可以通过对非法的几何对象创建距离为...unary_union   我们都知道,不管是GeoSeries还是GeoDataFrame,其每一行数据都代表独立的shapely矢量要素,而通过unary_union属性,我们可以一整列矢量合并为单独的一个...图12 2.3 叠加分析 geopandas基于shapely中的overlay(),为GeoDataFrame赋予了同样的可以作用到整个矢量的overlay(),使得我们可以对两个GeoDataFrame...aggfunc:对分组字段外的其他非矢量采取的聚合方式,与pandas中的agg一致,默认为first,也可以像agg那样传入字段和函数一一对应的字典来分别聚合不同的 as_index:bool

3.9K31

基于geopandas的空间数据分析—geoplot篇(上)

图1 本文是基于geopandas的空间数据分析系列文章的第6篇,通过本文你学习geoplot中的基础绘图API。...,geoplot在geopandas处理好的数据基础上,针对不同类型图层封装了各自不同的API,由用户自主传入对应类型的矢量数据进行图层叠加,以得到最终结果,且可以兼容matplotlib。...用于控制散点的填充色彩 marker:用于设定散点的形状 alpha:控制全局色彩透明度 linewidths:控制散点轮廓宽度 edgecolors:控制散点轮廓颜色 legend:bool型,用于控制是否显示图例...映射房源价格到色彩上 房源价格列作为色彩映射,使用mapclassify中的分位数法价格区间等分成五段,并使用其他的视觉参数和自定义图例参数: import mapclassify as mc...,即图中黄色的半透明散点,其中除路网线数据可视化以外的其他图层我们均使用geoplot来实现。

2.1K30

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

plt.show() 当然除了上面的平面效果,你还可以做出这样的: 还可以给地图着色: ---- 下面言归正传,正式讲解geopandas是如何工作的 前面说过,geopandas沿用了pandas...GeoDataFrame的其他可以是几何图形的名字、属性等信息,比如国家的人口、面积、GDP等等。...你也可以用read_file方法读取自己的shapefile文件 所以说,world变量被赋予了一个GeoDataFrame数据,它长这样: 这个数据中,不仅有几何geometry,还有其它属性....set_geometry函数则是新增列设置为几何,这样就会按照新的几何显示地图。...GeoDataFrame文件的输出形式 前面讲到shapefile读成GeoDataFrame格式,反过来你也可以GeoDataFrame格式输出为shapefile文件。

2.8K20

(数据科学学习手札88)基于geopandas的空间数据分析——空间计算篇(下)

本文是基于geopandas的空间数据分析系列文章的第9篇,也是整个系列文章主线部分内容的最后一篇,通过本文,你学习到geopandas中的更多常用空间计算方法。...我们都清楚常规表格数据的连接,是按照设定的连接方式,每张表中指定的某或某些数值相等的记录行合并为同一行,最后汇整成连接结果表返回: ?...图1   而空间连接不同于常规表连接,其合并同一行的依据不是检查指定的数值是否相等,而是基于不同矢量表其矢量之间的空间拓扑关系,譬如相交、包含等。 ?...图10 长度1与长度n进行比较   与前面一种情况类似,只不过这里是主体矢量与待比较矢量一一比较之后的结果: ?...geopandas是一个非常优秀的工具,它给了我们进行空间计算的多一种选择,我目前所有工作中涉及到的可以geopandas解决的问题,都会在jupyter中建立顺滑的工作流。

1.4K20

基于geopandas的空间数据分析——空间计算篇(上)

本文是基于geopandas的空间数据分析系列文章的第8篇,通过本文你学习到geopandas中的空间计算(由于geopandas中的空间计算内容较多,故拆分成上下两篇发出,本文是上篇)。...is_valid()方法判断几何对象是否合法。...unary_union 我们都知道,不管是GeoSeries还是GeoDataFrame,其每一行数据都代表独立的shapely矢量要素,而通过unary_union属性,我们可以一整列矢量合并为单独的一个...基于shapely中的overlay(),为GeoDataFrame赋予了同样的可以作用到整个矢量的overlay(),使得我们可以对两个GeoDataFrame中全部的矢量对象两两之间进行基于集合关系的叠加分析...aggfunc:对分组字段外的其他非矢量采取的聚合方式,与pandas中的agg一致,默认为first,也可以像agg那样传入字段和函数一一对应的字典来分别聚合不同的 as_index:bool型

3.2K30

Python地信专题 | 基于geopandas的空间数据分析—数据结构篇

通过它我们可以自动下载安装好所有geopandas的必要依赖包而无需手动繁琐地去安装它们。 在完成安装后,下面我们开始对geopandas的系统性学习之旅。...譬如定义多边形时坐标按顺序连线时穿过了之前定义的边就属于非法,因为geopandas对矢量对象的计算依赖于shapely,于是引进了属性用于判断每个几何对象是否合法。...这时几何对象的名称可以自由设置,但一定要利用GeoDataFrame.set_geometry()方法后添加的矢量指定为矢量主。...因为每个GeoDataFrame若在定义之处没有指定矢量,后无法进行与适量信息挂钩的所有操作(GeoSeries所有属性都可同样作用于GeoDataFrame,因为所有空间操作实际上都直接作用于其矢量主...,通过.cx,所有与指定空间范围有重叠的对象都被选择: 图37 以上就是本文的全部内容,如有笔误望指出,系列文章下一篇详细介绍geopandas中的投影坐标系管理,敬请期待。

1.8K20

利用geopandas与PostGIS进行交互

, psycopg2, geoalchemy2 接下来我们需要保证postgresql中存在可以连接的空间数据库,在「pgAdmin」界面内新建数据库,譬如这里我们新建数据库demo: 图2 图3...图4 在弹出的界面中输入CREATE EXTENSION postgis;并执行,成功之后我们的数据库就变成了空间数据库,支持空间相关的各种功能: 图5 至此我们的准备工作就已结束,接下来我们就可以直接在...sqlalchemy(后者用于创建数据库连接),并读入重庆市.geojson文件,你可以在开头的Github仓库找到它: 图6 接着我们来演示如何通过geopandas向PostGIS推送矢量信息表,...fail'表示抛出错误,'replace'指替换,'append'指向原表追加,默认为fail 「schema」:字符型,用于指定schema,默认为'public' 「index」:bool型,用于指定是否保留...「con」:同to_postgis() 「geom_col」:字符型,用于指定将哪一作为GeoDataFrame的矢量 「crs」:用于指定坐标参考系,同GeoDataFrame的坐标参考系设定方式

1.9K20

(数据科学学习手札93)利用geopandas与PostGIS进行交互

, psycopg2, geoalchemy2   接下来我们需要保证postgresql中存在可以连接的空间数据库,在pgAdmin界面内新建数据库,譬如这里我们新建数据库demo: ?...图5   至此我们的准备工作就已结束,接下来我们就可以直接在geopandas中读写PostGIS数据表。...)与sqlalchemy(后者用于创建数据库连接),并读入重庆市.geojson文件,你可以在开头的Github仓库找到它: ?...fail'表示抛出错误,'replace'指替换,'append'指向原表追加,默认为fail schema:字符型,用于指定schema,默认为'public' index:bool型,用于指定是否保留...对应从空间数据库中提取数据的SQL语句 con:同to_postgis() geom_col:字符型,用于指定将哪一作为GeoDataFrame的矢量 crs:用于指定坐标参考系,同GeoDataFrame

1.6K20

(数据科学学习手札82)基于geopandas的空间数据分析——geoplot篇(上)

1 简介   在前面的基于geopandas的空间数据分析系列文章中,我们已经对geopandas的基础知识、基础可视化,以及如何科学绘制分层设色地图展开了深入的学习,而利用geopandas+matplotlib...本文是基于geopandas的空间数据分析系列文章的第6篇,通过本文你学习geoplot中的基础绘图API。...从这个简单的例子中我们可以大致了解到,geoplot在geopandas处理好的数据基础上,针对不同类型图层封装了各自不同的API,由用户自主传入对应类型的矢量数据进行图层叠加,以得到最终结果,且可以兼容...映射房源价格到色彩上   房源价格列作为色彩映射,使用mapclassify中的分位数法价格区间等分成五段,并使用其他的视觉参数和自定义图例参数: import mapclassify as mc...在分析了原图的R代码之后,我们整幅图拆解分为四个图层,1是柏林最边缘的灰色轮廓,这其实是整个柏林区域面数据向外生成缓冲区之后的效果;2是柏林各行政区区划,3是柏林内部的部分OSM路网,构成了图中依稀可见的类似纹路的要素

2.3K20

基于geopandas的空间数据分析—geoplot篇(下)

图1 本文是基于geopandas的空间数据分析系列文章的第7篇,通过本文你学习geoplot中的高级绘图API。...2.1 Choropleth Choropleth图又称作地区分布图或面量图,我们在系列之前的深入浅出分层设色篇中详细介绍过其原理及geopandas实现,可以通过指标值映射到面数据上,以实现对指标值地区分布的可视化...pad_inches=0, bbox_inches='tight') 图4 这样我们就得到了图4,需要注意的是,geoplot.choropleth()只能绘制地区分布图,传入面数据后hue参数必须指定对应映射,...而geoplot.sankey()可以用来绘制这种图,尴尬的是sankey()绘制出的OD流向图实在太丑,但sankey()中将数值映射到线数据色彩和粗细的特性可以用来进行与流量相关的可视化,其主要参数如下...因为geopandas基于pyproj管理坐标参考系,而geoplot中的crs子模块来源于cartopy,这一点我跟geoplot的主要开发者聊过,他表示geoplot暂时不支持geopandas中那样自定义任意投影或使用

1.5K50

geopandas 0.14版本重要更新内容一览

今天的文章中,我就将为大家一一介绍相关的更新内容: 2 geopandas 0.14版本更新内容 2.1 安装新版本geopandas 需要注意的是,从0.14版本开始,geopandas最低支持的...底层默认使用shapely(>=2.0版本)进行高性能矢量运算,因此geopandas仅会在shapely缺失但pygeos已安装时,才会调用pygeos。...是一种用来度量路径之间相似度的经典数学方法: 举个例子,我们构造如下的四条路径线要素,肉眼上很容易看出a与b,c与d各自相似度最高: 而通过frechet_distance()计算两两之间的弗雷歇距离,也可以从数值计算角度准确计算得到彼此最相似的路径...: 2.3.5 新增minimum_rotated_rectangle()方法 新增minimum_rotated_rectangle()方法,用于为矢量中各个要素计算最小外接矩形,譬如: 2.3.6...,默认阈值为0,你可以在实际应用中灵活调整阈值,从而起到简化要素的目的: 2.3.8 新增segmentize()方法 新增segmentize()方法,用于对目标矢量中的各要素,按照设定的等间距进行增密操作

26930

(数据科学学习手札154)geopandas 0.14版本新特性一览

今天的文章中,我就将为大家一一介绍相关的更新内容: 2 geopandas 0.14版本更新内容 2.1 安装新版本geopandas   需要注意的是,从0.14版本开始,geopandas最低支持的...,geopandas底层默认使用shapely(>=2.0版本)进行高性能矢量运算,因此geopandas仅会在shapely缺失但pygeos已安装时,才会调用pygeos。...是一种用来度量路径之间相似度的经典数学方法:   举个例子,我们构造如下的四条路径线要素,肉眼上很容易看出a与b,c与d各自相似度最高:   而通过frechet_distance()计算两两之间的弗雷歇距离,也可以从数值计算角度准确计算得到彼此最相似的路径...: 2.3.5 新增minimum_rotated_rectangle()方法   新增minimum_rotated_rectangle()方法,用于为矢量中各个要素计算最小外接矩形,譬如: 2.3.6...,默认阈值为0,你可以在实际应用中灵活调整阈值,从而起到简化要素的目的: 2.3.8 新增segmentize()方法   新增segmentize()方法,用于对目标矢量中的各要素,按照设定的等间距进行增密操作

30920
领券