PostgreSQL'e .shp içe aktarılıyor mu?


14

PostgreSQL'e bir shp dosyası almak istiyorum. Önce sql dosyası oluşturup PostgreSQL'i çalıştırıyorum. Sql dosyası oluşturmak için bu komutu windows cmd'de çalıştırıyorum:

shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql

ve sonra çalıştırın:

psql -d postgres -U postgres -p 4321 -f worldcountries.sql

ama sonuç:

psql: worldcountries.sql: 21: HATA: işlev addGeometrycolumn (bilinmeyen, bilinmeyen, bilinmeyen, bilinmeyen, bilinmeyen, tamsayı) mevcut değil

Yanıtlar:


13
ERROR: **function addGeometrycolumn**(unknown, unknown, unknown, unknown,unknown, integer) does not exist

Görünüşe göre PostGIS henüz kurulu değil. PostGIS, coğrafi dosyaların kullanımına izin veren Postgres'in bir uzantısıdır.

Kurun ve içe aktarma işleminiz iyi çalışır.


3
Ve komut "CREATE EXTENSION postgis;"postgis.net/docs/… .
user30184

1
@ user30184 Kesinlikle doğru, ancak bunun PostgreSQL 9.1 veya üstü olduğunu varsaydığını unutmayın. (Bence daha eski bir şey kullanmanın çok az nedeni var.)
jpmc26


1

PostgreSQL'de PostGis uzantısını yüklediğinizde yüklenen yerleşik içe aktarma eklentisini kullanabilirsiniz. Menüdeki Eklentiler altında bulabilirsiniz ve PostGIS Shapefile ve DBF yükleyicisi olarak adlandırılır

bu youtube videosunu örnek olarak izleyin


0

Psql'nizde farklı bir projeksiyon var; ve bir projeksiyona sahip olmak gerekli değildir. Şekil dosyasını eklemek istediğiniz bir şema var mı?

Bu çalışmalı:

shp2pgsql -s 4326 -I worldcountries.shp schema.worldcountries > dr_worldcountries.sql

psql -f worldcountries.sql -h [host] -d [database] -U postgres

3
-pÇünkü psqlprojeksiyona değil, sunucunun portunu söyler. Yansıtma SQL komut dosyasına gömülür. Davranışları için iyi kılavuza bakınız psql. Bu durumda, OP'nin belirttiği bağlantı noktası varsayılan bağlantı noktası değildir, bu nedenle gereklidir. Ben de genellikle bir projeksiyon olmadan bir şeklin depolanmasına karşı tavsiye ederim. Bu, daha doğru hesaplamalar elde etmek için yardımcı olabilecek projeksiyonları değiştirme yeteneğinizi sınırlar.
jpmc26
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.