Restaurar copia de seguridad de base de datos geoespacial con PostgreSQL y PostGIS

¡Buenas de nuevo!

Como ya comenté en la entrada donde se explicaba cómo realizar una copia de seguridad de una base de datos geoespacial con PostgreSQL y PostGIS, el siguiente paso sería explicar cómo restaurar esta copia que hemos realizado para poder trabajar con ella. read more

Leer más » 2 Comentarios

Hacer copia de seguridad de base de datos geoespacial con PostgreSQL y PostGIS

¡Buenas a tod@s!

Esta vez vamos a explicar los pasos a seguir para hacer una copia de seguridad de una base de datos de tipo geoespacial a través de la línea de comandos. En la siguiente entrada hablaremos de cómo restaurarla.

Supongo que estas mismas instrucciones son las que usaremos con cualquier tipo de base de datos PostgreSQL, pero en mi caso, sólo lo he comprobado con bases de datos espaciales, para las cuales os puedo asegurar que funcionan a la perfección. read more

Leer más » 5 Comentarios

Almacenamiento y tratamiento de datos geolocalizados en PostgreSQL con PostGIS

¡Buenas a tod@s!

Hoy voy a explicar una operación básica pero necesaria para almacenar y  tratar con datos geolocalizados. Siguiendo un poco el hilo del tutorial, ya tenemos nuestra base de datos PostgreSQL con el módulo PotGIS creada, así como creada nuestra tabla con el tipo de dato espacial haciendo uso del SRID 4326, por lo que ahora vamos a ver cómo se almacena un punto, definido por su longitud y su latitud, en ella. read more

Leer más » 3 Comentarios

Base de datos espacial con PostgreSQL-PostGIS: spatial_ref_sys y SRID

Buenas!

Como ya comenté, tenía pendiente una entrada para hablar sobre dos conceptos que han aparecido y que resultan de gran interés para escribir sobre ellos. Hablamos de la tabla spatial_ref_sys y de SRID.

Comencemos por la tabla spatial_ref_sys que como ya vimos , se genera automáticamente en nuestra base de datos cuando la hacemos de tipo espacial. El formato de esta tabla es el siguiente:

tabla spatial_ref_sys pgAdmin

Las columnas que aparecen dentro de la misma son:

  • SRID: Es un identificador del sistema de referencia espacial (SRS – Spatial Referencing System), y es usado para identificar de forma única el sistema de coordenadas que vamos a usar en nuestra base de datos.
  • AUTH_NAME: Es el nombre del estándar para el sistema de referencia. Por ejemplo: EPSG.
  • AUTH_SRID: El identificador según el estándar AUTH_NAME. En el ejemplo anterior es el código según EPSG.
  • SRTEXT: Una Well-Know text representación para el sistema de referencia especial. Para un listado proyecciones EPSG y su correspondiente representación WKT, podemos acceder a la página http://www.opengeospatial.org/
  • PROJ4TEXT: Proj4 es una librería que usa PostGIS para transformar coordenadas. Esta columna contiene una cadena con definición de las coordenadas de Proj4 para un SRID dado.

Algunos de los valores de SRID de la EPGS  más conocidos son: 4326- WGS 84 Long Lat que es el sistema que habitualmente usan los GPS, o 3857 – WGS84 usado por Google Maps u OpenStreetMap. Lo más importante es trabajar siempre con el mismo SRID, ya que si realizamos operaciones con objetos que tienen diferente SRID, el resultado será erróneo. read more

Leer más » 1 Comentario

Cómo crear una tabla con datos geoespaciales en Postgis y PostgreSQL

Buenas a tod@s 🙂

Siguiendo un poco el hilo de los posts anteriores, ya tenemos instaladas todas las tecnologías que vamos a necesitar y ya hemos creado una base de datos de tipo espacial . Ahora, se trata de poder almacenar puntos geolocalizados dentro de nuestra base de datos.

¿Cuál es el siguiente paso que debemos dar?

Lo primero será crear una tabla en nuestra base de datos, que será la tabla que albergará el tipo de dato geolocalizado. Para ello, basta con hacer clic derecho en el Explorador de objetos en la zona de nuestra base de datos creada, y darle a Nueva tabla. En las siguientes imágenes vemos la información que será necesario rellenar sobre la propiedad y definición, que como podréis observar es la misma que indicábamos al crear la base de datos. read more

Leer más » 6 Comentarios

Instalación de PostGIS para PostgreSQL

Cada vez son más las aplicaciones que hacen uso de localizaciones dentro de su funcionamiento y que además, necesitan almacenarlas de alguna forma dentro de su base de datos. Es entonces cuando PostgreSQL toma ventaja frente a MySQL gracias a la existencia de PostGis.
PostGIS

