Ogr2ogr dosyasını PostgreSQL sürücüsünü içerecek şekilde nasıl güncelleyebilirim?


28

Uzak bir PostGres kurulumuna bir shapefile yüklemek için ogr2ogr kullanmaya çalışıyorum. Bu komutu çalıştırdığımda:

celenius:~ celenius$ ogr2ogr -f PostgreSQL PG:"host=255.34.00.00 user=postgres dbname=mydb password=***" Dropbox/data/roads.shp;

Aşağıdaki hata iletisini aldım:

Unable to find driver `PostgreSQL'.
The following drivers are available:
  -> `ESRI Shapefile'
  -> `MapInfo File'
  -> `UK .NTF'
 ...
  -> `SVG'
  -> `CouchDB'
  -> `Idrisi'
  -> `ARCGEN'
  -> `SEGUKOOA'
  -> `SEGY'

(Bazı sürücüleri ilgili olmadıkları için atladım). PostgreSQL'i içerecek şekilde ogr2ogr dosyasını güncelleyebileceğim bir yol var mı? OS 10.7.4 ile Mac kullanıyorum

Yanıtlar:


25

Homebrew kullanarak şunları yapmalısınız:

demlemek gdal yüklemek - postgresql ile

veya daha eski gdal sürümleriyle:

demlemek yükleme gdal - postgres ile

daha önce demlenmiş, ancak postgresql desteği olmayan bir gdal taktıysanız,

demlemek kaldırma gdal


2
küçük bir düzeltme:brew install gdal --with-postgresql
BenjaminGolder

QGIS halen GDAL homebrew ile çalışacak mı?
Simbamangu

@Simbamangu Sure: homebrew sadece bir paket yöneticisidir, bu yüzden dağıtdığı GDAL sürümleri, kendinizi kaynaktan inşa edebileceğinizle aynıdır
Andrea Cremaschi

2
Windows makinesinde nasıl devam edersiniz? Ideal bir
sanalenv

2
Lütfen pencereler için çözüm nedir?
Denis Stephanov

5

Kendinizi biraz acıdan kurtarın ve OSX için Kyngchaos paketli ikilik / çerçevelerini kullanın .

HomeBrew kullanmak başka bir seçenek .


AFAIK kullandığım şey buydu. Başka bir şekilde kurmadım.
djq

Bu dosya var mı: /Library/Frameworks/GDAL.framework/Versions/Current/Libraries/libpq.dylib ve 'hangi ogrinfo' komutu terminalden ne döndürür?
Ragi Yaser Burhum,

which ogrinfodöner /usr/local/bin/ogrinfo. QGis'i kurmadan önce GDAL ve KyngChaos'dan diğerlerini kurdum.
djq

Bahsettiğim libpq dosyası bu konumda var mı?
Ragi Yaser Burhum 12:12

1
Libpq.dylib orada değilse (PostgreSQL istemci kütüphanesi), OGR kütüphanesi yüklenmeyecektir.
Ragi Yaser Burhum,

4

gdal kaynağını derlediğinizi varsayarsak, gdal yapılandırırken sadece --with-pg = / path / to / pg_config komutunu ekleyin.

./configure -with-pg=/path/to/pg_config ...

./make clean

./make

./make install

EDIT: Not: pg_configDiğer PostgreSQL ikili dosyalarınızla aynı dizinde olması gerektiğine psqldikkat edin, vb. Gibi. Ayrıca, aşağıdaki kullanıcı259060'ın cevabındaki bu ayrıntıya dikkat edin: uygun bir postgresql-server-dev sürümünün kurulu olduğunu doğrulamalısınız (örneğin Ubuntu kullanımı apt list --installed | grep postgresql-server-devbulunmazsa apt-cache search postgresql-server-devilgili paketi kullanın ve kurun sudo apt-get install postgresql-server-dev.


Ben "PostgreSQL desteği: evet" olsun görünüyor içinde ./configureçıktı, ama çalışıyor ogr2ogr -f PostgreSQLverir ERROR 1: Unable to find driver 'PostgreSQL'. Ayrıca, hiçbir PostgreSQLyerogrinfo --formats
adamczi

kurulumdan sonra ldconfig'i çalıştırdınız mı?
dmci

1
Hatayı işlemesi gereken postgresql-server-dev ,, kurulumuyla ilgili cevaba bakınız.
thayer

2

Aynı mesajı Windows’dayken de aldım.

Bağlantı dizgisi etrafında kullandığım tırnak türlerinden (tek veya çift) şikayetçi. Alıntıları değiştirmek sorunu çözdü.


2

"PostgreSQL desteği: hayır" gibi bir şey görebilme ihtimaliniz vardır, kaynağını "--with-pg = / path / to / pg_config" kullanarak yapılandırmış olsanız bile, sudo apt- komutunu çalıştırın. postgresql-server-dev-all komutunu kurun ve ardından tekrar deneyin.


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.