(¿Cuándo) debo usar una base de datos habilitada para SIG?

22

Soy un programador desde hace mucho tiempo, nuevo en GIS. Estoy tratando de tener una idea de los aspectos de la base de datos de SIG y entiendo que hay algunas bases de datos que están especializadas para su uso. Básicamente, estoy tratando de entender si usar una base de datos de este tipo o seguir con MySql, muy popular, bien establecido, ampliamente compatible (y gratuito).

El tipo de aplicaciones que puedo codificar serían cosas como:

  • gestión de flota (vehículos terrestres u oceánicos)
  • seguimiento de empleados
  • control de inventario (a una granularidad de una posición física precisa con un medidor más o menos)
  • errm, eso es todo, realmente

Normalmente esperaría no rastrear más de 1 cientos (máximo, posiblemente algunos miles) de artículos. En ocasiones, los elementos se ubicarán en el mismo edificio (grande), serie de edificios, ciudad, país o en todo el mundo, según la aplicación.

Ocasionalmente los representaré visualmente, ya sea en un plano de planta personalizado de un edificio o, más probablemente, en Google Earth o similar (más de lo cual en otra pregunta).

Me parece que también estoy bien con MySql y agrego columnas para datos de posición lat / long u otros, pero eso podría ser solo porque conozco MySql.

¿Hay alguna razón por la que debería estar buscando una base de datos más especializada?

Mawg
fuente

Respuestas:

13

La verdadera ventaja de las bases de datos espaciales (PostGIS, extensiones espaciales a MySQL o cualquier otra cosa) es que puede realizar operaciones espaciales en datos espaciales. Si solo está almacenando coordenadas de puntos, entonces realmente no gana mucho con el espacio (solo use dos columnas numéricas). Si almacena combinaciones de coordenadas de punto (dónde están los clientes) y coordenadas de línea (a dónde van los camiones de entrega) y polígonos (regiones de ventas), y luego realiza consultas que relacionan esos diversos bits de información (cuántos clientes hay en una venta zona, cuántos camiones viajaron a menos de 2 km del sitio de un cliente hoy pero no hicieron una entrega o recogida), puede ganar mucho.

Como señaló iant, PostGIS ciertamente vale la pena buscar una aplicación de servidor. SpatiaLite son las extensiones espaciales de SQLite, que pueden ser más adecuadas para una aplicación móvil de escritorio / incrustada / fuera de línea, a la vez que ofrece funciones SQL bastante similares [ Divulgación: trabajo en SpatiaLite ], señalando que no hay nada que le impida usar PostGIS en Una aplicación de escritorio.

BradHards
fuente
+1 y gracias. Solo curiosidades sobre por qué se basó en Sqlite y no en MySql ...
Mawg
1
Creo que son solo objetivos de diseño diferentes (incrustado, sin configuración, etc.).
BradHards
+1 eso fue lo que pensé (también vengo de un fondo incrustado). Gracias por la info. Espero terminar con aplicaciones basadas en el navegador (la mayoría de nosotros lo haremos, incluso si preferimos no hacerlo), por lo que el "lite" no es tan necesario. Simplemente curioso, ¿qué tipo de aplicaciones ahora donde está el d / b en el sistema / dispositivo incorporado? (lo siento, todavía
estoy
1
incrustado es un área grande, pero el móvil fuera de línea parece ser un área emergente.
BradHards
2
@Mawg La mayoría de los teléfonos y navegadores modernos usan sqlite como el almacén de datos. Realmente es un solo archivo c, y la API es súper simple y se ejecuta en proceso. Compare eso con MySQL que requiere múltiples procesos en ejecución y una arquitectura cliente / servidor. Dos casos de usos muy diferentes
Ragi Yaser Burhum
8

Sin duda, debe considerar el PostGIS enormemente popular, bien establecido, ampliamente respaldado (y gratuito) . Hará todo lo que MySQL puede hacer y manejará ubicaciones espaciales como objetos de primera clase. Por lo tanto, puede realizar selecciones basadas en puntos en un cuadro delimitador (u otro polígono) sin tener que escribir todas las comparaciones, etc.

Una vez que comience a hacer preguntas como qué objetos se encuentran en qué país (o edificio), PostGIS realmente se hace cargo y si decide que necesita asignar sus objetos, todas las herramientas populares de código abierto hablarán con PostGIS. la caja.

Ian Turton
fuente
+1 y muchas gracias. Me voy a investigar ahora. Desde el punto de vista de los codificadores, quiero ver bien si habla con PHP si voy a la web, y si voy a la aplicación de escritorio Widnwos, entonces estoy usando componentes de acceso a la base de datos AnyDac para Delphi, así que enviaré un correo electrónico al soporte de AnyDac. ¡Gracias de nuevo!
Mawg
1
Para Mawg: todavía tengo que ver cualquiera de las bibliotecas de bases de datos de Delphi de terceros para admitir cualquiera de las funciones de SIG en postgis, db2, spatiallite, servidor sql, etc. Parece que eso es algo que tienes que hacer por tu cuenta.
Uffe Kousgaard el
+1 @UffeKousgaard Solo encontré esto a $ 295 para el cartovcl.com
Mawg
1
Cartovcl (que he estado usando durante casi 10 años) es un SDK GIS de archivo plano que tiene la funcionalidad GIS incorporada. No es una API delgada encima de una base de datos remota habilitada espacialmente.
Uffe Kousgaard el
1
Documento histórico :-) Pero TatukGIS es probablemente uno de los SDK de GIS más completos (pero también un poco caro). Pero está en la misma liga que cartovcl, es decir, la funcionalidad gis está incorporada, no es una API sobre una base de datos remota.
Uffe Kousgaard
2

Para agregar a las respuestas y reiterar algunos puntos, uno usa una base de datos habilitada espacialmente si tiene consultas relacionadas con las relaciones espaciales de los datos, algunas de las cuales son las siguientes:

  1. qué puntos están dentro de x kilómetros de mis puntos de interés
  2. qué puntos están más cerca
  3. qué tan lejos está un punto de otro punto
  4. qué puntos son x kilómetros dentro de la carretera de acceso

Si tales consultas relacionadas con WHERE son una característica importante para una aplicación, generalmente se recomienda utilizar una base de datos espacial.

Por supuesto, uno puede recurrir a la lógica de codificación / aplicación para algunas de estas consultas, como el uso de la fórmula de distancia para 1, pero no es necesario reinventar la rueda.

arcos
fuente