У меня был установлен постгис, следуя этому руководству . Все в порядке.
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"
Но у меня нет shp2pgsql, /usr/lib/postgresql/9.4/bin
как вы можете видеть:
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
Почему это происходит? и как я могу установить его?
postgis
postgresql
ubuntu
shp2pgsql
Overflow012
источник
источник
Ответы:
Я также следовал методу установки OP PostgreSQL и PostGIS, а именно
sudo apt-get install postgresql-9.4-postgis-2.1 pgadmin3 postgresql-contrib-9.4
Я включил расширение PostGIS в базе данных, но не
shp2pgsql
работал, пока не сделалsudo apt-get install postgis
как указано в нижней части страницы. Почему
postgresql-9.4-postgis-2.1
не включаетshp2pgsql
и простоpostgis
делает .... Я не совсем уверен. Но PostgreSQL, PostGIS иshp2pgsql
все сейчас работают нормально.источник
При установке postgis в Linux обязательно установите клиент, так как сам postgis не установит исполняемый файл shp2pgsql.
Пока вы не установите клиент, в каталоге / usr / bin / есть ссылка на / etc / alternatives / postgis-shp2pgsql. Это просто пустая ссылка, пока клиентская установка не поместит исполняемые файлы в /usr/pgsql-9.4/bin.
Надеюсь, это поможет, оцените, что ФП задал вопрос несколько месяцев назад, и я надеюсь, что решение будет найдено раньше.
источник
Обычно
shp2pgsql
бинарный файл находится/usr/bin/shp2pgsql
при установке с пакетами, как в методе, который вы упомянули.Вы печатали
shp2pgsql
в командной строке? Обычно это работает из коробки.Если не,
Вы делали
updatedb
(командную строку для индексирования файлов) с последующим с,locate shp2pgsql
чтобы найти реальный двоичный путь?вы повторили вывод из командной строки, используя
echo $PATH
? И какой выход?источник
sudo locate shp2pgsql
пуста. Командаecho $PAHT
возвращается/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
sudo locate shp2pgsql
пусто, кажется, что вы не установилиshp2pgsql
должным образом (или вы забыли сделатьsudo updatedb
). Если имя пакета для дополнительного репозитория совпадает с именем по умолчанию, выполнение asudo apt-get install postgis
должно установить оба параметраshp2pgsql
иshp2pgsql-gui
. Этот ответ основан на том факте, что я предположил, что вы используете дистрибутив на основе Debian (Debian, Mint или Ubuntu)sudo shp2pgsql
иsudo apt-get install postgis
но держу ошибкуfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Попробуйте обновить первый, а затем перейти оттуда:
sudo apt-get update
.Кажется глупым, но у меня были проблемы с моими установками psql и postgis, и все это прояснилось, как только я обновился.
источник