Esri एप्लिकेशन के बिना PostGIS में जियोडेटाबेस डेटा माइग्रेट करना?


39

क्या आप मुझे बता सकते हैं कि एसेरी ऐप इंस्टॉल करने के बिना मैं पोस्टगैस में जियोडेटाबेस डेटा कैसे लोड कर सकता हूं?

मैंने जो समाधान ऑनलाइन पाया वह आर्कडीआईएस का उपयोग करके जीडीबी को एसएचपी में बदलने और फिर एसएचजी को पोस्टगिस में आयात करने के बारे में बात की।


उत्तर देने के लिए आपका धन्यवाद। एफएमई एक वैध समाधान हो सकता है, लेकिन हम इसे बहुत महंगा समाधान मानते हैं। हमें लगता है कि प्रवास के लिए 14-दिवसीय परीक्षण अवधि अपर्याप्त है। क्या किसी के पास GDAL स्क्रिप्ट या GeoKettle जैसे अन्य उपकरणों के साथ अनुभव है? सादर।
सोनऑफबॉक्‍स

FME डेस्कटॉप माइग्रेशन डेटा के लिए सबसे अच्छा समाधान है

जवाबों:


37

मैं यह अपने ग्राहकों के लिए हर समय करता हूं।

अपने डेटा को FileGDB या Shapefiles में डंप करें फिर निम्न कमांड निष्पादित करें:

ESRI शेपफाइल्स के लिए:

ogr2ogr -f "PostgreSQL" PG: "dbname = mydbname उपयोगकर्ता = postgres" myshapefile.shp

FileGDB के लिए:

ogr2ogr -f "PostgreSQL" PG: "dbname = mydbname उपयोगकर्ता = mygrileGDB.gdb"

FileGDB के लिए, आपको यह सुनिश्चित करने की आवश्यकता है कि FileGDB ड्राइवर स्थापित है। आप इसे करें:

ogrinfo - सुधार

जो आपको यह स्थापित करने के लिए FileGDB को दिखाना चाहिए।


क्या आप OGR के लिए FileGDB ड्राइवर स्थापित करने के बारे में अधिक जानकारी दे सकते हैं?
रयानडाल्टन

7
विंडोज के लिए सबसे आसान तरीका trac.osgeo.org/osgeo4w फ़ाइलगैड पैकेज है (मैं इसे अगले सप्ताह बग फिक्स के साथ अपडेट करने वाला हूं)। आप लिनक्स या मैक पर हैं, तो आप निम्न स्क्रिप्ट मैं मक्खी पर यह निर्माण के लिए उपयोग करें संशोधित कर सकते हैं (install_filegdb देखें) gist.github.com/2955440
रागी यासिर Burhum

@RyanDalton और मुझे बताएं कि यह कैसे हो जाता है :)
रागी यासर बुरहम

1
इस प्रक्रिया के साथ मेटाडेटा क्या होता है? उदाहरण के लिए एफजीडीसी मेटाडेटा जो सिर्फ समन्वय प्रणाली आदि से अधिक है
ओलिवर बर्डेकिन

ogr2ogr इसे डिफ़ॉल्ट रूप से नहीं लिखेगा , लेकिन कोड को देखकर, मैं देखता हूं कि एक विशेष "गेटलेयरडिफ़िनेशन" कमांड है जिसे आप इस जानकारी को पढ़ने के लिए SQL प्रॉम्प्ट में निष्पादित कर सकते हैं। ogr2ogr -f "PostgreSQL" PG:"dbname=mydbname user=postgres" SanDiegoData.gdb -sql "GetLayerDefinition Parcels"
ESB

7

मैंने कोशिश नहीं की है इसलिए यह सत्यापित नहीं कर सकता है कि यह काम करता है, लेकिन फाइल जियोडैटेबेस एपीआई आपको फाइल जियोडैटाबेस से एसएचपी (और थेंस पोस्टगिस) तक डेटा निर्यात करने की अनुमति दे सकता है। प्रलेखन कहता है:

With the API you can... Read and write data

धन्यवाद स्टीफन, यह जानने के लिए उपयोगी है कि एक एपीआई है, लेकिन हम शायद यह कोशिश करेंगे कि अगर वास्तव में कोई उपकरण नहीं है जो लोगों ने लिखा है जो यह स्वचालित रूप से करता है।
गेरसन गालांग

6
यदि आपके पास फ़ाइल GEODATabase API है, तो आप सीधे GDAL का उपयोग करके परिवर्तित कर सकते हैं: trac.osgeo.org/gdal/wiki/FileGDB
johanvdw

2
कुछ सावधानी: ESRI विकसित एपीआई, और इस पर आधारित उपकरण, केवल फ़ाइल GDB (.gdb) के साथ काम करेंगे या आर्कगिस 10 या नए में उपयोग करने के लिए परिवर्तित किए जाएंगे। पहले के व्यक्तिगत GDB (.mdb) संस्करणों के लिए समर्थन पहले के प्रोग्रामिंग प्रयासों से आता है और डेटा और टूल के आधार पर काम कर सकता है।
वी स्टुअर्ट Foote

@johanvdw मैंने कुछ दिनों पहले trac.osgeo.org/gdal/wiki/FileGDB कुछ दिन पहले अपना प्रश्न पोस्ट करने से पहले कोशिश की थी क्योंकि उस लिंक पर दिए गए निर्देश मेरे लिए भी काम नहीं करते थे। मैंने अपने Ubuntu 10.04 पर नवीनतम gdal 1.8.1 की कोशिश की, लेकिन वह फ़ाइल GeoDB प्लगइन को gdal में स्थापित नहीं कर पाया। मैंने "--with-fgdb = / usr / local / FileGDB_API" और "--with-fgdb = / usr / स्थानीय" को आज़माया क्योंकि उनका दस्तावेज़ीकरण यह निर्दिष्ट करने में स्पष्ट नहीं था कि मुझे "with-fgdb" पैरामीटर का क्या उपयोग करना चाहिए लेकिन कुछ भी काम नहीं किया।
गर्सन गैलांग

