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

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

2 文件IO 2.1 矢量文件读入 geopandasfiona作为操纵矢量数据读写功能后端,使用geopandas.read_file()读取对应类型文件,而在后端实际上是使用fiona.open...layer:str类型,当要读入数据格式为地理数据库.gdb或QGIS中.gpkg时,传入对应图层名称   下面结合上述参数,来介绍一下使用geopandas.read_file()在不同情况下读取常见格式矢量数据方法...图10 2.1.2 gdb与gpkg   对于Arcgis中地理数据库gdb,以及QGIS中GeoPackage,要读取其包含矢量数据,就要涉及到图层概念,对应geopandas.read_file...()layer参数,只需要将gdb或gpkg文件路径作为filename参数,再将对应图层名称作为layer参数传入: gdb data = gpd.read_file('geometry/china_provinces.gdb...图15   可以看到只有跟红色框有相交几何对象被读入。

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

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

2 文件IO 2.1 矢量文件读入 geopandasfiona作为操纵矢量数据读写功能后端。...时,传入对应图层名称 下面结合上述参数,来介绍一下使用geopandas.read_file()在不同情况下读取常见格式矢量数据方法。...压缩包内指定文件路径 将上述语法运用到上述文件: 图10 2.1.2 gdb与gpkg 对于Arcgis中地理数据库gdb,以及QGIS中GeoPackage,要读取其包含矢量数据,就要涉及到图层概念...对应geopandas.read_file()layer参数,只需要将gdb或gpkg文件路径作为filename参数,再将对应图层名称作为layer参数传入: gdb data = gpd.read_file...不像geopandas.read_file()可以根据传入文件名称信息自动推断类型,我们在写出矢量数据时就需要使用driver参数来声明文件类型: ESRI Shapefile 我们将上文最后一次读入

2.1K20

(数据科学学习手札150)基于dask对geopandas进行并行加速

2.1 基础使用 dask-geopandasgeopandas常用计算API是相通,但调用方式略有不同,举一个实际例子,其中示例文件demo_points.gdb由以下代码随机生成并写出: import.../demo_points.gdb', driver='OpenFileGDB')   在使用dask-geopandas时,我们首先还是需要用geopandas进行目标数据读入,再使用from_geopandas...()将其转换为dask-geopandas中可以直接操作数据框对象,其中参数npartitions用于原始数据集划分为n个数据块,理论上分区越多并行运算速度越快,但受限于机器CPU瓶颈,通常建议设置.../demo_points.gdb', driver='OpenFileGDB') demo_points_ddf = dgpd.from_geopandas(demo_points, npartitions...既然使用了dask-geopandas就是奔着其针对大型数据集计算优化而去,我们来比较一下其与原生geopandas在常见GIS计算任务下性能表现,可以看到,在与geopandas计算比较中,dask-geopandas

96630

Part3-1.获取高质量阿姆斯特丹建筑立面图像(附完整代码)

包如何处理gdb、gpkg等文件地理数据库[9] Geodataframe和GeoSeries属性查看,切片和索引,apply函数使用,[10] shapely包中几何对象[11]:Point[12...2.1 方法一:用geopandas和shapely处理建筑并获取中心点 1) 简化建筑物 我们先用geopandas读取建筑足迹数据,注意需要安装高版本geopandas才能读取文件地理数据库(gdb...__version__) # 0.12.0 低版本不能读取gdb数据库 gdb = "../../5-ArcgisPro工程.建筑风格和年代深度学习.gdb" gdf = gpd.read_file...,我们需要对建筑进行简化,使用ArcGIS Pro简化建筑物[30]工具能达到shapely效果,而且还能输入障碍图层,障碍图层可以是挡住视线其他建筑物,我们先不考虑障碍图层。...geopandas包如何处理gdb、gpkg等文件地理数据库: https://www.cnblogs.com/feffery/p/17025278.html [10] Geodataframe和GeoSeries

42210

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

作为基于geopandas空间数据分析系列文章第一篇,通过本文你将会学习到geopandas数据结构。...譬如定义多边形时坐标按顺序连线时穿过了之前定义边就属于非法,因为geopandas对矢量对象计算依赖于shapely,于是引进了属性用于判断每个几何对象是否合法。...这时几何对象名称可以自由设置,但一定要利用GeoDataFrame.set_geometry()方法后添加矢量列指定为矢量主列。...world.cx[80:110, 0:30] # 绘制第一图层:世界地图 ax = world.plot(alpha=0.05) # 绘制第二图层:.cx所选择地区 ax = part_world.plot...: 图37 以上就是本文全部内容,如有笔误望指出,系列文章下一篇详细介绍geopandas投影坐标系管理,敬请期待。

1.8K20

geopandas:Python绘制数据地图

4.1 图层叠加 在geopandas中,overlay()函数是用于两个地理图层进行叠加分析函数。...overlay()函数基本语法如下: geopandas.overlay(layer1, layer2, how) 其中,layer1和layer2是两个geopandas地理图层对象,how是一个字符串...意思是源地理图层与参考图层进行比较,以在源图层中标识与参考图层中相交区域。使用identity一个典型场景是当需要分析两个图层交集时候。...contextily库主要功能包括: 从Web地图提供商获取地图图层 地图图层与地理空间数据集合并 使用Matplotlib或Bokeh绘制地图 本文主要介绍contextily简单使用,contextily...当我们使用地图服务时,通过改变xyz值,就可以获取到不同位置、不同缩放级别下地图瓦片,从而达到展示不同地图目的。

2.3K41

(数据科学学习手札74)基于geopandas空间数据分析——数据结构篇

图20 is_valid   在shapely中涉及到很多拓扑计算操作时,对几何对象合法性有要求,譬如定义多边形时坐标按顺序连线时穿过了之前定义边就属于非法,因为geopandas对矢量对象计算依赖于...,这时几何对象名称可以自由设置,但一定要利用GeoDataFrame.set_geometry()方法后添加矢量列指定为矢量主列,因为每个GeoDataFrame若在定义之处没有指定矢量列,后无法进行与适量信息挂钩所有操作...度,北纬0度-30度范围相交几何对象 part_world = world.cx[80:110, 0:30] # 绘制第一图层:世界地图 ax = world.plot(alpha=0.05) #...绘制第二图层:.cx所选择地区 ax = part_world.plot(ax=ax, alpha=0.6) # 绘制第三图层:.cx条件示意图 ax = gpd.GeoSeries([geometry.box...图37   以上就是本文全部内容,如有笔误望指出,系列文章下一篇详细介绍geopandas投影坐标系管理,敬请期待。

2.7K20

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

,我们已经对geopandas基础知识、基础可视化,以及如何科学绘制分层设色地图展开了深入学习,而利用geopandas+matplotlib进行地理可视化固然能实现常见地图可视化,且提供了操纵图像极高自由度...图1 本文是基于geopandas空间数据分析系列文章第6篇,通过本文你学习geoplot中基础绘图API。...,我们图层换成核密度图层: ax = gplt.polyplot(df=nyc_boroughs, projection=gcrs.AlbersEqualArea...,geoplot在geopandas处理好数据基础上,针对不同类型图层封装了各自不同API,由用户自主传入对应类型矢量数据进行图层叠加,以得到最终结果,且可以兼容matplotlib。...在分析了原图R代码之后,我们整幅图拆解分为四个图层

2.1K30

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

图1 本文是基于geopandas空间数据分析系列文章第7篇,通过本文你学习geoplot中高级绘图API。...2.1 Choropleth Choropleth图又称作地区分布图或面量图,我们在系列之前深入浅出分层设色篇中详细介绍过其原理及geopandas实现,可以通过指标值映射到面数据上,以实现对指标值地区分布可视化...'New Jersey: {}'.format(usa_plot_base.query("state == \"New Jersey\"").Confirmed.to_list()[0]))] # 制作好图例映射对象列表导入...geoplot中坐标参考系与geopandas中管理起来方式截然不同。...因为geopandas基于pyproj管理坐标参考系,而geoplot中crs子模块来源于cartopy,这一点我跟geoplot主要开发者聊过,他表示geoplot暂时不支持geopandas中那样自定义任意投影或使用

