暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[译] PostGIS 3.2 新增和改进

原创 热血青年 2022-07-03
1662

原文地址:PostGIS 3.2 New and Improved
原文作者:Paul Ramsey

上个月,就在 2021 年发布即将发布的情况下,PostGIS 的 3.2 版本面向市场了!这个新的 PostGIS 还支持最新的 3.10 版本的 GEOS,它支持了一些新功能。

光栅算法

该postgis_raster扩展使用 GDAL 栅格库进行矢量化栅格和栅格化矢量(是的!)之类的事情。此版本公开了一些更酷的 GDAL 算法。

  • 新的 ST_InterpolateRaster 函数允许将测量点的集合内插到连续的光栅表面中。

image.png

  • 可以将这些连续的光栅表面馈送到新的 ST_Contour函数,以计算表面的等值线。
    image.png

  • 使用ST_SetZ和 ST_SetM可以使用相同的栅格表面作为输入,将维度属性添加到 3D 和 4D 矢量对象 。

image.png

  • 最后,ST_Value 函数(以及ST_SetZ 和ST_SetM)已升级为支持 栅格值的双线性插值。

光栅云访问

在过去五年中,地理空间领域更令人兴奋的趋势之一是越来越多的共识,即大地理空间数据应该 存在于云端、HTTP 对象存储(如 AWS S3、谷歌云存储或 Azure Blob 存储)中。这将主要原始数据存档的默认位置从“在 Joe 办公桌下的 USB 驱动器上”更改为可公开访问的位置,因此可用于集成到分析链中。

使用云中的栅格数据,可以使用postgis_raster扩展进行基于栅格的分析,而无需导入源栅格数据。您甚至可以在(适当配置的)云数据库服务(如 Crunchy Bridge )中执行此操作。

我们最初关于云栅格分析的博客文章很有趣,但它们显示了来自数据库的云栅格的局限性:没有访问私有对象的好方法。

使用 PostGIS 3.2,现在可以 向云对象存储提供凭据,因此您也可以针对您的私有栅格集合进行远程分析。

更快/更好的效力

在过去的几年中,我们的开发重点之一是使 PostGIS 使用的计算几何引擎(GEOS 库) 更快、更现代。

在此发布周期中,对两个常见的面向用户的功能进行了现代化改造, ST_IsValid和 ST_MakeValid。

ST_IsValid被重新编写以提高效率,并且根据输入速度提高约 30%。
添加了一个新的 ST_MakeValid实现,速度提高了一倍,并且更好地尊重了输入的结构组成。结果是(取决于您的解释)对有效性错误的更“合理”的更正。

image.png

(可选)更快的 GIST 索引构建

今年,一名 Google Summer of Code学生承担了一个雄心勃勃的 PostGIS 项目:使用 PostgreSQL 14 的新 GIST“排序支持”挂钩来缩短索引构建时间。

这项工作已经完成,并且确实大大加快了GIST 索引构建时间,在 2 到 5 倍之间。

但是,有一个问题:以这种方式构建的索引的结构不如默认的增量索引构建。这可能导致查询性能下降,从零下降到 30% 或更多。

因为我们预计对于大多数用例而言,索引查询工作将超过索引构建,所以我们将新的排序支持钩子排除在默认几何运算符类之外。

如果您想启用更快的索引构建(以查询性能为代价),您可以 在构建索引之前将排序支持功能添加到默认运算符类。

ALTER OPERATOR FAMILY gist_geometry_ops_2d USING gist
  ADD FUNCTION 11 (geometry)
  geometry_gist_sortsupport_2d (internal);
复制

您可以通过运算符类的排序支持来关闭运算符。

ALTER OPERATOR FAMILY gist_geometry_ops_2d using gist
  DROP FUNCTION 11 (geometry);
复制

请记住,即使您关闭了排序支持,您使用排序支持构建的任何索引仍将具有次优结构。

FlatGeoBuf 格式

在“也许这会起飞”类别中是对 FlatGeoBuf 格式的新支持。与 PostGIS 支持的其他 MVT 和 GeoBuf 格式一样, ST_AsFlatGeoBuf函数接收一行或一组行,并输出bytea对这些行中的所有数据进行编码的单个二进制文件。

FlatGeoBuf 格式是一种矢量,其原理与 Cloud Optimized GeoTiff相同:一种格式,其中空间中彼此靠近的特征在格式字节流中也彼此靠近。这允许使用相对较少的 HTTP 范围读取来提取数据的空间窗口。“云优化”就是减少服务常见用例所需的访问次数。

到目前为止,FlatGeoBuf 在野外的使用并不多,但它填补了矢量云存储空间中未满足的需求,因此这种情况可能会迅速改变。

关于更多

任何版本的更改摘要都会错过大量的利基增强和修复,因此真正的爱好者应该查看已 关闭的工单积压 和发布 新闻文件。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 光栅算法
  • 光栅云访问
  • 更快/更好的效力
  • (可选)更快的 GIST 索引构建
  • FlatGeoBuf 格式
  • 关于更多