Django 2.1 - GeoDjango Installation

GeoDjango स्थापना




django

GeoDjango स्थापना

अवलोकन

सामान्य तौर पर, GeoDjango स्थापना की आवश्यकता होती है:

  1. पायथन और Django
  2. स्थानिक डेटाबेस
  3. भू-स्थानिक पुस्तकालय स्थापित करना

आवश्यकताओं और स्थापना निर्देशों में से प्रत्येक के लिए विवरण नीचे दिए गए अनुभागों में दिए गए हैं। इसके अलावा, इसके लिए प्लेटफ़ॉर्म-विशिष्ट निर्देश उपलब्ध हैं:

स्रोत का उपयोग करें

क्योंकि GeoDjango ओपन सोर्स जियोस्पेशियल सॉफ्टवेयर तकनीक में नवीनतम का लाभ उठाता है, पुस्तकालयों के हाल के संस्करण आवश्यक हैं। यदि आपके मंच के लिए बाइनरी पैकेज उपलब्ध नहीं हैं, तो स्रोत से स्थापना की आवश्यकता हो सकती है। स्रोत से पुस्तकालयों को संकलित करते समय, कृपया निर्देशों का बारीकी से पालन करें, खासकर यदि आप एक शुरुआत कर रहे हैं।

आवश्यकताएँ

पायथन और Django

क्योंकि जिओजंगो को Django के साथ शामिल किया गया है, कृपया Django की स्थापना निर्देशों को देखें कि कैसे स्थापित किया जाए।

स्थानिक डेटाबेस

PostgreSQL (PostGIS के साथ), MySQL (ज्यादातर MyISAM इंजन के साथ), Oracle, और SQLite (SpatiaLite के साथ) वर्तमान में समर्थित स्थानिक डेटाबेस हैं।

ध्यान दें

पोस्टजीआईएस की सिफारिश की जाती है, क्योंकि यह सबसे परिपक्व और सुविधा संपन्न खुला स्थानिक डेटाबेस है।

जियोडजैंगो इंस्टॉलेशन के लिए आवश्यक भू-स्थानिक पुस्तकालयों का उपयोग किए गए स्थानिक डेटाबेस पर निर्भर करता है। निम्नलिखित पुस्तकालय की आवश्यकताओं, समर्थित संस्करणों और समर्थित डेटाबेस में से प्रत्येक के लिए किसी भी नोट को सूचीबद्ध करता है:

डेटाबेस लाइब्रेरी आवश्यकताएँ समर्थित संस्करण टिप्पणियाँ
PostgreSQL GEOS, GDAL, PROJ.4, पोस्टगिस 9.4+ PostGIS की आवश्यकता है।
माई एसक्यूएल GEOS, GDAL 5.6+ ओजीसी-अनुपालन नहीं; सीमित कार्यक्षमता
आकाशवाणी GEOS, GDAL 12.1+ XE समर्थित नहीं है।
SQLite GEOS, GDAL, PROJ.4, स्पैटियालाइट 3.7.15+ SpatiaLite 4.1+ की आवश्यकता है

PostgreSQL / PostGIS / GEOS / GDAL संभावित संयोजनों के लिए OSGeo Wiki पर इस तुलना मैट्रिक्स को भी देखें।

स्थापना

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

डेटाबेस स्थापना

DATABASES कॉन्फ़िगरेशन

स्थानिक बैकएंड में से एक के लिए ENGINE सेटिंग सेट करें।

INSTALLED_APPS django.contrib.gis जोड़ें

अन्य Django कंट्रिब एप्लिकेशन की तरह, आपको अपनी सेटिंग में केवल django.contrib.gis को INSTALLED_APPS में जोड़ना होगा। यह इतना है कि gis टेम्पलेट स्थित हो सकते हैं - यदि ऐसा नहीं किया जाता है, तो भौगोलिक व्यवस्थापक या केएमएल साइटमैप जैसी विशेषताएं ठीक से काम नहीं करेंगी।

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

