首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GeoTiff光栅数据到德尔塔湖/ Parquet格式?

GeoTiff光栅数据到德尔塔湖/ Parquet格式?
EN

Stack Overflow用户
提问于 2022-09-27 09:11:05
回答 2查看 133关注 0票数 0

我们的组织最近一直在使用数据库进行ETL和数据集的开发。然而,我发现栅格数据集的库/功能非常有限。有几个光栅/火花图书馆,但他们不是很成熟。例如GeoTrellisRasterFrames阿帕奇塞多纳

因此,我一直在探索在Databricks平台上高效处理栅格数据的其他方法,该平台利用Spark / Delta表/ Parquet文件。

我的一个想法是将栅格数据转储到简单的x,y,value列,并将它们作为表加载。如果我的其他数据集具有相同的分辨率(我将对它们进行预处理,使它们具有相同的分辨率),那么我应该能够执行简单的SQL查询,以屏蔽/加/减和更复杂的用户定义函数。

第一步,我认为应该是将我的光栅作为一个CSV的点,然后我可以加载到一个Delta表。但是在我的Databricks集群(128 3GB内存,16核)上运行了12个小时之后,一个3GB的光栅还没有完成(我正在使用下面的gdal2xyz函数)。

是否有更快的方法将光栅转储到CSV?或更好的情况下,直接转换为拼花格式。

代码语言:javascript
复制
python gdal2xyz.py -band 1 -skipnodata "AR_FLRF_UD_Q1500_RD_02.tif" "AR_FLRF_UD_Q1500_RD_02.csv"

也许我可以平铺栅格,使用并行处理将每个CSV转储到文件中,然后将CSV文件绑定在一起,但这似乎有点费劲。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-27 21:23:54

从3.5版开始,GDAL就有一个拼花驱动程序。因此,至少在这个版本中,您应该能够用这样的"terra“来编写栅格数据。

代码语言:javascript
复制
library(terra)
x <- rast(ncol=10, nrow=10, val=1:100)
writeRaster(x, "file.pqt", driver="Parquet")

您可以检查"terra“与terra::gdal()一起使用的版本。目前windows的CRAN版本还没有发布(但几乎没有)。

代码语言:javascript
复制
gdal()
#[1] "3.4.3"
票数 1
EN

Stack Overflow用户

发布于 2022-10-14 19:50:53

您可以使用Sedona轻松地将GeoTiffs加载到DataFrame,并将数据存储为Parquet格式。见此处:https://sedona.apache.org/api/sql/Raster-loader/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73865059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档