tutorial st_geometry guardar gratis espaƱol curso coordenadas postgresql spatial

st_geometry - Datos espaciales en PostgreSQL



st_geometry postgis (1)

PostgreSQL admite una variedad de tipos geométricos listos para usar , junto con muchos operators geométricos e índices GiST que parecen ofrecer una indexación espacial de los datos.

Y luego está también PostGIS , que es una extensión de PG.

¿Cuál es la diferencia entre el soporte espacial incorporado en PG y PostGIS?

Si mi aplicación necesita almacenar coordenadas geográficas (puntos, áreas, polígonos) y luego hacer consultas de manera eficiente (como punto en polígono, intersección de polígonos), ¿necesito PostGIS o puedo usar el (posiblemente) más conveniente y más simple construido? -in tipo de datos / sintaxis?


Primero me gustaría aclarar los índices de GiST: GiST es en realidad un marco para crear índices para nuevos tipos de datos, no un esquema de indexación en particular. Este marco se usa para los tipos geométricos que vienen con Postgres, pero también se usa para un índice de similitud de texto que coincide con trigramas en columnas de texto estándar, y por supuesto es usado por los esquemas de indexación de muchos paquetes externos, entre los cuales podemos Número de PostGIS.

Si los tipos de datos geométricos estándar funcionarán para usted o si necesita PostGIS, depende completamente de su aplicación.

PostGIS almacena datos geométricos en una columna de tipo "geometría"; en esto puede almacenar más o menos datos arbitrarios (puntos, círculos, polígonos, lo que tenga). La indexación es rápida y bastante sofisticada: puede hacer cosas como la indexación con pérdida utilizando cuadros delimitadores para formas complejas que de otra forma razonable no se pueden indexar. Se admiten diferentes sistemas de referencia espacial, con conversión automática de los resultados de las consultas. PostGIS también admite formatos OpenGIS estándar de la industria, que pueden ayudar a compartir datos con otros sistemas.

En contraste, el conjunto de tipos geométricos internos y sus índices es mucho menos sofisticado. No hay un tipo de geometría "genérico" real; en su lugar, debe elegir que el tipo de una columna sea un punto, una línea, un círculo, un polígono o lo que tenga usted; para combinaciones, probablemente tendrás que usar varias columnas. La indexación no es tan buena; no se pueden indexar tantos tipos diferentes de formas (aunque podría agregar el soporte de cuadros delimitadores utilizando una columna separada para ellos y generando los cuadros delimitadores manualmente) y los índices probablemente no sean tan rápidos en algunas situaciones. Por otro lado, si los tipos geométricos internos satisfacen sus necesidades, obtendrá la ventaja de que su aplicación se puede transportar más fácilmente a otros sistemas que tienen Postgres pero no PostGIS instalado.

Mi consejo sería jugar con los tipos geométricos internos y ver qué tan bien funciona para ti; Si empiezas a tener problemas, prueba PostGIS.