PostgreSQL中的空间数据

前端之家收集整理的这篇文章主要介绍了PostgreSQL中的空间数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Postgresql支持各种 geometric types开箱,以及许多几何 operatorsGiST indexes似乎提供数据的空间索引。

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

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

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

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

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

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

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

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

原文链接:https://www.f2er.com/postgresql/193324.html

猜你在找的Postgre SQL相关文章