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

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

空间数据分析中也存在类似表连接的操作,譬如我们手头有一张包含设施点数据的矢量表,以及另一张包含行政区划面数据的矢量表,当我们想要通过某些操作来统计出每个行政区划面内部的设施点信息时,空间连接可以非常方便快捷地实现这类需求...,还针对GeoSeries与GeoDataFrame设计了一系列方法,可以直接进行矢量数据之间的拓扑关系判断并返回对应的bool型判断结果,以contains()为例,比较矢量数据之间拓扑关系时,矢量数据与待比较矢量数据之间主要有以下几种格式...geopandas中我们可以使用clip()函数来基于蒙版矢量对目标矢量进行裁切,其主要参数如下: gdf:GeoDataFrame或GeoSeries,代表将要被裁切的矢量数据集 mask:GeoDataFrame...,就需要叠加分析,因为叠加分析的矢量叠置操作是df1与df2各自行元素两两之间建立起的: 图18 查看裁切与叠加分析分别结果表路网矢量总长度也可以看出叠加分析中的结果是针对每个站点分别计算的,因此对于彼此重叠的站点...geopandas是一个非常优秀的工具,它给了我们进行空间计算的多一种选择,我目前所有工作中涉及到的可以geopandas解决的问题,都会在jupyter中建立顺滑的工作流。

1.2K20

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

空间数据分析中也存在类似表连接的操作,譬如我们手头有一张包含设施点数据的矢量表,以及另一张包含行政区划面数据的矢量表,当我们想要通过某些操作来统计出每个行政区划面内部的设施点信息时,空间连接可以非常方便快捷地实现这类需求...,可以直接进行矢量数据之间的拓扑关系判断并返回对应的bool型判断结果,以contains()为例,比较矢量数据之间拓扑关系时,矢量数据与待比较矢量数据之间主要有以下几种格式: 长度n与长度1进行比较...geopandas中我们可以使用clip()函数来基于蒙版矢量对目标矢量进行裁切,其主要参数如下: gdf:GeoDataFrame或GeoSeries,代表将要被裁切的矢量数据集 mask:GeoDataFrame...图17   但当我们想要针对每个站点求出各自500米缓冲区内部的步道路网长度时,就需要叠加分析,因为叠加分析的矢量叠置操作是df1与df2各自行元素两两之间建立起的: ?...geopandas是一个非常优秀的工具,它给了我们进行空间计算的多一种选择,我目前所有工作中涉及到的可以geopandas解决的问题,都会在jupyter中建立顺滑的工作流。

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

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

针对地理空间数据的拓展功能,可以帮助我们有效管理固化空间矢量数据,以及开展空间数据分析,而geopandas作为Python生态中优秀的空间数据分析处理工具,自然与PostGIS进行交互方面开发了相应的功能...图1 2 geopandas与PostGIS进行交互   为了能在geopandas中与postgresqlPostGIS建立连接,请确保以下3个库已经安装: pip install sqlalchemy..., psycopg2, geoalchemy2   接下来我们需要保证postgresql中存在可以连接的空间数据库,pgAdmin界面内新建数据库,譬如这里我们新建数据库demo: ?...)与sqlalchemy(后者用于创建数据连接),并读入重庆市.geojson文件,你可以开头的Github仓库找到它: ?...con:sqlalchemy.engine.Engine对象,用于建立数据库的连接 if_exists:字符型,用于指定当数据库中已存在同名表时的相应策略,'fail'表示抛出错误,'replace

1.6K20

利用geopandas与PostGIS进行交互