GCG: उसी पेज को फॉर्म करें: (जहाँ भी आपने FileGDB_API_ <version> .tar.gz निकाले) के साथ (usr / local / FileGDB_API बदलें)
johanvdw

5

Esri फ़ाइल जियोडैटेबेस API केवल 10.x का उपयोग करके बनाई गई फ़ाइल जियोडैटबेस के साथ काम करती है - पुराने संस्करण GDAL, QGIS या किसी अन्य चीज़ के साथ काम नहीं करेंगे जो खुले फ़ाइल जियोडैटेबेस एपीआई पर निर्भर करता है । पुराने व्यक्तिगत जियोडैट डेटाबेस एमएस एक्सेस पर निर्भर करते हैं और पाठक और कोड उपलब्ध हैं।

यदि आपके पास 10.x फ़ाइल जियोडैटेबेस है तो आप FileGDB से परत पढ़ सकते हैं और एक एकल ogr2ogr कमांड ( प्रलेखन देखें ) के साथ PostGIS में लोड कर सकते हैं :

ogr2ogr -overwrite -skipfailures -f "PostgreSQL" PG:"host=myhost user=myuser dbname=mydb password=mypass" "C:\somefolder\BigFileGDB.gdb" "MyFeatureClass"

ऐसा करने के लिए मुझे VS2010 एक्सप्रेस संस्करण भी डाउनलोड करना था और अपने खुद के GDAL, ogr प्लगइन और 1.3 खुली फ़ाइल जियोडेटाबेस एपीआई का निर्माण करना था।

मैं जो करने में असमर्थ रहा हूं, वह एक पुराने 9.x फ़ाइल जियोडेटाबेस को esri सॉफ़्टवेयर (मेरे लिए उपलब्ध नहीं) का उपयोग किए बिना माइग्रेट कर रहा है - मैं अतीत से नहीं मिल सकता ...

HRESULT = -2147220965, errorText = "जियोडाटाबेस की यह रिलीज़ अमान्य है या पुरानी है।"

... जब खुले एपीआई के साथ 9.x "जीडीबी" खोलने की कोशिश की जाती है जो केवल 10.x "जीडीबी" का समर्थन करता है।


OpenFileGDB के साथ ogr2ogr के नवीनतम संस्करण (मध्य 2014) कम से कम ESRI फ़ाइल जियोडैट डेटाबेस के पुराने संस्करण को पढ़ सकते हैं
c.gutierrez

2

हालांकि मैंने इसे अभी तक खुद करने की कोशिश नहीं की है, मैं बस इस ट्यूटोरियल में आया था (जो आकार-विहीन है -> पोस्टजीआईएस) जो " स्पैटियल डेटा इंटीग्रेटर " नामक ओपन-सोर्स जियोएटीएल सॉफ्टवेयर का उपयोग करता है । मुझे यकीन नहीं है कि यह Esri GDB का समर्थन करता है या नहीं, लेकिन यह देखने के लिए आगे की जांच के लायक हो सकता है कि क्या आप ESRI उत्पादों का उपयोग किए बिना GDB से PostGIS के समान रूपांतरण बनाने के लिए इस उत्पाद का उपयोग कर सकते हैं।

अन्य ईटीएल पैकेज जो मैंने सुना है वे सेफ सोफवेयर ( $, बहुत लोकप्रिय) और जियो केटल (ओपन-सोर्स) से एफएमई हैं , साथ ही स्पैटियल ईटीएल विकिपीडिया पेज पर कई और संदर्भ भी हैं ।

संपादित करें : थोड़ा आगे खुदाई करने पर, ऐसा लगता है कि एसडीआई सीधे एग्रीगीडी के पढ़ने का समर्थन नहीं करता है , लेकिन उपलब्ध ओजीआर प्रारूप को पढ़ सकता है


2

FWIW काम के लिए एक GDB बनाने के लिए चल रहा है postgis लोडर। यह नवीनतम GDAL ट्रंक पर निर्भर करता है जिसमें GDB बाइंडिंग है। संकलित करने और खुद को आजमाने का मौका नहीं मिला, लेकिन PostGIS 2.0 के बाहर होने से पहले आशा है।

बाहर की जाँच करें - http://trac.osgeo.org/postgis/browser/spike/pramsey/postgis2fgdb

आप संभवतः पॉल को PostGIS समाचार समूह पर यह जानने के लिए कि वह इस के साथ कहां है, दे सकते हैं। http://www.postgis.org/mailman/listinfo/postgis-users

व्यक्तिगत GeoDatabase प्रारूप के लिए, GDAL उस ठीक पढ़ सकता है और यही वह है जो मैं आमतौर पर व्यक्तिगत जियोडब से डेटा निर्यात करने के लिए उपयोग करता हूं।


0

मेरे अपने प्रश्न का उत्तर देते हुए कि मैंने यहाँ कुछ समय पहले पोस्ट किया था ...

एक अन्य विकल्प जो मुझे ऑनलाइन मिला (ऊपर दिए गए सुझावों के अलावा) में pgdbf ( https://github.com/kstrauser/pgdbf ) का उपयोग करना है जो SQL स्क्रिप्ट को डंप करता है जिसे आप तब मैन्युअल रूप से पोस्टग्रेज में निगलना कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.