1.5K50

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

数据可以添加到kepler.gl使用map对象add_data()方法映射。 这个方法有两个参数:data和name。它接受CSV、GeoJSON、Pandas和geopandas数据帧形式数据。...稍后你看到使用kepler.gl. 现在你知道如何修改图层了,让我们了解一下过滤器。 过滤器 正如你可能已经猜到,过滤器用于过滤数据,这正是该功能存在原因。...底图 “底图”选项卡具有修改底图选项。但底图是什么? 底图是在kepler.gl所有图层底图 还记得我们以前创建地图对象并将其可视化时候吗?那是底图。...你需要记住一件事是,添加数据名称应该保持不变,在本例中是“New York City Taxi Trips”。...因为这次我们数据集格式不同,所以我们将使用不同库来处理这个数据集。我们会用geopandas做这个。 Geopandas是一个Python库,它使使用Python处理地理空间数据更加容易。

3.7K22

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

1 简介   在前面的基于geopandas空间数据分析系列文章中,我们已经对geopandas基础知识、基础可视化,以及如何科学绘制分层设色地图展开了深入学习,而利用geopandas+matplotlib...本文是基于geopandas空间数据分析系列文章第6篇,通过本文你学习geoplot中基础绘图API。...为了让车祸密集区域更突出,我们图层换成核密度图层: ax = gplt.polyplot(df=nyc_boroughs, projection=gcrs.AlbersEqualArea...从这个简单例子中我们可以大致了解到,geoplot在geopandas处理好数据基础上,针对不同类型图层封装了各自不同API,由用户自主传入对应类型矢量数据进行图层叠加,以得到最终结果,且可以兼容...在分析了原图R代码之后,我们整幅图拆解分为四个图层,1是柏林最边缘灰色轮廓,这其实是整个柏林区域面数据向外生成缓冲区之后效果;2是柏林各行政区区划,3是柏林内部部分OSM路网,构成了图中依稀可见类似纹路要素

2.3K20

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

图1   本文是基于geopandas空间数据分析系列文章第7篇,通过本文你学习geoplot中高级绘图API。...2.1 Choropleth Choropleth图又称作地区分布图或面量图,我们在系列之前深入浅出分层设色篇中介绍过其原理及geopandas实现,可以通过指标值映射到面数据上,以实现对指标值地区分布可视化...'New Jersey: {}'.format(usa_plot_base.query("state == \"New Jersey\"").Confirmed.to_list()[0]))] # 制作好图例映射对象列表导入...图8   随之而来问题是整幅图像都被填充,为了裁切出核密度图像地区轮廓,底层行政区面数据作为clip参数传入,便得到理想效果: ?...图11 2.4 geoplot中坐标参考系 geoplot中坐标参考系与geopandas中管理起来方式截然不同,因为geopandas基于pyproj管理坐标参考系,而geoplot中crs

