Додавання форм-файлів до бази даних PostGIS


30

Мені вдалося створити базу даних Postgresql, і тоді я виконав,

createlang plpgsql geospecies
psql -d geospecies -f postgis.sql
psql -d geospecies -f spatial_ref_sys.sql

Тож тепер я можу безпосередньо імпортувати файли форм? Це буде правильна команда,

ogr2ogr -f PostgreSQL PG:"host=server_ip user=username dbname=dbname password=password" yourshapefile.shp;

Я не впевнений, як структурувати базу даних, чи не знадобиться їй таблиця? Мені зрештою потрібно буде додати купу завантажених файлів, і тому є команда для цього?

Відповіді:


49

Спробуйте shp2pgsql. Основний синтаксис такий:

shp2pgsql -s SRID SHAPEFILE.shp SCHEMA.TABLE | psql -h HOST -d ДАТАБАЗА -У КОРИСТУВАЧ

Я завжди вважаю цей чіткий лист із http://www.bostongis.com корисним. Якщо трохи прокрутити вниз, ви знайдете прості приклади завантаження даних.

Сподіваюся, це допомагає.


Але в мене немає столу. Яку таблицю та схему я повинен створити?
Sam007

1
Якщо ви подивитеся на шпаргалку , чи (-d|-a|-c|-p)є прапори для таблиць. Якщо ви нічого не вказали, він вибере -cза замовчуванням (створює нову таблицю і заповнює її). Що стосується SRID, я не знаю - це залежить від прогнозування ваших даних. Якщо у вас є .projфайл, який постачається з файлами форм , ви можете перевірити його проекцію на prj2epsg.org/search . Сподіваюсь, що це допомагає ..

дякую за відповідь @Haziq. Я лише розгублений, куди -cприходить? Я спробував, shp2pgsql -s 4326 /var/www/geo/shapefile/PimaPine.shp -c public.Pima | psql -h localhost -d geospecies -U smaranhале отримую помилку dpaste.com/834563
Sam007

Я думаю, що -cслід і після -s 4326, і раніше /var/www/geo/shapefile/PimaPine.shp.. Синтаксис є shp2pgsql [OPTIONS] shapefile [schema.]table. Чи змінюється положення -cнерухомих наслідків помилки?

Немає все тієї ж помилки. Це може також зіткнутися з помилкою ROLLBACK чувак до цього, gis.stackexchange.com/questions/41807/…
Sam007

4

А-а! Ще не можете коментувати!

Те, що розмістив Хазік, було б правильним способом зробити це Сем.

ТАБЛИЦЯ - це все те, що ви хочете назвати, і це буде ім'я, яке слід використовувати при виклику з запиту, таблиця буде створена при імпорті.

Якщо ви стаєте ледачим, як я, я просто використовую дивовижний SPIT (Shapefile to PostGIS Tool Import Tool), доступний як плагін QGIS, щоб імпортувати всі мої файли форм вже зараз. Якщо припустити, що ви використовуєте QuantumGIS, як ви вже говорили, що раніше використовували OpenGeo.


1
проблема в тому, що у мене немає графічного інтерфейсу. Я працюю над сервісом Ubuntu віддалено.
Sam007

SPIT працюватиме віддалено, я весь час працюю від роботи до моєї домашньої БД, вам просто потрібно заповнити інформацію про підключення, як ви робили для входу в psql.
RomaH

Як це виконати
Sam007

Ну я припускав, що ви приймаєте локальні файли shp і ставите їх на віддалений сервер. Ви запустили QGIS і використали плагін SPIT на локальній машині, підключите віддалений сервер і завантажте.
RomaH

Весь мій файл shp знаходиться на сервері
Sam007
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.