作为postgresql针对「地理空间数据」的拓展功能,可以帮助我们有效管理固化空间矢量数据,以及开展空间数据分析,而geopandas作为Python生态中优秀的空间数据分析处理工具,自然与PostGIS...图1 2 geopandas与PostGIS进行交互 为了能在geopandas中与postgresqlPostGIS建立连接,请确保以下3个库已经安装: pip install sqlalchemy..., psycopg2, geoalchemy2 接下来我们需要保证postgresql中存在可以连接的空间数据库,「pgAdmin」界面内新建数据库,譬如这里我们新建数据库demo: 图2 图3...sqlalchemy(后者用于创建数据连接),并读入重庆市.geojson文件,你可以开头的Github仓库找到它: 图6 接着我们来演示如何通过geopandas向PostGIS推送矢量信息表,...使用到的API为to_postgis(),其主要参数如下: ❝「name」:字符型,用于指定推送到PostGIS后的表名称 「con」:sqlalchemy.engine.Engine对象,用于建立数据库的连接

1.9K20

使用scikit-image遥感图像geotiff格式转mat格式

子模块名称 主要实现功能 io 读取、保存显示图片或视频 data 提供一些测试图片样本数据 color 颜色空间变换 filters 图像增强、边缘检测、排序滤波器、自动阈值等 draw 操作于numpy...('success') 运行错误记录:scikit-image ValueError: requires the 'imagecodecs' package 使用...scikit-image包对geotiff数据进行格式转换(tiff转mat)提示以下问题: ValueError: requires the 'imagecodecs...' package 开始以为这个问题是由于输入图像geotiff格式不支持的原因,查阅了相关资料,应该是支持的,也试用过其他三通道的tif格式的小图片,可以正常运行。...安装过程中,网络总是不稳定,最后使用手机移动网络连接实现安装的。 其他说明 这里的imggt是mat文件的key值,需要注意记录一下,后期读取的是都是需要用到的,最好设置的和文件名称一致,方便记忆。

15910

数据科学学习手札79)基于geopandas的空间数据分析——深入浅出分层设色

作为基于geopandas的空间数据分析系列文章的第五篇,通过本文你将会学习到基于geopandas机器学习的分层设色。...图4   可以看出通过箱线图法将数据分成了五类,其中异常值只有1个即为湖北省,下面我们配合geopandas来对上述结果进行可视化,上一篇文章一样,按照省级单位名称连接我们的疫情数据与矢量数据: ?...图17   geopandas中使用时传入scheme='HeadTailBreaks'即可(由于新冠肺炎各省份确诊数量数据尾部和头部最大值之间没有较为连续的中间值过渡,不太适合用此方法故不作演示)。...图20   每个传入的百分位点其左边到上一个分隔点为止,包括其本身,将被分到同一组,对应的图像如图21,geopandas中使用时除了设置scheme='Percentiles'之外,还要在另一个字典型参数...图21 2.1.9 StdMean StdMean的思想类似前面的箱线图,不同的是箱线图属于非参数方法,而StdMean建立正态分布为基础的经验法则之上,即对于正态分布而言,68%的数据将分布距离均值

1.7K20

基于geopandas的空间数据分析-深入浅出分层设色

作为基于geopandas的空间数据分析系列文章的第五篇,通过本文你将会学习到基于geopandas机器学习的分层设色。...下面我们配合geopandas来对上述结果进行可视化,上一篇文章一样,按照省级单位名称连接我们的疫情数据与矢量数据: 图5 接着对其进行可视化,在上一篇文章图28的基础上,将scheme参数改为BoxPlot...如果你在上一篇文章中去我的Github仓库查看过创作图29对应的代码,一定会想到既然geopandas自身有bug,那我们用matplotlib中的mpatcheslegend自定义图例就可以啦。...,右图相对于左图更好地体现了原始数据的重尾特点,最浅色的图斑数量明显多于次浅色的图斑: 图17 geopandas中使用时传入scheme='HeadTailBreaks'即可(由于新冠肺炎各省份确诊数量数据尾部和头部最大值之间没有较为连续的中间值过渡...对应的图像如图21,geopandas中使用时除了设置scheme='Percentiles'之外,还要在另一个字典型参数classification_kwds中传入{'pct': 百分位数列表}:

1.3K20

基于Python的Tensorflow卫星数据分类神经网络

对于那些不熟悉ML概念的人,简而言之,它是建立一个实体的一些特征(特征或X)与其他属性(值或标签或Y)之间的关系 - 提供了大量的例子(标记数据) )到模型,以便从中学习,然后预测新数据(未标记数据)的值...同样,如果使用绿线,所有分类为房屋的图像都是房屋; 因此,分类器具有高精度。在这种情况下召回的次数会减少,因为还有三所房子被遗漏了。大多数情况下,这种权衡 精确度召回之间保持。...将所有三个文件放在一个目录中 - 脚本中分配路径输入文件名,并读取GeoTIFF文件。...包括NN在内的许多ML算法都期望归一化数据。这意味着直方图一定范围(此处为0到1)之间被拉伸缩放。将规范化功能以满足此要求。可以通过减去最小值并除以范围来实现归一化。...一些常用的遥感指数,如NDBI或NDWI,也可以需要时用作特征。达到所需精度后,使用模型预测新数据并导出GeoTIFF。具有微小调整的类似模型可以应用于类似的应用。

