PostgreSQL中的空间数据

PostgreSQL中的空间数据,第1张

概述PostgreSQL支持各种 geometric types开箱,以及许多几何 operators和 GiST indexes似乎提供数据空间索引。 然后还有PostGIS,这是PG的扩展。 PG和PostGIS内置的空间支持有什么区别? 如果我的应用程序需要存储地理坐标(点,区域,多边形),然后有效地执行查询(如多边形点,多边形交集),我需要PostGIS或者我可以使用(可以说)更方便和更简单 Postgresql支持各种 geometric types开箱,以及许多几何 operators和 GiST indexes似乎提供数据的空间索引。

然后还有PostGIS,这是PG的扩展。

PG和PostGIS内置的空间支持有什么区别?

如果我的应用程序需要存储地理坐标(点,区域,多边形),然后有效地执行查询(如多边形点,多边形交集),我需要PostGIS或者我可以使用(可以说)更方便和更简单的构建 – 数据类型/语法?

首先我想澄清GiST索引:GiST实际上是一个框架,用于为新的数据类型创建索引,而不是任何特定的索引方案本身。这个框架恰好用于Postgres提供的几何类型,但它也用于标准文本列的三元匹配文本相似性索引,当然也被许多外部包的索引方案使用,其中我们可以数字PostGIS。

无论标准几何数据类型是否适合您或您需要PostGIS完全取决于您的应用程序。

PostGIS将几何数据存储在类型“几何”的列中;在这里你可以存储或多或少的任意数据(点,圆,多边形,有什么)。索引是快速和相当复杂:它可以做一些事情,如有损索引使用包围盒的复杂形状,不可索引的任何合理的方式否则。支持不同的空间参考系统,自动转换查询结果。 PostGIS还支持业界标准的OpenGIS格式,这有助于与其他系统共享数据。

相比之下,内部的几何类型和指数是很少复杂。没有真正的“通用”几何类型;相反,你必须选择一个列的类型是点,线,圆,多边形或什么有你的;对于组合,您可能需要使用多个列。索引不是很好;没有那么多不同类型的形状可以索引(虽然你可以通过为它们使用单​​独的列并手动生成边界框来添加边界框支持),并且索引在某些情况下可能不那么快。另一方面,如果内部几何类型满足您的需要,您获得的优势是,您的应用程序更容易移植到其他具有Postgres但不安装PostGIS的系统。

我的建议是玩弄内部的几何类型,看看你是如何做得很好;如果你开始遇到问题,尝试PostGIS。

总结

以上是内存溢出为你收集整理的PostgreSQL中的空间数据全部内容,希望文章能够帮你解决PostgreSQL中的空间数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1171643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存