Cómo importar datos de OpenStreetMap (OSM) a PostGIS

Para importar datos de OpenStreetMap a PostGIS existen varias herramientas. Las principales son:

Estas herramientas  importan datos en formato .osm a bases de datos y están pensadas para organizar los datos siguiendo esquemas diseñados para unos usos muy concretos. Por ejemplo, las herramientas osm2pgsql y imposm está diseñadas para que generen unas bases de datos muy eficientes de cara a la renderización.

Comenzamos:

1. El primer paso es descargar la herramienta de importación de datos de OSM que se encuentra disponible haciendo click aqui: osm2pgsql.zip.

2. Descomprime el archivo en un directorio.

3. Sitúate sobre ese directorio (puedes añadir el directorio al path de las variables de entorno)

4. Abre una ventana de línea de comandos (Inicio > ejecutar> cmd) y teclea osm2pgsql -h, esto te mostrará la ayuda:

osm2pgsql ayuda
5. A continuación nos descargaremos la cartografía en formato OSM, para ello puedes ir a la web de OSM. Para este tutorial hemos descargado algunos datos de la ciudad de León que tienes disponibles para practicar. Es un zip de debes descomprimir: leon.map

6. Crea una nueva base de datos llamada osm con capacidades espaciales.

base de datos osm
7. Importa los datos OSM a la base de datos. La sintaxis que debemos introducir en la ventana de comandos será la siguiente:

osm2pgsql C:\leon.osm -d osm -U postgres -P 5432 -S default.style -C 512 –hstore –H localhost -W –cache-strategy sparse

Es necesario incluir las siguientes opciones:

  • “-H” para especificar el servidor,
  • “-W” para introducir la contraseña,
  • “-S” (mayúscula) dónde se indica la localización del fichero de estilos.La distribución de osm2pgsql incluye un fichero de estilos llamado default.style ya configurado.
  • Y por último “-C” y –cache-strategy sparse para aligerar el tamaño de la cache (por defecto 800).

proceso completo

8. Si el resultado ha sido satisfactorio, después de la importación se obtienen cuatro tablas:

  • planet_osm_polygon
  • planet_osm_line
  • planet_osm_roads
  • planet_osm_point

9. Comprobamos que las capas se han importado correctamente a la base de datos y el contenido de la vista geometry_columns. Observa el nombre de la columna de geometría (way) y el SRID:

vista geometry_columns

A partir de aquí ya podemos trabajar con los datos de OSM, podemos visualizarnos realizando la conexión con nuestro cliente GIS de escritorio preferido:

A continuación puedes resolver los ejercicios planteados en el proyecto final del curso de PostGIS

Algunos enlaces que han sido de utilidad:

Si te ha gustado esta entrada deja un comentario o compártela!

Let’s connect!

Date de alta en nuestro newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

2 comentarios en “Cómo importar datos de OpenStreetMap (OSM) a PostGIS”

  1. Es posible trabajar en dos proyecciones dentro de la plataforma GIS/SIG coordenadas geográficas y coordenadas planas (WGS84) usando datos de OSM
    Gracias

    • Hola Hernan, En un SIG se trabaja con la proyección que desees, independientemente de que los datos de origen estén por ejemplo en coordenadas planas, se puede realizar una transformación al vuelo a otra proyección (por ejemplo EPSG:4326). Saludos

Los comentarios están cerrados.