3.2K51

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

读者使用ArcGIS软件完成前两步时未遇到明显问题,但在执行第三步时遇到了性能瓶颈,即使用ArcGISGeoPandas进行空间连接操作时系统会卡死。...针对这个情况,我们可以从几个方面进行分析建议: 性能瓶颈分析: ArcGISGeoPandas处理大量数据时可能会遇到性能问题,特别是普通硬件上运行时。...这是因为这些操作往往需要大量的内存CPU资源。 空间连接特别是数据量很大时,是一个资源密集型的操作,因为它需要对每个点检查其与其他几何对象(如行政区边界)的空间关系。...优化建议: 资源分配:确保有足够的计算资源(CPU内存)来处理数据。对于dask-geopandas可以通过调整Dask的工作进程数内存限制来优化性能。...这可以帮助减少内存压力。 索引优化:进行空间连接之前,为行政区数据建立空间索引可以大大提高查询效率。

6110

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

图1 本文是基于geopandas的空间数据分析系列文章的第7篇,通过本文你将学习geoplot中的高级绘图API。...2.1 Choropleth Choropleth图又称作地区分布图或面量图,我们系列之前的深入浅出分层设色篇中详细介绍过其原理及geopandas实现,可以通过将指标值映射到面数据上,以实现对指标值地区分布的可视化...contiguous-usa.geojson已上传到文章开头对应的Github仓库中: 图2 图3 首先我们将两张表中各自对应的州名数据作为键进行连接(注意pd.merge返回的结果类型为DataFrame...而geoplot.sankey()可以用来绘制这种图,尴尬的是sankey()绘制出的OD流向图实在太丑,但sankey()中将数值映射到线数据色彩粗细的特性可以用来进行与流量相关的可视化,其主要参数如下...,而geoplot中的extent参数严格要求经度必须在-180到180度之间,纬度-90到90度之间

1.5K50

geopandas:Python绘制数据地图

分级统计图以帮助观察者更容易地理解数据地理空间上的分布情况变化趋势,有助于制定决策规划相关工作。...WTK格式的数据包含点、线、多边形等地理位置信息。WTK格式的数据可以被许多GIS软件地理位置分析工具所读取处理。我们可以将带有WKT数据的DataFrame转换为GeoDataframe。..._subplots.AxesSubplot at 0x7f75ed445100> 3 添加比例尺 地理空间数据分析可视化过程中,比例尺可以帮助我们了解地图上的距离大小关系。...例如,我们有两个数据集,一个包含所有城市的边界,另一个包含所有的人口数据。通过空间连接,我们可以将这两个数据集合并成一个新的数据集,其中每个城市都会有相应的人口数据。...geopandas中,simplify函数可以用来简化多边形的形状,以减少地图数据的大小,同时也可以提高绘图的效率。当绘图数据特别大时,该函数很有用。

2.3K41

从Landsat 卫星数据库下载影像并用Pro简单查看

注: 可以单击查看数据集信息按钮以了解有关每个数据集的详细信息。 本课程中,您对查找 Landsat 8 图像感兴趣。...如果可用,请选择相应更新的图像。 下载影像 选择适合开发项目的影像后,可进行下载。 底部工具栏上,单击下载。 将列出各种用于下载图像的选项。您将选择级别 1 GeoTIFF 数据产品。...GeoTIFF 数据产品包含图像本身的坐标信息。当添加到 GIS 应用程序(例如 ArcGIS Pro)时,会将级别 1 GeoTIFF 数据产品自动置于其坐标位置中,以供分析使用。...目录窗格包含与该工程相关联的所有文件夹、文件和数据。您可使用该窗格建立与之前创建的 Singapore Data 文件夹的文件夹连接目录窗格中,单击文件夹旁的箭头将其展开。...该影像恰如其分地显示了整个岛屿的极佳风貌,城市植被覆盖区域之间的差异一目了然。 快速访问工具栏上,单击保存按钮以保存工程。

2.4K30

geopandas 0.10版本重磅新特性一览

是否被正确安装: 下面我们就来看看这次版本更新中有哪些重要新变动吧~ 2.1 新增空间最近连接方法sjoin_nearest() 我们都知道利用geopandas中的sjoin(),可以完成基于多种空间拓扑关系的...但有些时候我们需要判断的并不是左右两表中矢量列相交、包含等直接的「拓扑关系」,而是左右两表矢量列之间「距离至多xx米」这类的空间距离关系判断,这在旧版本的geopandas中,通常可以左右两边分别做「缓冲区...而这次新增的sjoin_nearest()就可以支持我们开展上述分析计算功能,它的主要参数有: 「left_df」:连接对应的左GeoDataFrame 「right_df」:连接对应的右GeoDataFrame...()中用于设置拓扑关系的参数op在这次新版本中被改名为predicate,大家使用时要留意: ---- 大家了解到这些新功能变动后,使用新版geopandas时,如果遇到未知bug,欢迎https...://github.com/geopandas/geopandas/issues及时提交说明,一起帮助geopandas变得更加好用完善。

77620

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

本文对应代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 geopandas建立GEOS、GDAL、PROJ...计划涵盖geopandas数据结构、投影坐标系管理、文件IO、基础地图制作、集合操作、空间连接与聚合。...通过它我们可以自动下载安装好所有geopandas的必要依赖包而无需手动繁琐地去安装它们。 完成安装后,下面我们开始对geopandas的系统性学习之旅。...notebook或jupyter lab中可以图像的形式直接显示GeoSeries中的单个元素: 图3 LineString 对应shapely中的LineString,用于表示由多个点按顺序连接而成的线...LinearRing就是无孔多边形的边框线: 图14 同一个GeoSeries可以混合上述类型中的多种几何对象,这意味着点线面概念上相异的几何对象可以共存于同一份数据中 2.1.2 GeoSeries

1.8K20

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

历经10年迭代升级,geopandas充分完善了其GIS数据分析上的功能,使得我们可以使用类似pandas的操作方式,便捷且高性能的开展各种常用的GIS分析运算,极大增强了PythonGIS分析领域的能力...今天的文章,费老师我就将带大家一起快速了解全新的1.0版本中,新的功能特性、优化提升以及相关API的变动情况~ 2 geopandas 1.0版本介绍   如果你还未曾安装使用过geopandas,我最推荐的方式是新建虚拟环境...  接下来我们来了解新版本中获得功能增强的一些主要API: 2.2.1 空间连接新增dwithin型空间关系判断   针对sjoin()方法,新增了dwithin型空间关系判断,使得我们可以geopandas...中真正意义上直接实现“匹配与目标要素距离XXX以内的纪录行”: 2.2.2 配合pd.read_csv指定矢量列类型   新版本中,我们可以将GeoDataFrame写出为csv格式,并在使用pd.read_csv.../geopandas/releases/tag/v1.0.0   以上就是本文的全部内容,欢迎评论区与我们进行讨论~

800

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

2.1 Choropleth Choropleth图又称作地区分布图或面量图,我们系列之前的深入浅出分层设色篇中介绍过其原理及geopandas实现,可以通过将指标值映射到面数据上,以实现对指标值地区分布的可视化...图3   首先我们将两张表中各自对应的州名数据作为键进行连接(注意pd.merge返回的结果类型为DataFrame,需要转换回GeoDataFrame): # 按照州名列进行连接 usa_plot_base...图5   可以看到,kdeplot()主要参数均为默认值的情况下,我们得到了点数据空间分布的概率估计结果及其等高线,譬如图中比较明显能看到的两个点分布较为密集的中心,下面我们调整n_levles参数到比较大的数字...()可以用来绘制这种图,尴尬的是sankey()绘制出的OD流向图实在太丑,但sankey()中将数值映射到线数据色彩粗细的特性可以用来进行与流量相关的可视化,其主要参数如下: df:传入对应的GeoDataFrame...,而geoplot中的extent参数严格要求经度必须在-180到180度之间,纬度-90到90度之间

1.7K30

CVPR2018 ——(GAN)延时摄影视频的生成

并且建立了一个大规模的延时摄影视频数据集,并且在这个数据集上面测试了其方法。通过使用该模型,可以生成分辨率为128x128,多达32的逼真的延时摄影视频。...为此,引入Gram矩阵对连续间的动态变换进行建模。在下图中给出了一些由传统方法该技术方法生成的示例。本次技术模型产生的图像比最先进的图像更清晰,并且视觉上几乎真实的图像一样逼真。 ?...上图中,从上往下一次是: VGAN, RNN-GAN,本次技术的第一阶段第二阶段示例结果。 本次还建立了一个大规模的延时视频数据集,称为天空场景,以评估模型的未来预测。...该数据集包括白天、夜幕、星空极光场景。MD-GAN在这个数据集上进行训练,并根据天空场景的静态图像预测未来的。我们可以制作128×128真实感视频,其分辨率远远高于最先进的模型。...如上图所示,通过引入编码器和解码器的特征映射之间的skip连接来实现这种U-Net体系结构。skip连接在底层顶层的特征之间建立信息“高速公路”,这样功能就可以被重用。

77810

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

图像的红色区域主要覆盖一楼二楼之间的窗户或门。右侧小图:根据 CAM 裁剪的图像显示了窗户的演变。早期的窗户通常框架较宽,装饰较多,而且较窄。...图像的红色区域主要覆盖一楼二楼之间的窗户或门。 右侧四张小图:根据 CAM 裁剪的图像显示了窗户的演变。早期的窗户通常框架较宽,装饰较多,而且较窄。...3)空间链接 geopandasArcPy都有空间连接的功能,但是geopandas的空间连接功能更强大,而且方便进行数据统计,所以我们使用geopandas的空间连接功能。...我们来用geopandas读取刚刚创建的渔网,因为他gdb数据库中,我们可以用read_file()去读取: # 查看geopandas的版本 gpd....空间连接的两种方式,一种是使用geopandas.GeoDataFrame.sjoin_nearest 同时搜寻连接,一种是使用geopandas.GeoDataFrame.sjoin 直接进行空间连接

41220

Three.js DEM建模与渲染

在这个教程中,我们将学习如何使用three.js渲染土耳其最高的Ağrı山脉的数字高程模型(DEM)数据,使用的工具包括Three.js、geotiff、webpackQGIS。...数据预处理 我们使用 QGIS栅格工具剪切、制作DEM相关卫星图像的掩膜,并将它们复制到工作目录: image.png image.png 看起来像Mouth Doom,这是QGIS中使用默认调色板显示高程模型的效果...考虑到性能问题,我裁剪了两个不同尺寸的图像,你可以代码仓库中找到。在下面的示例中我们将使用其中较小的那个以便快速查看运行结果。...three.js世界中,我们需要一些基本的设置,其中的4个基本组件是: 场景 渲染器 相机 对象(包含材质) 添加场景灯光 我们将从添加场景开始,然后设置渲染器、摄像头、控件光线。...我们要渲染的几何形状不是使用Blender、Maya等软件建模的,相反,我们将使用DEM数据直接用js生成一个3D模型,借助于"geotiff"库: import * as GeoTIFF from

4.5K30
领券