PostGIS veritabanına shapefiles eklemek


30

Postgresql veritabanı oluşturmayı başardım ve daha sonra çalıştırdım.

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

Öyleyse şimdi doğrudan şekil dosyalarını alabilir miyim? Bu doğru komut mu?

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

Veritabanını nasıl yapılandıracağımdan emin değilim, bir tabloya ihtiyacı olmaz mıydı? Sonunda bir sürü form dosyası eklemeye ihtiyacım olacak ve bunun için bir komut var mı?

Yanıtlar:


49

Dene shp2pgsql. Temel sözdizimi şöyledir:

shp2pgsql -s SRID SHAPEFILE.shp ŞEMASI.TABLE | psql -h HOST -d VERİTABANI -U KULLANICI

Her zaman bu bulmak Pardus gelen http://www.bostongis.com yararlı. Biraz aşağı kaydırırsanız, verilerin nasıl yükleneceğine dair basit örnekler bulacaksınız.

Umarım yardımcı olur.


Ama benim masam yok. Hangi tablo ve şemayı oluşturmalıyım?
Sam007

1
Eğer bir göz atacak olursak Pardus , (-d|-a|-c|-p)tablolar için bayraklar. Hiçbir şey belirtmediyseniz, -cvarsayılan olarak seçecektir (yeni bir tablo oluşturur ve onu doldurur). Gelince SRID, bilmiyorum - bu verilerinizin projeksiyonuna bağlıdır. Eğer varsa .projshapefile ile geldi dosyasını, en 's projeksiyon kontrol edebilirsiniz prj2epsg.org/search . Umarım yardımcı olur ..

Cevabı @Haziq için teşekkürler. Sadece nereden geldiği konusunda kafam karıştı -c? Denedim shp2pgsql -s 4326 /var/www/geo/shapefile/PimaPine.shp -c public.Pima | psql -h localhost -d geospecies -U smaranhama bir hata alıyorum dpaste.com/834563
Sam007

Bence önce ve -csonra gitmesi gerekir .. Sözdizimi şöyledir . Hareketsiz pozisyonun hatalı pozisyonunu değiştirmek yanlış mı? -s 4326/var/www/geo/shapefile/PimaPine.shpshp2pgsql [OPTIONS] shapefile [schema.]table-c

Hayır, hala aynı hatayı. ROLLBACK hata dostumla da
yüzleşebilir

4

Ahh! Henüz yorum yapamıyorum!

Haziq’in yayınladığı şey, bunu yapmanın doğru komut yolu olacaktır Sam.

TABLO, adlandırmak istediğiniz her şeydir ve bir sorgudan çağırırken kullanılacak olan addır, tablo içe aktarıldığında oluşturulur.

Benim gibi tembelleşirseniz, şimdi tüm şekil dosyalarımın içe aktarılması için bir QGIS eklentisi olarak sunulan harika SPIT'i (PostGIS Alma Aracı için Shapefile) kullanıyorum. QuantumGIS’i daha önce OpenGeo’yu kullandığınızı söylediğiniz gibi kullandığınızı varsayarsak.


1
Sorun şu ki bir GUI yok. Uzaktan Ubuntu Sunucusu üzerinde çalışıyorum.
Sam007

SPIT uzaktan çalışacak, işten evime DB kadar her zaman yaparım, sadece psql'de oturum açmak için yaptığınız gibi bağlantı bilgilerini doldurmanız gerekir.
Roma,

Nasıl
yürütürüm

Yerel shp dosyalarını aldığınızı ve uzaktaki sunucunuza yerleştirdiğinizi varsayıyordum. QGIS'i başlatır ve yerel makinenizdeki SPIT eklentisini kullanır, uzak sunucunuzu bağlar ve yüklersiniz.
RomaH

Bütün shp
dosyam
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.