PostgreSQL को .shp आयात कर रहा है?


14

मैं postgreSQL के लिए एक shp फ़ाइल आयात करना चाहता हूँ। पहले मैं sql फ़ाइल बनाता हूँ और फिर PostgreSQL चलाता हूँ। Sql फ़ाइल बनाने के लिए, मैं इस कमांड को विंडोज़ cmd में चलाता हूँ:

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

और फिर चलाएं:

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

लेकिन परिणाम है:

psql: worldcountries.sql: 21: ERROR: फ़ंक्शन addGeometrycolumn (अज्ञात, अज्ञात, अज्ञात, अज्ञात, अज्ञात, पूर्णांक) मौजूद नहीं है

जवाबों:


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

ऐसा लगता है कि PostGIS अभी तक स्थापित नहीं हुआ है। PostGIS Postgres का एक विस्तार है जो भौगोलिक फ़ाइलों के उपयोग की अनुमति देता है।

इसे स्थापित करें और आपका आयात ठीक काम करेगा।


3
और कमांड "CREATE EXTENSION postgis;"postgis.net/docs/… है
user30184

1
@ user30184 बिल्कुल सही है, लेकिन ध्यान दें कि यह PostgreSQL 9.1 या उच्चतर मानता है। (मेरे विचार से, किसी भी चीज़ का उपयोग करने का बहुत कम कारण है।)
jpmc26


1

जब आप PostgreSQL में PostGis एक्सटेंशन इंस्टॉल करते हैं तो आप बिल्ड इन इंपोर्ट प्लगइन का उपयोग कर सकते हैं। आप इसे मेनू में प्लगइन्स के तहत पा सकते हैं और इसे PostGIS शेपफाइल और DBF लोडर कहा जाता है।

घड़ी इस यूट्यूब एक उदाहरण के रूप में वीडियो


0

आप अपने psql में एक अलग प्रक्षेपण है; और प्रक्षेपण होना आवश्यक नहीं है। क्या कोई स्कीमा है जो आप आकृति फ़ाइल को जोड़ना चाहते हैं?

यह काम करना चाहिए:

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

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

3
-pके लिए psqlयह सर्वर का बंदरगाह बताता है, प्रक्षेपण नहीं। प्रक्षेपण SQL स्क्रिप्ट में एम्बेडेड हो जाता है। ठीकpsql व्यवहार के लिए मैनुअल देखें । इस स्थिति में, ओपी निर्दिष्ट पोर्ट डिफ़ॉल्ट पोर्ट नहीं है, इसलिए इसकी आवश्यकता है। मैं आम तौर पर एक प्रक्षेपण के बिना एक आकार के भंडारण के खिलाफ भी सलाह दूंगा। यह अनुमानों को बदलने की आपकी क्षमता को सीमित करता है, जो अधिक सटीक गणना प्राप्त करने के लिए सहायक हो सकता है।
jpmc26
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.