यदि आप अपनी समस्या का समाधान यहाँ नहीं पा रहे हैं तो समुदाय में भाग लें! आप ऐसा कर सकते हैं:

  • #geodjango पर #geodjango IRC चैनल से जुड़ें। कृपया धैर्य रखें और विनम्र रहें - जबकि आपको तत्काल प्रतिक्रिया नहीं मिल सकती है, जैसे ही वे इसे देखेंगे, कोई आपके प्रश्न का उत्तर देने का प्रयास करेगा।
  • GeoDjango मेलिंग सूची पर अपना प्रश्न पूछें।
  • अगर आपको लगता है कि बग है तो Django trac पर एक टिकट दर्ज करें। समस्या का पूर्ण विवरण, उपयोग किए गए संस्करण और घटक को "GIS" के रूप में निर्दिष्ट करना सुनिश्चित करें।

पुस्तकालय पर्यावरण सेटिंग्स

अब तक, GeoDjango को स्थापित करते समय सबसे आम समस्या यह है कि बाहरी साझा पुस्तकालय (जैसे, GEOS और GDAL के लिए) स्थित नहीं हो सकते हैं। [1] आमतौर पर, इस समस्या का कारण यह है कि ऑपरेटिंग सिस्टम को उस निर्देशिका के बारे में पता नहीं होता है जहाँ स्रोत से निर्मित पुस्तकालय स्थापित किए गए थे।

सामान्य तौर पर, लाइब्रेरी चर को प्रति-उपयोगकर्ता आधार पर एक पर्यावरण चर सेट करके, या पूरे सिस्टम के लिए लाइब्रेरी पथ को कॉन्फ़िगर करके निर्धारित किया जा सकता है।

LD_LIBRARY_PATH पर्यावरण चर

एक उपयोगकर्ता इस पर्यावरण चर को उन पुस्तकालय पथों को अनुकूलित करने के लिए सेट कर सकता है जिन्हें वे उपयोग करना चाहते हैं। स्रोत से निर्मित सॉफ्टवेयर के लिए विशिष्ट पुस्तकालय निर्देशिका /usr/local/lib । इस प्रकार, LD_LIBRARY_PATH चर में शामिल होने के लिए /usr/local/lib आवश्यकता है। उदाहरण के लिए, उपयोगकर्ता अपने बैश प्रोफाइल में निम्नलिखित स्थान दे सकता है:

export LD_LIBRARY_PATH=/usr/local/lib

सिस्टम लाइब्रेरी पथ सेट करना

जीएनयू / लिनक्स सिस्टम पर, आमतौर पर /etc/ld.so.conf में एक फ़ाइल होती है, जिसमें अन्य निर्देशिका में फ़ाइलों से अतिरिक्त पथ शामिल हो सकते हैं, जैसे /etc/ld.so.conf.d । रूट उपयोगकर्ता के रूप में, ld.so.conf में एक नई लाइन पर कस्टम लाइब्रेरी पथ (जैसे /usr/local/lib ld.so.conf ) ld.so.conf । यह ऐसा करने का एक उदाहरण है:

$ sudo echo /usr/local/lib >> /etc/ld.so.conf
$ sudo ldconfig

OpenSolaris उपयोगकर्ताओं के लिए, सिस्टम लाइब्रेरी पथ को crle उपयोगिता का उपयोग करके संशोधित किया जा सकता है। वर्तमान कॉन्फ़िगरेशन को देखने के लिए कोई विकल्प नहीं है और नए लायब्रेरी पथ के साथ सेट करने के लिए crle -l का उपयोग करके crle -l चलाएँ। सिस्टम लाइब्रेरी पथ को संशोधित करते समय बहुत सावधान रहें:

# crle -l $OLD_PATH:/usr/local/lib

binutils स्थापित करें

GeoDjango पुस्तकालयों की खोज करने के लिए ( ctypes.util पायथन मॉड्यूल से) find_library फ़ंक्शन का उपयोग करता है। find_library दिनचर्या GNU / Linux सिस्टम पर एक साझा लाइब्रेरी को सत्यापित करने के लिए objdump ( find_library पैकेज का हिस्सा) नामक एक कार्यक्रम का उपयोग करता है। इस प्रकार, यदि आपके लिनक्स सिस्टम पर binutils स्थापित नहीं किया गया है, तो पायथन के ctypes आपके पुस्तकालय को खोजने में सक्षम नहीं हो सकते हैं, भले ही आपका पुस्तकालय पथ सही ढंग से सेट किया गया हो और भू-स्थानिक पुस्तकालय पूरी तरह से बनाए गए हों।

binutils पैकेज को निम्नलिखित आदेश का उपयोग करते हुए डेबियन और उबंटू सिस्टम पर स्थापित किया जा सकता है:

$ sudo apt-get install binutils

इसी तरह, Red Hat और CentOS सिस्टम पर:

$ sudo yum install binutils

मंच-विशिष्ट निर्देश

मैक ओ एस

मैकओएस के लिए उपलब्ध विभिन्न प्रकार की पैकेजिंग प्रणालियों के कारण, उपयोगकर्ताओं के पास जियोडजंगो को स्थापित करने के लिए कई अलग-अलग विकल्प हैं। ये विकल्प हैं:

इस खंड में पायथन सॉफ्टवेयर फाउंडेशन द्वारा प्रदान किए गए पैकेजों से Python उन्नत संस्करण को स्थापित करने के निर्देश भी शामिल हैं, हालांकि, इसकी आवश्यकता नहीं है।

अजगर

हालांकि मैकओएस स्थापित पायथन के साथ आता है, उपयोगकर्ता पायथन सॉफ्टवेयर फाउंडेशन द्वारा प्रदान किए गए फ्रेमवर्क इंस्टालर का उपयोग कर सकते हैं। इंस्टॉलर का उपयोग करने का एक फायदा यह है कि आंतरिक ऑपरेटिंग सिस्टम के उपयोग के लिए macOS का पायथन "प्राचीन" रहेगा।

ध्यान दें

आपको अपनी .profile फ़ाइल में PATH परिवेश चर को संशोधित करने की आवश्यकता होगी ताकि पायथन को कमांड-लाइन में दर्ज करते समय पायथन के नए संस्करण का उपयोग किया जाए:

export PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH

Postgres.app

Postgres.app एक स्टैंडअलोन PostgreSQL सर्वर है जिसमें PostGIS एक्सटेंशन शामिल है। आपको Homebrew साथ gdal और libgeoip स्थापित करने की भी आवश्यकता होगी।

Postgres.app को स्थापित करने के बाद, अपने .bash_profile में निम्नलिखित जोड़ें ताकि आप कमांड-लाइन से पैकेज के प्रोग्राम चला सकें। आपके द्वारा स्थापित Postgres.app में PostgreSQL के संस्करण के साथ XY बदलें:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin

यदि आप एक टर्मिनल प्रॉम्प्ट पर which psql टाइप करके सही तरीके से सेट किया गया है, तो आप जांच सकते हैं।

homebrew

Homebrew स्रोत से बायनेरिज़ और पैकेज बनाने के लिए "व्यंजनों" प्रदान करता है। यह MacOS पर चलने वाले Macintosh कंप्यूटर पर GeoDjango पूर्वापेक्षाओं के लिए रेसिपी प्रदान करता है। क्योंकि Homebrew अभी भी स्रोत से सॉफ्टवेयर बनाता है, Xcode आवश्यक है।

सारांश:

$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip

KyngChaos संकुल

विलियम Kyngesburye भू-स्थानिक पुस्तकालय बाइनरी पैकेजों की एक संख्या प्रदान करता है जो कि स्रोत से संकलन किए बिना मैकओएस पर GeoDjango स्थापित करने के लिए सरल बनाते हैं। हालाँकि, पायथन डेटाबेस एडेप्टर psycopg2 (PostGIS के लिए) के संकलन के लिए Xcode अभी भी आवश्यक है।

ध्यान दें

SpatiaLite उपयोगकर्ताओं को अतिरिक्त निर्देशों के लिए पैकेजों को स्थापित करने के बाद macOS- विशिष्ट निर्देश अनुभाग से परामर्श करना चाहिए।

इसके लिए फ्रेमवर्क पैकेज डाउनलोड करें:

  • UnixImageIO
  • PROJ
  • GEOS
  • SQLite3 (SpatiaLite लाइब्रेरी शामिल है)
  • GDAL

वे जिस क्रम में ऊपर सूचीबद्ध हैं, पैकेजों को स्थापित करें, क्योंकि GDAL और SQLite संकुल को उनके सामने सूचीबद्ध संकुल की आवश्यकता होती है।

बाद में, आप PostgreSQL और PostGIS के लिए KyngChaos बाइनरी पैकेज भी स्थापित कर सकते हैं।

बाइनरी पैकेज स्थापित करने के बाद, आप कमांड-लाइन से पैकेज प्रोग्राम को चलाने में सक्षम होने के लिए अपने .profile को निम्न जोड़ना चाहेंगे:

