Come importare usando shp2pgsql?


11

Voglio importare shapefile in PostGIS. C'è un database postgresal suo interno ma nessuna tabella è stata ancora aggiunta.

Sto usando questo comando:

shp2pgsql -I -s 4326 districts.shp districts | psql -d postgres -U postgres 

e mi sta dando qualche errore:

Impossibile convertire il valore dei dati in UTF-8 (iconv riporta "Multibyte non valido o incompleto o carattere largo"). La codifica corrente è "UTF-8". Prova "LATIN1" (Europa occidentale) o uno dei valori descritti in postgresql.org/docs/current/static/multibyte.html

Il mio comando è sbagliato ??

Risposte:


29

Hai provato a -W "latin1"bandiera? A volte la codifica predefinita (UTF-8) non funziona bene. Forse avrai più fortuna con la codifica latin1:

shp2pgsql -I -s 4326 -W "latin1" districts.shp districts | psql -d postgres -U postgres

C'è un utile cheat sheet disponibile qui .

Spero che sia d'aiuto..


1
Hmm .. L'estensione PostGIS è stata installata correttamente nel postgresdatabase? Se non l'hai fatto: forse questo può essere d'aiuto ..

Di solito, se ha make installfunzionato, è possibile passare al processo successivo ( make checkè un passaggio precedente make install). Se è possibile connettersi al database tramite psql / pgadmin3, ciò significa che l'installazione ha esito positivo. Puoi passare al passaggio "Crea un database spaziale"? Consiglio di usare il metodo EXTENSIONS ..

Amico, questo si è allontanato troppo dalla tua domanda originale, haha ​​.. È un po 'difficile aiutarti qui quando ci sono molte variabili in gioco: quale versione di PostgreSQL stai usando ?; su quale tipo di sistema ?; e quale versione di PostGIS stai cercando di installare? Sembra che non abbia riconosciuto la "CREATE EXTENSION"sintassi. Digita solo: psql -d geocoding -U postgresti porta geocodingcorrettamente nel database?

Colpa mia. Quindi dovresti seguire la 2.5. Crea un database abilitato spazialmente su PostgreSQL inferiore alla sezione 9.1 . Se riscontri ancora problemi ti suggerirei di aprire una nuova domanda - in modo da poter ottenere risposte migliori;)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.