PostGis es un software libre, tiene licencia GNU General Public License (GPL), convierte nuestra base de datos PostgreSQL en una base de datos espacial capacitada para almacenar y trabajar con datos espaciales.

La instalación es muy sencilla, esta que indico aquí es la que usé en local y en un servidor en producción con Ubuntu 12.04, supongo que en versiones posteriores será similar con algún cambio en las versiones de paquetes pero diría que la mecánica es la misma, pero si tenéis alguna duda preguntad en comentarios y lo vemos entre todos.

Instalamos los paquetes:

sudo apt-get install python-software-properties
sudo apt-add-repository ppa:ubuntugis/ppa
sudo apt-get update
sudo apt-get install postgresql-9.1-postgis
sudo apt-get install build-essential postgresql-9.1 postgresql-server-dev-9.1 libxml2-dev proj libjson0-dev xsltproc docbook-xsl docbook-mathml gettext postgresql-contrib-9.1 pgadmin3
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:olivier-berten/geo
sudo apt-get update
sudo apt-get install libgdal-dev

Una vez realizadas estas instalaciones, verficamos la versión de libGDAL, que debe ser 1.9.0

$ gdal-config --version 1.9.0 read more

Leer más » 12 Comentarios

Rubyrep (replicación de base de datos que no lastima)

Hola, quería aportar contenido sobre una interesante herramienta para implementar replicación de base de datos (para postgres y mysql). Me tope con ésta herramienta hace unos días, cuando estaba buscado información/soporte para utilizar Slony-I (herramienta de replicación para PostgreSQL). Resulta ser una solución muy buena, fácil de implementar y relativamente simple. (en comparación con Slony-I). Está escrita en JRuby, lo cual la hace independiente de la plataforma (donde corra Java, lo hará ésta herramienta).

Características principales:

  • open-source
  • Replicación asincrónica, Master-Maste, Master-Slave.
  • Muy fácil de utilizar y configurar (a través de archivos .conf muy sencillos de entender).
  • Independiente del motor de base de datos (actualmente soporta Postgresql y MySql).
  • Puede escanear dos bases de datos en busca de diferencias.
  • Puede sincronizar dos bases de datos.
  • Puede replicar continuamente entre dos bases de datos.

Leer más » 1 Comentario

Curso ADO.NET con Mono y MySQL – Creación del proyecto

Nos dirigimos a MonoDevelop y creamos una solución nueva, en C#, para consola. Elegís el nombre, el que le he puesto para el ejemplo es: ejemplo_mono_ado. Os aparecerá en pantalla un fichero de nombre: Main.cs junto a un árbol a la izquierda con características de la solución. Una de ellas, las referencias es donde importaremos el ensamblado.

Antes de seguir sería conveniente que copiarais al directorio del proyecto el fichero “mysql.data.dll” que venía dentro del paquete comprimido del conector. Os dirigís a referencias y haciendo clic sobre el mismo título “Referencias”, elegís “Editar referencias…”. De las tres pestañas que aparecen en el diálogo elegís “Ensamblado .NET” y os dirigís al directorio del proyecto o donde tengáis guardado el fichero. Lo elegís y lo añadís.

Aspecto interfaz MonoDevelop

Leer más » 6 Comentarios

Curso ADO.NET con Mono y MySQL – Preparación e instalación

Pasado más de un mes desde la entrada que anunciaba este curso, volvemos a la carga, veamos.

Antes de nada, de forma básica, vamos a revisar qué necesitamos, cómo obtenerlo y en caso necesario, cómo configurarlo. En este momento ,creo conveniente señalar que utilizaremos MonoDevelop,el entorno de desarrollo integrado para Mono más popular, en lugar de utilizar directamente el compilador, mcs; para centrarnos directamente en el desarrollo con ADO y dejar de lado los detalles que no son necesarios.

Logo MonoDevelop

Mono y MonoDevelop

En función de la distribución que utilicéis, las circunstancias particulares cambiaran, pero básicamente os comento dos alternativas que probablemente os sirvan prácticamente a todos. La primera es dirigiros a vuestro gestor de paquetes y buscar los paquetes correspondientes. Como monodevelop, que será más o menos así el nombre del paquete, depende de Mono, si elegís éste se os seleccionaran los demás paquetes necesarios para desarrollar y ejecutar programas con Mono. Es decir, básicamente instalando MonoDevelop a través del paquete homónimo, tendréis todo preparado. Además, es más que probable que tengáis instalado Mono en vuestro equipo por defecto. Por ejemplo, el entorno de escritorio Gnome utiliza esta tecnología ampliamente.

Leer más » 8 Comentarios