2013-02-24 15 views
8

Ho un normale database postgres con molti dati geografici. Questo è solo due colonne presenti come latitudine e longitudine.Convertire un database Postgres normale nel database PostGis

Voglio convertire questo database nel database PostGIs. Qualcuno mi può suggerire un modo per convertire il database che ho? Non voglio creare un nuovo database basato su templte postgis e quindi spostare tutti i dati uno per uno.

+0

I documenti PostGIS discutono su come "abilitare spazialmente" un database. Una volta fatto, aggiungi le colonne PostGIS con le funzioni PostGIS appropriate, usa 'UPDATE's per copiare i dati geografici di base nelle colonne PostGIS e rilascia le vecchie colonne. –

+2

Se stai utilizzando PostgreSQL 9.1+, non devi preoccuparti del database dei modelli. Basta creare un database e poi nella vista SQL in pgAdmin, digitare ed eseguire CREA ESTENSIONE postgis; Questo abiliterà spazialmente il tuo database. Fonte: http://gis.stackexchange.com/questions/26508/how-to-create-postgis-template –

risposta

7

Innanzitutto, installare PostGIS 2.x sul sistema. Ecco il flusso di lavoro psql o pgAdmin III:

-- Spatially enable the database 
CREATE EXTENSION postgis; 

-- Spatially enable each table with a geometry column 
--  [ also consider using "geog geography(Point,4326)" ] 
ALTER TABLE mytable ADD COLUMN geom geometry(Point,4326); 
UPDATE mytable SET geom = ST_SetSRID(ST_MakePoint(long, lat), 4326); 
+0

Ho installato i pacchetti PostG Ubuntu, ma in esecuzione mi viene fornito "ERRORE: impossibile aprire il file di controllo dell'estensione "/usr/share/postgresql/9.1/extension/postgis.control": Nessun file o directory " – Cerin

+0

@Cerin Avrei avvisato il gestore pacchetti con dettagli aggiuntivi –

+0

Ho appena provato di nuovo in Ubuntu 14, e funziona perfettamente. – Cerin

2

So che questo è più vecchio ... ma mi piacerebbe aggiungere qualcosa per risolvere un problema precedente:

@Cerin, assicuratevi di apt-get installa postgresql-xx-postgis-2.1, non solo apt-get install postgis. Ho avuto anche questo problema prima

+0

Ho lo stesso errore di @Cerin ma sto dicendo che non è possibile trovare "/usr/share/postgresql/9.3/extension/postgis.control" (Ho un Debian con postgresql-9.4 e postgresql-9.4-postgis- installati 2.1) – FSp

Problemi correlati