Django 2.1 - Installing Geospatial libraries

भू-स्थानिक पुस्तकालय स्थापित करना




django

भू-स्थानिक पुस्तकालय स्थापित करना

GeoDjango निम्नलिखित ओपन सोर्स जियोस्पेशियल लाइब्रेरी के लिए इंटरफेस का उपयोग करता है और / या प्रदान करता है:

कार्यक्रम विवरण अपेक्षित समर्थित संस्करण
GEOS ज्यामिति इंजन खुला स्रोत हाँ 3.6, 3.5, 3.4
PROJ.4 कार्टोग्राफिक लायब्रेरीज़ हाँ (केवल PostgreSQL और SQLite) 4.9, 4.8, 4.7, 4.6, 4.5, 4.4
GDAL भू-स्थानिक डेटा अमूर्त पुस्तकालय हाँ 2.2, 2.1, 2.0, 1.11, 1.10, 1.9
GeoIP आईपी-आधारित जियोलोकेशन लाइब्रेरी नहीं 2
PostGIS PostgreSQL के लिए स्थानिक विस्तार हाँ (केवल PostgreSQL) 2.4, 2.3, 2.2, 2.1
SpatiaLite SQLite के लिए स्थानिक विस्तार हाँ (केवल SQLite) 4.3, 4.2, 4.1

ध्यान दें कि इन पुस्तकालयों के पुराने या अधिक हाल के संस्करण भी GeoDjango के साथ पूरी तरह से ठीक काम कर सकते हैं। आपकी माइलेज भिन्न हो सकती है।

ध्यान दें

जिओजेडो के लिए जिओडजंगो इंटरफेस जिओ, जीडीएएल और जियोआईपी को स्वतंत्र रूप से इस्तेमाल किया जा सकता है। दूसरे शब्दों में, किसी भी डेटाबेस या सेटिंग्स फ़ाइल की आवश्यकता नहीं है - बस उन्हें django.contrib.gis से सामान्य रूप में आयात करें।

डेबियन / उबंटू पर, आपको निम्नलिखित पैकेजों को स्थापित करने की सलाह दी जाती है जो सीधे या निर्भरता से स्थापित होंगे, आवश्यक भू-स्थान

$ sudo apt-get install binutils libproj-dev gdal-bin

वैकल्पिक पैकेज पर विचार करने के लिए:

  • libgeoip1 : GeoIP समर्थन के लिए
  • python-gdal GDAL के अपने पायथन बाइंडिंग के लिए अजगर - रेखापुंज हेरफेर के लिए इंटरफेस शामिल हैं

यदि आप macOS या Windows पर हैं तो कृपया प्लेटफ़ॉर्म-विशिष्ट निर्देशों से परामर्श करें।

स्रोत से भवन

UNIX और GNU / Linux सिस्टम पर स्रोत से इंस्टॉल करते समय, कृपया स्थापना निर्देशों का सावधानीपूर्वक पालन करें, और दिए गए क्रम में लाइब्रेरी स्थापित करें। यदि स्थानिक डेटाबेस के रूप में MySQL या Oracle का उपयोग कर रहे हैं, केवल GEOS की आवश्यकता है।

ध्यान दें

लिनक्स प्लेटफार्मों पर, प्रत्येक लाइब्रेरी को स्थापित करने के बाद ldconfig कमांड चलाना आवश्यक हो सकता है। उदाहरण के लिए:

$ sudo make install
$ sudo ldconfig

ध्यान दें

स्रोत से सॉफ़्टवेयर संकलित करने के लिए macOS उपयोगकर्ताओं को Xcode स्थापित करना होगा।

GEOS

GEOS ज्यामितीय संचालन करने के लिए एक C ++ पुस्तकालय है, और जियोडजैंगो द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट आंतरिक ज्यामिति प्रतिनिधित्व है (यह "आलसी" ज्यामितीय के पीछे है)। विशेष रूप से, C API लाइब्रेरी का उपयोग किया जाता है (जैसे, libgeos_c.so ) ctypes का उपयोग करके सीधे पायथन से।

सबसे पहले, GEOS वेबसाइट से GEOS डाउनलोड करें और स्रोत संग्रह को न खोलें:

$ wget http://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
$ tar xjf geos-X.Y.Z.tar.bz2

इसके बाद, उस निर्देशिका में परिवर्तन करें जहाँ GEOS अनपैक किया गया था, कॉन्फ़िगर स्क्रिप्ट चलाएँ, संकलित करें और इंस्टॉल करें:

$ cd geos-X.Y.Z
$ ./configure
$ make
$ sudo make install
$ cd ..

समस्या निवारण

GEOS लाइब्रेरी नहीं मिल रही है

जब GeoDjango GEOS नहीं पा सकता है, तो यह त्रुटि उठाई गई है:

ImportError: Could not find the GEOS library (tried "geos_c"). Try setting GEOS_LIBRARY_PATH in your settings.

सबसे आम उपाय यह है कि आप अपनी लाइब्रेरी वातावरण सेटिंग्स को ठीक से कॉन्फ़िगर करें या अपनी सेटिंग में GEOS_LIBRARY_PATH सेट करें।

यदि GEOS के बाइनरी पैकेज (उदाहरण के लिए, उबंटू पर) का उपयोग कर रहे हैं, तो आपको Binutils इंस्टॉल करने की आवश्यकता हो सकती है।