1.7K30

Google Earth Engine(GEE)——使用 GeoPandas 和 Uber H3 空间索引进行快速多边形点分析

赫尔辛基大学 AutoGIS 课程有一个很好例子,空间索引与 geopandas 一起使用。 在这篇文章中,我想谈谈另一个名为H3 空间索引系统。...这些单元格 id 具有独特属性,例如附近单元格具有相似的 id,您可以通过截断它们长度来找到父单元格。这些属性使得诸如聚合数据、查找附近对象、测量距离之类操作非常快速。...在这篇文章中,我向你展示如何创建使用点密度图geopandas和h3-py库在Python。 国家地理空间情报局海事安全信息门户以反航运活动消息形式提供所有海盗事件形状文件。...这是原始点图层在 QGIS 中可视化效果。 我们通过在 H3 提供六边形网格上聚合事件点来创建密度图。我们从导入库开始。...由于 GeoPandas 使用 shapely 库来构建几何,我们坐标列表转换为一个匀称 Polygon 对象

17710

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

用户通过输入指定城市名称并检索,等待数据资源加载完成之后就可以在网页中看到渲染好城市路网,以重庆为例: ?   ...通过对该网站进行抓包和源码分析,我弄明白了其工作流程大致如下: Step1: 根据用户输入城市名称,利用OSM官方API进行模糊匹配,获取可能对象列表: ?...了解了上述步骤之后,我们利用requests、geopandas等库仅用不到100行代码就可以参考上述过程,提取所需shapefile或GeoJSON文件保存到本地,具体代码部分本文不做详细说明,我这部分功能封装到文章开头对应...2.2 使用方式   按照上文所述地址下载对应脚本之后(请提前安装完成requests、geopandas、pandas以及tqdm这几个三方库),记住其所在路径,接着在其他脚本开头导入模块部分添加:...保存下来数据线图层与点图层分开保存: ? ?

1.6K10

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

但是DataLoader并不是列表,也不是迭代器,是一个PytorchDataLoader对象,为了能够从中取出数据,需要先使用iter()DataLoader转换为迭代器(也称为生成器,它特性是不会将数据全部加载到内存...2) 预测标签从索引转到其真实名称 我们要在图片上显示出建筑id、预测和真实类别,但是现在test_labels还是索引值,我们要从class_dict获取真实年代标签进行替换,方便阅读: class_dict...', index=False) 3)读取空间数据 import geopandas as gpd gdb = "../../5-ArcgisPro工程/建筑风格和年代深度学习.gdb" lr_name...# 定义新产生点要素名称 out_label = out_fcs + "_label" 你可以尝试一下用pythongeopandas和shapely如何绘制渔网。...我们来用geopandas读取刚刚创建渔网,因为他在gdb数据库中,我们可以用read_file()去读取: # 查看geopandas版本 gpd.

40520

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

2 基于PythonOSM路网下载 2.1 工作流程 编写这个工具灵感来源于anvaka[4]网站: 图2 用户通过输入指定城市名称并检索,等待数据资源加载完成之后就可以在网页中看到渲染好城市路网...以重庆为例: 图3 通过对该网站进行抓包和源码分析,我弄明白了其工作流程大致如下: Step1: 根据用户输入城市名称,利用OSM官方API进行模糊匹配,获取可能对象列表: 图4 Step2:...具体代码部分本文不做详细说明,我这部分功能封装到文章开头对应Github仓库下OsmDownloader.py[5]中,可以自行去下载并使用。 下面我们来学习如何在Python中使用它。...2.2 使用方式 提示:请提前安装完成requests、geopandas、pandas以及tqdm这几个三方库。...譬如这里我花了不到20秒就完成成都市路网数据下载: 图7 保存下来数据线图层与点图层分开保存: 图8 图9 如果你想要下载保存JSON格式数据,换成downloader.download_geojson

1.5K20
领券