export PATH=/Library/Frameworks/UnixImageIO.framework/Programs:$PATH
export PATH=/Library/Frameworks/PROJ.framework/Programs:$PATH
export PATH=/Library/Frameworks/GEOS.framework/Programs:$PATH
export PATH=/Library/Frameworks/SQLite3.framework/Programs:$PATH
export PATH=/Library/Frameworks/GDAL.framework/Programs:$PATH
export PATH=/usr/local/pgsql/bin:$PATH
psycopg2

KyngChaos बायनेरिज़ को स्थापित करने और अपने PATH संशोधित करने के बाद, जैसा कि ऊपर वर्णित है, psycopg2 को निम्न कमांड का उपयोग करके स्थापित किया जा सकता है:

$ pip install psycopg2

ध्यान दें

यदि आपके पास pip नहीं है, तो इसे स्थापित करने के लिए स्थापना निर्देशों का पालन करें।

गुप्तचर

कर्ट श्वेहर ने काफी बेहतर किया है कि वे फिन्क पैकेज सिस्टम के उपयोगकर्ताओं के लिए जियोडजैंगो पैकेज तैयार करें। विभिन्न पैकेज उपलब्ध हैं ( django-gis शुरू), यह निर्भर करता है कि आप पायथन के किस संस्करण का उपयोग करना चाहते हैं।

MacPorts

MacPorts का उपयोग MacOS चलाने वाले कंप्यूटर पर GeoDjango पूर्वापेक्षाएँ स्थापित करने के लिए किया जा सकता है। क्योंकि MacPorts अभी भी स्रोत से सॉफ़्टवेयर बनाता है, Xcode आवश्यक है।

सारांश:

$ sudo port install postgresql93-server
$ sudo port install geos
$ sudo port install proj
$ sudo port install postgis
$ sudo port install gdal +geos
$ sudo port install libgeoip

ध्यान दें

आपको अपने .profile में PATH को भी संशोधित करना होगा ताकि MacPorts प्रोग्राम कमांड-लाइन से सुलभ हों:

export PATH=/opt/local/bin:/opt/local/lib/postgresql93/bin

इसके अलावा, DYLD_FALLBACK_LIBRARY_PATH सेटिंग जोड़ें ताकि पुस्तकालयों को पायथन द्वारा पाया जा सके:

export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql93

विंडोज

क्रमिक रूप से निम्न अनुभागों के माध्यम से आगे बढ़ें ताकि विंडोज पर जियोडजैंगो को स्थापित किया जा सके।

अजगर

अजगर स्थापित करें

PostgreSQL

सबसे पहले, EnterpriseDB वेबसाइट से नवीनतम PostgreSQL 9.x इंस्टॉलर डाउनलोड करें। डाउनलोड करने के बाद, बस इंस्टॉलर को चलाएं, ऑन-स्क्रीन निर्देशों का पालन करें, और डिफ़ॉल्ट विकल्प रखें जब तक कि आप उन्हें बदलने के परिणामों को नहीं जानते।

ध्यान दें

पोस्टग्रेएसक्यूएल इंस्टॉलर एक नया विंडोज उपयोगकर्ता बनाता है जो 'पोस्टग्रेज सर्विस अकाउंट' हो सकता है और डेटाबेस सुपरसुसर को postgres करता है। दोनों अकाउंट्स के लिए पासवर्ड सेट करने के लिए आपको एक बार संकेत दिया जाएगा - इसे याद रखना सुनिश्चित करें!

जब इंस्टॉलर पूरा हो जाता है, तो यह बाहर निकलने पर एप्लिकेशन स्टैक बिल्डर (एएसबी) को लॉन्च करने के लिए कहेगा - इसे चेक करते रहें, क्योंकि PostGIS को स्थापित करना आवश्यक है।

ध्यान दें

यदि सफलतापूर्वक स्थापित किया गया है, तो PostgreSQL सर्वर हर बार सिस्टम में एक विंडोज सेवा के रूप में शुरू होने की पृष्ठभूमि में चलेगा। एक PostgreSQL 9.x स्टार्ट मेनू समूह बना होगा और इसमें ASB के साथ-साथ 'SQL Shell' के शॉर्टकट भी होंगे, जो psql कमांड विंडो लॉन्च करेगा।

PostGIS

