Ich wurde nach dieser Anleitung postgis installiert . Alles ist ok.
SELECT postgis_full_version();
"POSTGIS="2.1.7 r13414" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.1, released 2013/08/26" LIBXML="2.9.1" LIBJSON="UNKNOWN" TOPOLOGY RASTER"
Aber ich habe nicht die shp2pgsql in, /usr/lib/postgresql/9.4/bin
wie Sie sehen können:
foo@bar:/usr/lib/postgresql/9.4/bin$ ls
clusterdb initdb pg_dump pg_standby psql
createdb oid2name pg_dumpall pg_test_fsync reindexdb
createlang pg_archivecleanup pg_isready pg_test_timing vacuumdb
createuser pg_basebackup pg_receivexlog pg_upgrade vacuumlo
dropdb pgbench pg_recvlogical pg_xlogdump
droplang pg_controldata pg_resetxlog postgres
dropuser pg_ctl pg_restore postmaster
Warum passiert das? und wie kann ich es installieren?
postgis
postgresql
ubuntu
shp2pgsql
Überlauf012
quelle
quelle
Antworten:
Ich war auch im Anschluss an die Installation der OP - Methode von PostgreSQL und PostGIS, nämlich
sudo apt-get install postgresql-9.4-postgis-2.1 pgadmin3 postgresql-contrib-9.4
Ich habe die PostGIS-Erweiterung in einer Datenbank aktiviert, konnte aber erst
shp2pgsql
dann arbeitensudo apt-get install postgis
wie unten auf der Seite aufgeführt. Warum
postgresql-9.4-postgis-2.1
nicht einschließtshp2pgsql
und einfachpostgis
tut ... Ich bin mir nicht sicher. Aber PostgreSQL, PostGIS undshp2pgsql
alle funktionieren jetzt einwandfrei .quelle
Stellen Sie bei der Installation von postgis unter Linux sicher, dass Sie auch den Client installieren, da postgis allein die ausführbare Datei shp2pgsql nicht installiert.
Bis Sie den Client installieren, gibt es in / usr / bin / nur einen Link, der auf / etc / alternatives / postgis-shp2pgsql verweist. Dies ist nur ein leerer Link, bis die Client-Installation die ausführbaren Dateien in /usr/pgsql-9.4/bin platziert.
Hoffe, das hilft, schätze, dass das OP die Frage vor einigen Monaten gestellt hat, und ich hoffe, dass ich früher eine Lösung gefunden habe.
quelle
Normalerweise ist die
shp2pgsql
Binärdatei aktiviert,/usr/bin/shp2pgsql
wenn Sie mit Paketen wie in der von Ihnen genannten Methode installieren.Haben Sie die
shp2pgsql
Befehlszeile eingegeben? Normalerweise funktioniert es sofort.Wenn nicht,
Haben Sie eine
updatedb
(Befehlszeile zum Indexieren von Dateien) gefolgt von a ausgeführtlocate shp2pgsql
, um den tatsächlichen Binärpfad zu finden?Haben Sie die Ausgabe über die Befehlszeile mit wiederholt
echo $PATH
? Und was ist die Ausgabe?quelle
sudo locate shp2pgsql
ist leer. Befehlecho $PAHT
kehrt zurück/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
sudo locate shp2pgsql
es leer ist, haben Sie es anscheinend nichtshp2pgsql
richtig installiert (oder Sie haben es vergessensudo updatedb
). Wenn der Paketname das gleiche für zusätzliche Repo und der Standard ist, tun einsudo apt-get install postgis
installieren sollten beideshp2pgsql
undshp2pgsql-gui
. Diese Antwort basiert auf der Tatsache, dass ich angenommen habe, dass Sie eine Debian-basierte Distribution (Debian, Mint oder Ubuntu) verwendensudo shp2pgsql
undsudo apt-get install postgis
behalte aber den Fehlerfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Versuchen Sie zuerst zu aktualisieren und fahren Sie dann fort :
sudo apt-get update
.Scheint dumm, aber ich hatte Probleme mit meinen Installationen von psql und postgis und alles wurde klar, sobald ich aktualisiert habe.
quelle