2011-07-01 17 views
8

Im usando la herramienta osm2pgsql para importar un archivo osm en una base de datos postgres usando phppgadmin como herramienta administrativa. Solo he descargado una pequeña ciudad de osm en formato xml y tengo problemas para importarla usando la terminal en Mac. Soy un poco novato en esto, así que cualquier ayuda sería muy apreciada. He revisado varios artículos pero ninguno proporciona la claridad que necesito para satisfacer mis necesidades.importando archivo osm en una base de datos postgres/postgis

Gracias

im conseguir este error podría ser algo pequeño no estoy seguro ..

Using projection SRS 900913 (Spherical Mercator) 
Setting up table: planet_osm_point 
NOTICE: table "planet_osm_point" does not exist, skipping 
NOTICE: table "planet_osm_point_tmp" does not exist, skipping 
SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, 'POINT', 2); 
failed: ERROR: function addgeometrycolumn(unknown, unknown, integer, unknown,  integer) does not exist 
LINE 1: SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, ... 
     ^
HINT: No function matches the given name and argument types. You might need to add explicit type casts. 

Respuesta

7

Es necesario instalar las extensiones PostGIS en su base de datos PostgreSQL. Suponiendo que ha instalado en su máquina PostGIS que hay que hacer algo como:

psql <database> < /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql 

La ruta exacta a postgis.sql dependerá de la distribución que está utilizando y cómo se ha empaquetado PostGIS. Usted también puede querer/necesidad de instalar la mesa de los sistemas de referencia espacial con un comando como este:

psql <database> < /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql 
+0

ejecuté esos archivos sql y ahora tengo todas las funciones requeridas. gracias por eso, por cierto. todavía no estoy seguro de cómo hacer la importación con osm2pgsql. Gracias – John

+0

Cuando trato de ejecutar 'postgis.sql' obtengo el error' Type "spheroid" already exists'. ¿Cómo puedo arreglarlo? –

+1

En las versiones postgresql 9 y postgis 2 esto se hace por: CREATE EXTENSION postgis; CREAR EXTENSIÓN postgis_topology; [más información] (https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/postgis/) –

0

Este es un ejemplo del comando:

osm2pgsql -c -d your_country -U postgres -W -H localhost -P 5432 -k -s -p -x OSM -S default.style .. \ your_country.osm.bz2

Éstos son algunos enlaces web útiles: http://wiki.openstreetmap.org/wiki/Osm2pgsql http://www.gis.hsr.ch/ wiki/Osm2pgsql

-S.

Cuestiones relacionadas