GEOS_LIBRARY_PATH

यदि आपकी GEOS लाइब्रेरी गैर-मानक स्थान पर है, या आप सिस्टम के लाइब्रेरी पथ को संशोधित नहीं करना चाहते हैं, तो GEOS_LIBRARY_PATH सेटिंग को GEOS C लाइब्रेरी में पूर्ण पथ के साथ आपकी Django सेटिंग फ़ाइल में जोड़ा जा सकता है। उदाहरण के लिए:

GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'

ध्यान दें

सेटिंग को सी साझा लाइब्रेरी के लिए पूर्ण पथ होना चाहिए; दूसरे शब्दों में आप libgeos_c.so का उपयोग करना चाहते हैं, libgeos.so नहीं।

यह भी देखें कि मेरे लॉग GEOS से संबंधित त्रुटियों से भरे हैं

PROJ.4

PROJ.4 विभिन्न समन्वय संदर्भ प्रणालियों के लिए भू-स्थानिक डेटा परिवर्तित करने के लिए एक पुस्तकालय है।

सबसे पहले, PROJ.4 स्रोत कोड और डेटम शिफ्टिंग फ़ाइलों को डाउनलोड करें [1] :

$ wget http://download.osgeo.org/proj/proj-X.Y.Z.tar.gz
$ wget http://download.osgeo.org/proj/proj-datumgrid-X.Y.tar.gz

इसके बाद, स्रोत कोड संग्रह को अनटार करें, और nad उपनिर्देशिका में डेटम शिफ्टिंग फ़ाइलों को निकालें। यह विन्यास से पहले किया जाना चाहिए:

$ tar xzf proj-X.Y.Z.tar.gz
$ cd proj-X.Y.Z/nad
$ tar xzf ../../proj-datumgrid-X.Y.tar.gz
$ cd ..

अंत में, PROJ.4 को कॉन्फ़िगर करें, बनाएं और इंस्टॉल करें:

$ ./configure
$ make
$ sudo make install
$ cd ..

GDAL

GDAL एक उत्कृष्ट ओपन सोर्स जियोस्पेशियल लाइब्रेरी है जिसमें अधिकांश वेक्टर और रैस्टर स्थानिक डेटा स्वरूपों को पढ़ने के लिए समर्थन है। वर्तमान में, GeoDjango केवल GDAL क्षमताओं [2] GDAL समर्थन करता है। GDAL के निर्माण से पहले GEOS और PROJ.4 को स्थापित किया जाना चाहिए।

सबसे पहले नवीनतम GDAL रिलीज़ संस्करण डाउनलोड करें और संग्रह को अनारक्षित करें:

$ wget http://download.osgeo.org/gdal/X.Y.Z/gdal-X.Y.Z.tar.gz
$ tar xzf gdal-X.Y.Z.tar.gz
$ cd gdal-X.Y.Z

कॉन्फ़िगर करें, बनाएं और इंस्टॉल करें:

$ ./configure
$ make # Go get some coffee, this takes a while.
$ sudo make install
$ cd ..

ध्यान दें

क्योंकि जियोडजैंगो का अपना पायथन इंटरफ़ेस है, पूर्ववर्ती निर्देश GDAL के अपने पायथन बाइंडिंग का निर्माण नहीं करते हैं। configure करते समय --with-python ध्वज को जोड़कर बाइंडिंग का निर्माण किया जा सकता है। GDAL के बाइंडिंग के बारे में अधिक जानकारी के लिए GDAL / OGR को पायथन में देखें।

यदि आपको कोई समस्या है, तो कृपया सुझाव और समाधान के लिए समस्या निवारण अनुभाग देखें।

समस्या निवारण

GDAL लाइब्रेरी नहीं मिल रही है

जब GeoDjango GDAL लाइब्रेरी नहीं ढूँढ सकता है, तो अपनी लाइब्रेरी वातावरण सेटिंग्स कॉन्फ़िगर करें या अपनी सेटिंग में GDAL_LIBRARY_PATH सेट करें।

GDAL_LIBRARY_PATH

यदि आपकी GDAL लाइब्रेरी एक गैर-मानक स्थान पर है, या आप सिस्टम के लाइब्रेरी पथ को संशोधित नहीं करना चाहते हैं, तो GDAL_LIBRARY_PATH सेटिंग को GDAL लाइब्रेरी में पूरे पथ के साथ आपके Django सेटिंग फ़ाइल में जोड़ा जा सकता है। उदाहरण के लिए:

GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'

फुटनोट

[1] डेटा को स्थानांतरित करने और कुछ अनुमानों से डेटा को स्थानांतरित करने के लिए डेटम शिफ्टिंग फ़ाइलों की आवश्यकता होती है। उदाहरण के लिए, Google प्रोजेक्शन (900913 या 3857) के लिए PROJ.4 स्ट्रिंग को केवल अतिरिक्त डेटम शिफ्टिंग फ़ाइलों में शामिल null ग्रिड फ़ाइल की आवश्यकता है। अब शिफ्टिंग फ़ाइलों को स्थापित करना आसान है, फिर बाद में उनकी अनुपस्थिति के कारण होने वाली समस्या को दूर करना।
[2] विशेष रूप से, GeoDjango OGR लाइब्रेरी, GDAL के एक घटक के लिए सहायता प्रदान करता है।