после установки gdal 'ogr2ogr / ogrinfo / gdalinfo' не распознается как внутренняя или внешняя команда, работающая программа или командный файл - PullRequest
0 голосов
/ 05 января 2020

Я установил Homebrew и использовал его для установки GDAL из Ubuntu. После завершения установки я по-прежнему сталкиваюсь со следующей ошибкой: «ogr2ogr / ogrinfo / gdalinfo» не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл »каждый раз, когда я пытаюсь использовать ogr2ogr, gdalinfo --version или ogrinfo --help в командной строке. Если я запускаю их в Ubuntu, появляется сообщение об ошибке «команда не найдена».

Означает ли это, что установка работала некорректно? Вы бы посоветовали попробовать переустановить GDAL?

(Конечная цель - использовать ogr2ogr для импорта шейп-файла в postgres, в конечном итоге, выполняя ogr2ogr -f "PostgreSQL" PG:"host=myhost user=myloginname dbname=mydbname password=mypassword" mytabfile.tab в соответствии с рекомендациями документации.)

1 Ответ

0 голосов
/ 06 января 2020

Если вы просто пытаетесь импортировать шейп-файлы в PostgreSQL, вы можете взглянуть на shp2pgsql. Это довольно просто - если у вас есть возможность выбрать инструмент для импорта:)

Образец данных: TM_WORLD_BORDERS_SIMPL-0.3.zip

После распаковки вашего zip-файла просто выполните следующую строку в вашей консоли:

$ shp2pgsql -I -s 4326 TM_WORLD_BORDERS_SIMPL-0.3.shp table_world | psql -d mydb

Что необходимо учитывать:

  • table_world - имя целевой таблицы
  • psql -d mydb учитывает что текущий пользователь операционной системы имеет учетную запись в базе данных, пароль не требуется, база данных установлена ​​на локальном хосте и прослушивает стандартный порт 5432. Обратитесь к документации psql, чтобы создать собственную команду подключения, например, psql -U myuser -h 192.168.1.42 -p 5434 -d mydb для входа в систему с пользователем myuser в базе данных mydb на удаленном PostgreSQL в 192.168.1.42, который прослушивает порт 5434. Если ваш PostgreSQL не настроен на прием соединений, отметьте answer.
  • 4326 - это идентификатор WGS84, который является системой пространственной привязки этого шейп-файла. - и наиболее часто используемые в мире.

.. и ваши данные готовы для воспроизведения, например, импорт в QGIS:

enter image description here

Подробнее: psql, shp2pgsql tutorial

...