Python数据处理
文章平均质量分 88
gis收藏家
收藏真正有用的信息,数据问题及查找数据请私信
展开
-
Python 中空间数据的 10 个基本操作
地球的每个部分都有其特定的坐标参考系统或 CRS,它可以最大限度地减少在 2D 平面上处理 3D(几乎)球面坐标(例如参考地球上的点的坐标)的误差。列表之间的交集可能是一个非常长的操作,该操作随着形状的复杂性而增长。在下面的代码中,我们给出了一个示例,说明如何在给定多边形。尽管这看起来似乎是一件微不足道的事情,但我经常面临的一个问题是提取几何图形的坐标并使用它们将其可视化。计算n个点列表的最近邻,意味着必须计算每个点到每个其他点的距离,这需要。在下面的示例中,我们绘制了意大利地区人口的空间分布。原创 2024-04-26 10:52:54 · 1377 阅读 · 0 评论 -
用 Python 创建 Voronoi 图
假设有人很快就会耗尽汽油,他/她需要在为时已晚之前找到最近的加油站,解决这个问题的最佳解决方案是什么?当然,驾驶员可以检查地图来找到最近的加油站,但如果该地区有多个加油站,并且他/她需要快速确定哪个加油站是最近的,则可能会出现问题。所以在多边形内,最近的 POI 肯定是多边形内的点。Geovoronoi 是一个用于在地理区域内创建和绘制 Voronoi 区域的软件包。在这个项目中,我根据 POI 数据在地图上创建 Voronoi 区域。创建新的数据框来收集每个 Voronoi 区域内的街道网络。原创 2024-04-26 10:48:04 · 747 阅读 · 1 评论 -
基于Python的Sentinel-2 卫星图像NDWI洪水检测
有趣的是,洪水前事件(红色条)中的一些非水像素(负区域)已转移到洪水后图像中正区域(蓝色条)中的水像素。在这篇文章中,我们将下载两张在迪拜洪水泛滥地点拍摄的 Sentinel-2 图像:一张是在洪水事件发生前评估洪水事件发生前的情况,另一张是在 4 月 17 日洪水事件期间拍摄。洪水前的 Sentinel-2 RGB 图像(左)、洪水后的 Sentinel-2 RGB 图像(中)以及洪水后时期的洪水区域(右),由作者可视化。您在此处看到的差异(4 月 17 日拍摄的图像中的绿色像素)对应于洪水区域。原创 2024-04-26 10:03:55 · 1150 阅读 · 1 评论 -
使用 GeoPandas 进行延时等值线地图可视化
正如您所看到的,该数据框包含各种形状的几何形状以及各种属性,例如地区和州名称。如果独立可视化包含 110 天的数据,则第一个可视化将包含一天的数据,第二个可视化将包含两天的数据,第 110 个可视化将包含所有 110 天的数据。正如您所看到的,从输出图中,我们已经隔离了 UP 区。这是 geopandas 的一个非常酷的功能,您只需调用 .plot() 即可绘制数据框中包含的所有形状。在这里,我们将地区列设置为 geopandas 和数据数据框中的索引,以便我们可以获得合并数据框中每个地区的安装数量。原创 2024-04-25 09:31:01 · 883 阅读 · 0 评论 -
使用 Python 创建森林地图
该数据相当古老,显示的是 2003 年的森林,这显然是很久以前的事了,但是这里使用的方法将适用于其他森林数据集,或者实际上适用于存储在该数据集中的一些较新(但更大)的数据。出于本次练习的目的,我们将假设海洋的树木覆盖率为 0%,这可能是一个相当安全的假设,但至少值得一提,因此,在下面的代码中,所有大于 100 的值都会更改到 0。我想为森林覆盖率为 0 的网格点设置自定义背景颜色,因此我们使用下面的代码生成具有 101 种颜色的颜色图,用我们的自定义值替换第一个颜色,然后从该颜色列表创建一个新的颜色图。原创 2024-04-22 11:14:59 · 820 阅读 · 0 评论 -
如何通过Python脚本使用QGIS空间算法
因此,如果您需要从 python 控制台/jupyter 笔记本使用 QGIS 库,您需要确保您的 python 可以找到 QGIS 库路径。使用 conda,您可以像 Python 上的任何其他库一样安装 QGIS 包。您可以通过从默认虚拟Python环境映射其系统环境路径来使用QGIS Desktop及其库的现有安装(甚至使用QGIS插件安装的GRASS、SAGA和其他算法)。您可以将一个现有的 QGIS 安装用于多个 Python 环境,而不会出现依赖包问题,同时使用的不仅仅是 QGIS 的核心库。原创 2024-04-21 17:53:24 · 998 阅读 · 0 评论 -
Python 包围盒裁剪卫星场景
最后,我们将点平移回来,以便旋转图像的中心位于正确的位置(第 16-17 行)。请注意,我们使用的是在转换 stac 文件的纬度和经度坐标时获得的。为了获取盒子内场景角点的坐标,我们需要使用 stac 文件(第 3 行)。重要的是,这与 stac 文件中给出的坐标的 CRS 不同。因此,要获得角点的像素坐标,我们必须首先将经纬度转换为UTM,然后再转换为像素坐标。在图 4 中,您可以看到我们在场景周围绘制了一个完美的框。使用这个角度我们旋转场景(第 9 行)。只有当我们处理南半球的场景时,这才是必要的。原创 2024-04-17 09:59:44 · 730 阅读 · 0 评论 -
Python分析之3 种空间插值方法
对于克里金法,最重要的参数是您选择的理论变异函数类型,因为它基本上定义了预测值和距离之间的关系。这次我们返回一个矩阵 (n,n),其中每一行表示一个点与所有其他点之间的距离(每行中的一个值为 0,因为一个点与其自身之间的距离为 0)。正如您所看到的,这里我们计算权重,而不是分配最近的已知点的值。还有许多其他方法,它们具有更高的精度,但它们背后的想法是相同的:找到至少两个已知点之间的函数值。因此,该算法的整体思想是调整理论变差函数的参数,使其适合实验变差函数,然后使用它来预测节点的值。原创 2024-04-17 09:44:51 · 1486 阅读 · 0 评论 -
地理编码应用程序实例-利用LanceDB、Pgvector构建地址查询应用
此外,Pgvector 和 LanceDB 都与各种著名的人工智能工具无缝集成,使我能够根据项目的具体要求选择最合适的技术。LanceDB 是一个用于人工智能的开源矢量数据库,旨在存储、管理、查询和检索大规模多模式数据的嵌入。由于我的电脑 RAM 不够,我会选择 IVFFlat :) 如果你的 RAM 足够,HNSW 是一个更好的选择。让我们为 pgvector 创建相同的查询来查找最近的位置。在本文中,我的目标是开发一个利用矢量数据库来查询地址和位置数据的应用程序。然后让我们创建我们的表。原创 2024-04-16 14:54:55 · 504 阅读 · 0 评论 -
Python 处理地理空间异常值:基于 MAD 的简单方法
就像任何其他数据一样,在处理地理空间数据时,识别和纠正异常值是数据准备中的关键步骤,可确保任何后续分析的准确性。在本文中,我们将探索这种简单而强大的基于 MAD 的方法,以在 Python 中识别和调整地理空间异常值,使您的数据分析更加稳健和可靠。通过组合这些异常值,我们可以可视化数据集中的内部值和异常值。在分别识别经度和纬度上的异常值后,我们将这些发现结合起来,以获得数据集中异常值的完整图像。其次,如果您认为某些可能的异常值被检测为异常值,而您只需要捕获极端异常值,则可以提高阈值来实现这一点。原创 2024-04-16 14:47:50 · 572 阅读 · 0 评论 -
使用低空无人机图像对树种进行实例分割
在机器学习预分割阶段,捕获的无人机图像为.jpg(4:3,8064 x6048)格式,为了提高分割质量,将这些图像平铺为正方形(1:1,2048x2048)格式。对于航测过程中飞行高度较高的无人机(如55米至60米,每像素分别为24毫米和27毫米左右),可以解决透视误差,另一方面,分割冠轮廓误差可以解决通过更大的训练数据集来解决。低空无人机图像树种分割可以在更大的尺度和相对更高的高度进行扩展,以利于未来机器学习的进展,围绕较少的目标物种(例如5-10个物种)进行实例分类可以比更多的目标获得更高的精度。原创 2024-04-09 10:03:49 · 927 阅读 · 0 评论 -
利用近距离全景图像进行树木结构骨架分析
由于上传的全景图像是由两个鱼眼镜头组成的,因此我们将完整图像(2x1,宽度x高度)修剪为两个图像(1x1,宽度x高度)。请注意,修剪后的一半的中间分隔线不是真正的北方,北方在捕获的相机视点中是不同的。另外,谷歌街景开放供公众上传参与,谷歌官方在香港2023的成像传感器是由“理光Theta S”拍摄的,如果使用公开上传的数据,相机型号和镜头校准模型应该关于他们受人尊敬的相机型号(例如 Insta360 X)。结果通常是好的和准确的,但基于颜色的分割仍然存在一些缺陷,即无法从该原型中有效地检索详细的分支结构。原创 2024-04-09 10:00:42 · 869 阅读 · 0 评论 -
基于深度学习的遥感影像道路检测
在这篇文章中,我介绍了使用深度学习在卫星图像中进行道路检测的整个流程。从数据预处理和模型训练到推理和输出保存,每个步骤对于获得准确的结果都至关重要。在这个项目中,我专注于分割卫星图像,以确定对城市规划、交通管理和基础设施开发等各种应用至关重要的道路区域。一旦我们有了经过训练的模型,我们就可以使用它对新的卫星图像进行推理以检测道路。这部分的重点是加载训练后的模型并将其应用到新图像。我们将准备卫星图像数据,对其进行预处理,并训练用于道路检测的深度学习模型。→ 使用保存在目录中的模型并注入您的 TIF。原创 2024-04-08 09:47:17 · 980 阅读 · 0 评论 -
评估用于树木计数的超分辨率哨兵图像
与底图相比,数据集图像的分辨率更高,并且是在一天中的不同时间和不同季节拍摄的,因此我依赖于 GCP 的可靠地质特征。该方法采用两个步骤 - 首先,从 GeoTIFF 文件中提取标记的地理点,其次,将这些点重新投影到广泛使用的 EPSG:4326 坐标参考系统中。运行此程序,我们得到以下输出,这证实了 GeoTIFF 文件中的大小和像素值确实与原始 PNG 文件中的相同。虽然不是我们主要建模任务的先决条件,但拥有树木位置的矢量数据集可以增强可视化和更深入地了解数据的潜力,从而解锁数据交互的新维度。原创 2024-04-07 11:35:34 · 606 阅读 · 0 评论 -
带文字提示的遥感图像分割
随着自然语言处理和计算机视觉的巨大发展,越来越多的智能任务将在遥感领域自动实现。更深远的是,注释等耗时任务的成本可以显着降低。是计算机视觉领域的游戏规则改变者,无需额外学习即可对任何图像进行快速分割。然而,右边的建筑物却误报了。尽管存在差异,但建筑物还是被很好地检测到,尽管一些船只和游乐场出现了误报。然而,精度不够高:检测到图像右侧的建筑物,而不是左侧。由于道路检测是遥感中一项具有挑战性的任务,因此无法很好地检测到。然而,当我们设置类似的塔名称时,很容易出错。我们使用巴黎的目标图像,如下图所示。原创 2024-04-07 11:29:23 · 387 阅读 · 0 评论 -
使用 PointNet 和 PyTorch3D 进行点云分类
我们想拍摄数据的照片,在这种情况下,这是对象的点云。无论是在混乱的场景中对物体进行分类,还是分割3D模型的复杂部分,PointNet的简单而灵活的设计使其成为寻求利用深度学习力量进行3D建模和分析的研究人员和从业者的令人信服的选择。与依赖体素网格或 2D 投影的方法不同,PointNet 通过直接对点云数据应用高度并行化的操作来简化分类过程,无需复杂的预处理步骤。我们在本教程中没有实现 PointNet++,但我们包含了 PointNet++ 论文中介绍的一些技术,例如最远点采样和点丢失。原创 2024-03-26 14:20:27 · 1381 阅读 · 0 评论 -
Python 指南-最短路径(Dijkstra 算法):
Dijkstra 算法可在 Python 库 OSMNX 中实现,可用于查找两个位置之间按距离或时间加权的最短路径。使用起始位置和目标位置获取属于网络一部分的最近节点。可以使用 osmnx 函数获取节点的代码。我们将从图中提取节点的几何图形并创建表示最短路径的 LineString 几何图形。正如我提到的,我将做一个分步指南,所以让我们开始吧。然后,我们将提取将用于生成最短路径的图。您可以使用此数据来创建您自己的地图。我们将通过绘制所有元素来检查我们的工作是否正确。将地图的网络和路径保存在本地磁盘中。原创 2024-03-25 10:52:28 · 594 阅读 · 0 评论 -
使用 Pytorch 和 Rasterio 的自定义地理空间数据加载器
无论您是从事土地覆盖分类、对象检测还是任何其他地理空间任务,自定义数据加载器都将简化您的工作流程并帮助您使用地理空间数据集获得准确的结果。然而,OpenCV 和 Pillow 在某些情况下仍然有用,特别是当您需要对地理空间数据执行一般图像处理任务时、当您处理非地理空间图像数据时、或者当您只想读取一个图像的三个波段时。图像而不保留其地理空间属性。在本教程中,我们将引导您完成使用 PyTorch 和 Rasterio 这两个用于深度学习和地理空间分析的强大库创建自定义地理空间数据加载器的过程。原创 2024-03-22 10:02:46 · 735 阅读 · 0 评论 -
Python从 Google 地图空气质量 API 获取空气污染数据
如果我们想要获取周围的图块,请找到边界框最近的角,然后使用它来计算三个相邻网格单元的图块坐标。本质上,Google 地图将图像存储在网格中,其中每个单元格的尺寸为 256 x 256 像素,而单元格的实际尺寸是缩放级别的函数。也许令人失望的是,在这个缩放级别包含我们位置的图块主要是海洋,尽管看到详细地图上绘制的空气污染仍然很高兴。我们不仅有来自通用和美国 AQI 指数的空气质量指数值,而且还有主要污染物的浓度、每种污染物的描述以及针对当前空气质量的一套整体健康建议。,之后您将为您使用的 API 服务付费。原创 2024-03-22 09:53:55 · 947 阅读 · 0 评论 -
GeoPandas全指南,使用 GeoPandas掌握地理空间数据分析
这些操作对于任何地理空间分析都是必不可少的,并将为更先进的技术提供坚实的基础。可能性确实是无限的。在基本操作的基础上,让我们深入研究使用 GeoPandas 的高级地理空间分析技术。这些可以是点、线、多边形或 Shapely 支持的任何其他形状类型,Shapely 是一个用于操作和分析平面几何对象的 Python 库。GeoPandas 不仅简化了基本的地理空间操作,还为高级地理空间分析提供了强大的工具。在接下来的部分中,我们将介绍更高级的主题,例如空间连接、叠加分析和地理空间数据可视化。原创 2024-03-21 09:39:02 · 1581 阅读 · 0 评论 -
探索栅格数据在地理空间分析中的应用
栅格数据是空间数据分析的重要组成部分,提供了一组独特的功能,使其适合广泛的应用。其简单的结构、与遥感数据的兼容性以及数学运算的效率使其成为许多领域的有价值的工具。然而,它的局限性,例如大文件大小和不太精确的边界表示,在使用时需要仔细考虑。栅格数据的分辨率由像元的大小决定,直接影响数据文件的细节和大小。更高分辨率的数据具有更小的单元,可提供更多细节,但需要更多的存储空间和处理能力。栅格数据集中的每个像元都有一个表示信息的值,例如温度、海拔或土地覆盖。本文探讨了栅格数据的特征,包括其结构、类型、优点和局限性。原创 2024-03-21 09:29:15 · 812 阅读 · 0 评论 -
Python探索反距离加权空间插值方法的深度
此示例演示了 IDW 在空间分析中的实用性,从分散的数据点提供连续的表面。在环境科学中,它用于插入不同地理区域的降雨量、污染水平、温度和湿度的数据点,从分散的观测中提供全面的空间分布图。反距离加权 (IDW) 是一种广泛用于地理信息系统 (GIS) 和环境科学的空间插值技术,用于根据附近位置的值估计任何位置的缺失值。一个显着的缺点是其局部插值方法,可能无法准确捕捉全局空间趋势,特别是在地形高度变化的区域或插值现象在空间上突然变化的区域。通过反距离加权的镜头,每个位置都在空间分析的合唱中找到了自己的声音。原创 2024-03-20 09:31:46 · 1051 阅读 · 0 评论 -
从点云创建 DSM:网格化和可视化实用指南
现在,为了更清楚地了解 DSM,您不仅对某些区域的地貌特征感兴趣,而且还对位于该表面的所有树木、灌木丛和大岩石感兴趣。要从点云生成数字表面模型 (DSM),第一步是将感兴趣的区域划分为网格。随后,为每个网格单元分配一个高程值,该高程值源自单元内或附近点的 3D 坐标(X、Y、Z)。为了更好地理解网格化的工作原理,我将创建一个合成数据并自行实现网格化。首先,我们将尝试了解 DSM 是什么,然后我们将进入讨论的更实际部分。观察到蓝色点,橙色点是网格中心,绿线显示网格中心和距离该中心最近的点之间的连接。原创 2024-03-20 09:26:36 · 761 阅读 · 0 评论 -
使用 NetworkX 调整 OpenStreetMap 街道网络图
因此,添加到图中的节点似乎可能没有严格定义。我们可以计算连接该节点与其每个邻居的线的方位角,然后根据该方位角对邻居进行排序。为我创建的,因此我将重点关注如何使用此工具访问边和邻居,以及调整图、节点和边的属性。完整的教程,包括如何从头开始创建图、添加节点和边、执行图操作等,可以参考。第一步,我想重命名节点和边以便于查找,因为节点和边的 osmid(例如“31179466”)太长。通常是有向图,这意味着边有一个方向,从一个节点到另一个节点。然后,我需要使用节点名称访问邻居或下游链路,例如节点 #85。原创 2024-03-18 10:35:38 · 608 阅读 · 0 评论 -
Python分析地理数据——获取街道网络
我们选择使用(OSM)。我们可以从网页下载道路信息作为 OSM 文件,如下图所示,但原始数据很难处理。值得庆幸的是,有一个围绕 OSM 构建的社区。我们可以使用名为 OSMnx 的 Python 包从 OpenStreetMap 检索、建模、分析和可视化街道网络。我们可以使用 OSMnx 将其转换为 NetworkX MultiDiGraph 来获取图形,并利用 GeoPandas 创建一个 GeoDataFrame 以表格格式进行分析。OSMnx 的作者写了一篇很棒的文章,还在。原创 2024-03-18 10:21:59 · 1033 阅读 · 0 评论 -
Python使用 k 均值对遥感图像进行语义分割
让我们先看一下本教程中将使用的数据。这是同一地区的两张 RGB 图像,间隔 23 年,但很明显地表特性和大气条件(云、气溶胶等)不同。这就是为什么我决定训练两个独立的 k-Means 模型,每个图像一个。首先,我们导入必要的库并将数据上传plt.show()在 ML 阶段之前的最后一步,让我们将图像转换为pandas数据帧(每个图像通道一列)。我这样做是为了我的解释的可见性。如果你想对其进行优化,最好使用numpy数组。k-均值那么该算法背后的想法是什么呢?原创 2024-03-17 15:07:02 · 920 阅读 · 0 评论 -
Python 蜂窝六边形分析
我们将把 WFIGS 为这次火灾提供的 geojson 细分为 243 个六边形图块,以便在另一篇文章中进行更深入的分析。从上图中可以看出,六边形网格并没有完全捕捉到原始的火灾边界。在下面的代码中,生成的 Difference_gdf 包含描述缺失的火灾边界的多边形。现在我们已经创建了六边形网格并可以在地图上将其可视化,让我们创建一个新的 GeoDataFrame,其中仅包含所有六边形的外线,并返回单个多边形。创建一个新的多边形,捕获原始多边形和六边形边界多边形之间的差异。六边形网格,作者提供的图片。原创 2024-03-16 14:44:43 · 951 阅读 · 0 评论 -
Python-GIS分析之地理数据空间聚类
在地理空间数据的背景下,聚类旨在识别某些现象集中的区域。尽管面临挑战,计算技术和数据分析的不断进步有望提高地理空间数据集群的有效性,为我们世界的空间现象提供深刻的见解。创建用于聚类地理空间数据的完整 Python 示例涉及几个步骤:生成合成数据集、应用聚类算法、使用指标评估聚类性能以及使用绘图可视化结果。这个完整的示例生成一个合成地理空间数据集,应用 DBSCAN 聚类,评估聚类性能,并将结果可视化。轮廓分数范围从 -1(不正确的聚类)到 +1(高度密集的聚类),分数在 0 左右表示重叠的聚类。原创 2024-03-16 14:31:37 · 1087 阅读 · 0 评论 -
Python对空间训练数据添加边界框
由于在这种情况下我们不需要创建多个多边形,因此您只需通过“添加矩形”按钮绘制边界框。*由于散斑噪声和灰色图像,与光学图像相比,SAR 图像的注释比较困难。当您使用自己的数据集训练对象检测模型时,您需要准备边界框的注释数据。在语义分割的情况下,数据可以用于训练,但在这种情况下,我们需要每个框的像素坐标。为了解决这些问题,我们首先(1)在 QGIS 中注释边界框,然后(2)从光栅化掩模图像中提取边界框的坐标。然而,在地理空间数据的情况下,存在以下问题,因为这些工具仅输出每个框的像素位置以及图像。原创 2024-03-15 10:08:43 · 351 阅读 · 0 评论 -
通过卫星图像监测火灾造成的损失
我们根据 xBD 数据集中的标签定义将类别定义为“无建筑物”、“无损坏”、“轻微损坏”、“严重损坏”和“已毁坏”。左:山火后的卫星图像©Maxar Technologies2023,右:分割预测(白色:“无建筑物”,灰色:“无损坏”,绿色:“轻微损坏”,橙色:“严重损坏”,红色:“被摧毁”)左:山火发生前的卫星图像©Airbus2023,右:分割预测(白色:“无建筑物”,灰色:“无损坏”,绿色:“轻微损坏”,橙色:“严重损坏”,红色:“被摧毁”),由成对的“之前”和“之后”灾难图像组成。原创 2024-03-14 09:51:55 · 348 阅读 · 0 评论 -
SAR洪水检测分析
它由 2016 年至 2019 年全球发生的 11 次洪水事件的 446 对光学和 SAR 哨兵图像组成。由于我们的目标是通过 SAR 检测洪水,因此我们没有使用光学数据进行训练。还应该注意的是,由于标签数据是由光学数据制成的,因此一些洪水区域没有像第二个示例那样通过云进行标记。然而,用 SAR 数据训练的模型可以正确预测。这是SAR的一个显着优势。尽管仅使用 SAR 数据训练的 DNN 模型表现良好,但为了更好的洪水预测,值得结合其他数据。在本文中,我们使用公开数据集演示了 SAR 的检测能力。原创 2024-03-14 09:50:37 · 394 阅读 · 0 评论 -
Python机器学习之SpaceNet1遥感影像建筑物检测
从图中可以看出,在训练数据中,随着时间的推移,损失减少,IoU 稳步增加,而在验证中,它们经常波动。30 个 epoch 后,训练数据和验证数据的两个值都达到相似的值。在本次挑战中,提供了巴西里约热内卢 2544 平方公里的栅格图像,其中包含 382,534 个建筑物多边形标签。此外,虽然我们没有在本研究中实现,但数据增强是一种有前途的方法。使用机器学习算法提供具有共同注册地图功能的大规模、免费可用的卫星图像,用于执行各种具有挑战性的任务。我们使用 70% 的数据进行训练,剩余的数据进行验证。原创 2024-03-14 09:48:00 · 1462 阅读 · 1 评论 -
GeoPandas 教程2:空间关系
结果是一个新的 GeoDataFrame,它结合了这些几何图形的空间组合以及合并的属性。要在地区数据和人口之间执行属性连接,我们必须确保两个数据集中的地区名称列包含相同的值。或者,如果我们的目标是观察不包括预期公园占据的区域的地区,我们可以通过修改“how”参数来执行不同的覆盖操作来实现这一点。接下来,我们将 DISTRICTE 列重命名为 District_name,并使用字典将地区名称映射到地区代码。现在,我们创建一个字典,以地区代码为键,以地区名称为值,并使用它将名称映射到新列中的代码。原创 2024-03-13 09:55:26 · 349 阅读 · 0 评论 -
GeoPandas 教程1:地理空间数据处理和可视化
GeoDataFrames 类似于传统的 pandas 数据框,提供了熟悉的结构,因为 GeoDataFrame 是 pandas.DataFrame 的子类,继承了方法和属性。有两个主要的 CRS 类别:以度为单位的地理坐标(例如,EPSG:4326),广泛用于 GPS,以及二维地图的投影坐标,允许方便的单位表示(例如,米)。在本节中,我们将深入研究 GeoPandas 的基本操作,揭示地理空间分析中的关键概念,例如空间数据类型、格式和坐标参考系统 (CRS)。“area”属性计算几何图形的面积。原创 2024-03-13 09:40:53 · 943 阅读 · 0 评论 -
使用 Keras 和 ArcGIS Pro 通过 Mask-RCNN/DeepLabV3+ 进行 EagleView 高分辨率图像语义分割
考虑到土地覆盖和建筑足迹的复杂性,这对于深度学习来说是一个相当小的数据集,因为如果你阅读教科书,通常会说深度学习需要大量的训练数据才能获得更好的性能。通过对图像的进一步检查和推断,我们可以看到建筑物阴影的影响会降低建筑物边缘的准确度。使用来自 ArcGIS 的相同训练数据集导出深度学习工具的训练数据,图像和掩模经过增强处理并保存到 HDF5 压缩文件中,以便方便地加载到训练模型(图 14)。使用相同的训练模型来预测 2019 年相同区域裁剪的图像,结果非常相似,只有微小的局部差异(图 20)。原创 2024-03-12 10:53:14 · 1379 阅读 · 0 评论 -
Python 下载、处理和可视化气候数据
由于使用原始数据绘图无法显示正确的纬度和经度,因此我们通过从标头和投影文件中提取必要的信息,将二进制文件转换为光栅文件。本研究将重点从 FTP 服务器下载单个气候数据层,将其解压缩,读取以二进制格式存储的原始数据,从标头和投影文件中提取信息,并将其导出到 GeoTIFF 格式的栅格文件。PRISM 气候数据由俄勒冈州立大学 PRISM 气候小组开发,包括历史和当前时期的温度、降水和其他气候因素的信息。然而,大多数气候数据库都以二进制格式存储,有关投影、无数据值和维度的信息保存在单独的文件中。原创 2024-03-12 10:46:03 · 972 阅读 · 0 评论 -
使用Python查询和下载Sentinel卫星数据
Precursor(也称为 Sentinel-5P)是 Sentinel-5 的前身,可提供有关影响空气质量和气候的多种微量气体和气溶胶的及时数据。从与Sentinel API建立连接开始,我们定义了特定的感兴趣的地理区域,对某个产品类型和日期范围进行数据查询,并对相关数据进行排序和下载。Sentinel 卫星是欧洲航天局 (ESA) 开发的一组地球观测任务,是哥白尼计划的一部分,该计划是欧洲持续监测地球及其环境倡议的基石。请记住,哨兵数据库是一个不断增长和更新的资源,为我们的星球提供新的见解。原创 2024-03-11 10:08:17 · 1010 阅读 · 0 评论 -
Python 分析— 使用 LeuvenMapMatching 包进行地图匹配用于道路导航
在基于距离的地图匹配中,基本思想是将每个 GPS 点与地图中最近的路段进行匹配。这些类型的算法通常使用隐马尔可夫模型 (HMM) 或类似的概率模型来查找最可能的路段序列。我首先尝试了一种简单的方法来匹配点,将每个点独立地匹配到最近的路段。轨迹/GPS 数据必须与街道相匹配才能进行导航,因为 GPS 读数提供纯粹的纬度和经度坐标,但我们想知道车辆行驶的具体道路。因此,我根据前面步骤中的图表和轨迹列出了另一个简单的示例,该示例与。,从中可以提取大量的轨迹。如果您有兴趣,您可以将地图上的点可视化以获取乐趣。原创 2024-03-11 10:04:40 · 1348 阅读 · 1 评论 -
在 Python 中加速卫星时间合成的生成️
例如,如果我们一年中有 50 张图像(在云层覆盖限制内以及云/阴影遮罩之后),对于每个像素位置,我们需要使用指标(例如平均值、分位数)聚合时间维度(50 个时间步长) ,或其他。因此,为了计算正确处理 nan 值的时间复合材料,我们需要使用函数 np.nanmean 和 np.nanquantile,而不是 np.mean 和 np.quantile。这里显示的时间是第二次运行的时间。当我们处理具有可能的 nan 值的数据时,必须使用 np.nanquantile,但让我们看看它如何影响处理时间。原创 2024-03-10 11:00:00 · 1709 阅读 · 0 评论 -
使用 Python 进行基于对象的土地利用分类
基于对象的图像分析 (OBIA) 通过实施图像分割算法将像素组组合成对象(片段),从而减少图像中的信息量,从而提高处理效率。具体来说,我将演示基于地理对象的图像分析 (GeOBIA) 的过程,分 5 个步骤执行监督土地覆盖分类。第一个图像中的片段(快移)不能很好地捕捉图像中的特征。在第二幅图像中,SLIC 算法的分段更好地遵循图像特征的边界。图像中的特征可能通过不同的算法或不同的算法参数来最好地表示。我们将每个测试片段中的所有像素与相应预测片段中的所有像素进行比较。将每个训练观察与相应的图像片段相关联。原创 2024-03-10 09:15:00 · 1644 阅读 · 0 评论