Zostałem zainstalowany postgis zgodnie z tym przewodnikiem . Wszystko w porządku.
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"
Ale nie mam shp2pgsql, /usr/lib/postgresql/9.4/bin
jak widać:
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
Dlaczego tak się dzieje? i jak mogę to zainstalować?
postgis
postgresql
ubuntu
shp2pgsql
Przepełnienie 012
źródło
źródło
Odpowiedzi:
Śledziłem również metodę instalacji PO PostgreSQL i PostGIS, a mianowicie
sudo apt-get install postgresql-9.4-postgis-2.1 pgadmin3 postgresql-contrib-9.4
Włączyłem rozszerzenie PostGIS w bazie danych, ale
shp2pgsql
dopiero wtedy zacząłem działaćsudo apt-get install postgis
zgodnie z listą w dolnej części strony. Dlaczego
postgresql-9.4-postgis-2.1
nie zawierashp2pgsql
i po prostupostgis
zawiera ... Nie jestem do końca pewien. Ale PostgreSQL, PostGIS ishp2pgsql
wszystkie działają teraz dobrze.źródło
Podczas instalowania postgis w systemie Linux należy również zainstalować klienta, ponieważ postgis sam nie zainstaluje pliku wykonywalnego shp2pgsql.
Dopóki nie zainstalujesz klienta, w katalogu / usr / bin / znajduje się tylko link wskazujący na / etc / alternatives / postgis-shp2pgsql. Jest to tylko pusty link, dopóki instalacja klienta nie umieści plików wykonywalnych w /usr/pgsql-9.4/bin.
Mam nadzieję, że to pomoże, doceniam, że OP zadał to pytanie kilka miesięcy temu i mam nadzieję, że wcześniej znalazłem rozwiązanie.
źródło
Zwykle
shp2pgsql
plik binarny jest dostępny/usr/bin/shp2pgsql
podczas instalacji z pakietami podobnymi do wspomnianej metody.Czy wpisałeś
shp2pgsql
w linii poleceń? Zwykle działa po wyjęciu z pudełka.Jeśli nie,
zrobiłeś
updatedb
(wiersz poleceń, aby indeksować pliki), a następnie,locate shp2pgsql
aby znaleźć prawdziwą ścieżkę binarną?Czy używałeś echa danych wyjściowych z wiersza poleceń
echo $PATH
? A jaka jest wydajność?źródło
sudo locate shp2pgsql
jest puste.echo $PAHT
Zwraca polecenia/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
sudo locate shp2pgsql
jest pusty, wygląda na to, że nie zainstalowałeś sięshp2pgsql
poprawnie (lub zapomniałeś zrobićsudo updatedb
). Jeśli nazwa pakietu jest taka sama dla dodatkowego repozytorium i domyślnej, wykonaniesudo apt-get install postgis
powinno zainstalować zarówno, jakshp2pgsql
ishp2pgsql-gui
. Ta odpowiedź opiera się na fakcie, żesudo shp2pgsql
asudo apt-get install postgis
jednak zachowuje błądfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Spróbuj zaktualizować, a potem kontynuować stamtąd:
sudo apt-get update
.Wydaje się głupie, ale miałem problemy z instalacjami psql i postgis i wszystko się wyjaśniło po aktualizacji.
źródło