एप्लिकेशन स्टैक बिल्डर (इंस्टॉलर के बाहर चलाने के लिए, ‣ प्रोग्राम्स Application पोस्टग्रेक्यूएस 9. एक्स ) के भीतर से, ड्रॉप डाउन मेनू से पोर्ट 5432 पर पोस्टग्रेक्यूएल डाटाबेस सर्वर 9.x का चयन करें। अगला, श्रेणियाँ at स्थानिक एक्सटेंशन मेनू ट्री का विस्तार करें और PostgreSQL 9.x के लिए PostGIS XY का चयन करें।

अगला क्लिक करने के बाद, आपको अपना दर्पण चुनने के लिए प्रेरित किया जाएगा, PostGIS डाउनलोड हो जाएगा, और PostGIS इंस्टॉलर शुरू हो जाएगा। इंस्टॉल के दौरान केवल डिफ़ॉल्ट विकल्पों का चयन करें (उदाहरण के लिए, डिफ़ॉल्ट PostGIS डेटाबेस बनाने के लिए विकल्प को अनचेक न करें)।

ध्यान दें

आपको 'डेटाबेस कनेक्शन सूचना' संवाद में अपने postgres डेटाबेस सुपरसुअर पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा।

psycopg2

psycopg2 Python मॉड्यूल Python और PostgreSQL डेटाबेस के बीच इंटरफ़ेस प्रदान करता है। पायथन और PostgreSQL के अपने संस्करण के लिए नवीनतम विंडोज इंस्टॉलर डाउनलोड करें और डिफ़ॉल्ट सेटिंग्स का उपयोग करके चलाएं। [2]

OSGeo4W

OSGeo4W इंस्टॉलर GeoDjango द्वारा आवश्यक PROJ.4, GDAL और GEOS लाइब्रेरी स्थापित करना आसान बनाता है। सबसे पहले, OSGeo4W इंस्टॉलर डाउनलोड करें, और इसे चलाएं। एक्सप्रेस वेब-जीआईएस इंस्टॉल चुनें और अगले पर क्लिक करें। 'संकुल चुनें' सूची में, सुनिश्चित करें कि GDAL चयनित है; MapServer और Apache भी डिफ़ॉल्ट रूप से सक्षम हैं, लेकिन GeoDjango द्वारा आवश्यक नहीं हैं और सुरक्षित रूप से अनियंत्रित हो सकते हैं। अगला क्लिक करने के बाद, पैकेज स्वचालित रूप से डाउनलोड और इंस्टॉल हो जाएंगे, जिसके बाद आप इंस्टॉलर से बाहर निकल सकते हैं।

Windows वातावरण को संशोधित करें

GeoDjango का उपयोग करने के लिए, आपको अपने विंडोज सिस्टम Path अपने पायथन और OSGeo4W निर्देशिकाओं को जोड़ना होगा, साथ ही GDAL_DATA और PROJ_LIB पर्यावरण चर भी बनाने GDAL_DATAcmd.exe साथ निष्पादन योग्य कमांड का निम्नलिखित सेट, इसे सेट करेगा:

set OSGEO4W_ROOT=C:\OSGeo4W
set PYTHON_ROOT=C:\Python3X
set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal
set PROJ_LIB=%OSGEO4W_ROOT%\share\proj
set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT%\bin
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"

ध्यान दें

इन आदेशों को निष्पादित करने के लिए प्रशासक विशेषाधिकारों की आवश्यकता होती है। ऐसा करने के लिए, कमांड के साथ एक bat स्क्रिप्ट बनाएं, इसे राइट-क्लिक करें, और व्यवस्थापक के रूप में रन चुनें। सेटिंग्स को प्रभावी करने के लिए आपको फिर से लॉग आउट और लॉग इन करना होगा।

ध्यान दें

यदि आप पायथन या OSGeo4W इंस्टॉलेशन निर्देशिकाओं को अनुकूलित करते हैं, तो आपको OSGEO4W_ROOT और / या PYTHON_ROOT चर को संशोधित करने की आवश्यकता होगी।

Django और डेटाबेस स्थापित करें

अंत में, अपने सिस्टम पर Django इंस्टॉल करें।

फुटनोट

[1] साझा पुस्तकालयों का पता लगाने के लिए ctypes.util से find_library() रूटीन का उपयोग करता है।
[2] psycopg2 विंडोज इंस्टालर को जेसन एरिकसन द्वारा पैक और रखरखाव किया जाता है।