डेस्कटॉप के लिए ArcGIS की पायथन विंडो से GDAL आयात करना?


10

मैं आर्कगिस 10.1 में पायथन विंडो का उपयोग करके कुछ पायथन कोड चलाने की कोशिश कर रहा हूं, जो दोनों arcpyऔर gdalमॉड्यूल का उपयोग करता है । हालाँकि, जब मैं प्रयास करता हूं और gdalमॉड्यूल को आयात करता हूं तो मुझे एक त्रुटि मिलती है:

ImportError: No module named osgeo

जाहिर है कि यह मॉड्यूल नहीं मिल रहा है, इसलिए मैंने अपनी मुख्य अजगर साइट-संकुल निर्देशिका को sys.pathसूची में जोड़ा है :

sys.path.append(r"C:\Python27\lib\site-packages")

हालाँकि, जब मैं प्रयास करता हूं और चलाता हूं import osgeoया from osgeo import gdalमुझे निम्न त्रुटि मिलती है:

Runtime error 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: DLL load failed: %1 is not a valid Win32 application.

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

बेशक, osgeoएक सामान्य गैर-आर्क पायथन विंडो से आयात करना ठीक काम करता है, और मैंने लिपियों के बीच तुलना की है sys.pathऔर os.environ['PATH']उन्हें अपडेट किया है ताकि वे समान हों, और यह समस्या को ठीक करने के लिए प्रतीत नहीं होता है।

क्या किसी के पास कोई विचार है कि मैं इसे कैसे काम कर सकता हूं?


मैंने पहले आर्कगिस अजगर इंटरफ़ेस में काम करने के लिए GDAL हो रहे लोगों की कहानियां सुनी हैं। कुछ प्रश्न: आपने GDAL को स्थापित करने के लिए किस विधि का उपयोग किया और क्या आप सुनिश्चित हैं कि आपके पास सही विंडो बाइंडिंग स्थापित हैं और सही तरीके से सेटअप हैं? और क्या आपने आर्किटिस अजगर स्थापित करने के लिए अजगर के बाँध स्थापित किए हैं?
जेम्स मिलनर

ऐसा लगता है कि आपके पास ArcGIS 10. द्वारा स्थापित संस्करण (2.6) के अलावा पायथन का एक और संस्करण (2.7) स्थापित है। क्या आपने 2.6 के लिए GDAL स्थापित किया है या आप इसे 2.7 के लिए स्थापित संस्करण में इंगित करने का प्रयास कर रहे हैं? क्या आपका 2.7 64-बिट इंस्टॉलेशन स्थापित करता है?
जेसन

@ जेसन: मैं आर्किस 10.1 का उपयोग कर रहा हूं, जो कि gis.stackexchange.com/questions/22271/… के अनुसार पायथन 2.7 का उपयोग करता है। क्या आपको पता है कि यह सही है?
रोबिन्ट

1
@ रॉबंट ने अजगर के लिए GDAL स्थापित करने के कई तरीके बताए हैं। शायद आप मुझे आपके द्वारा उपयोग किए गए निष्पादन योग्य से जोड़ सकते हैं और आपने इसे कैसे सेट किया?
जेम्स मिलनर

2
मैं सिर्फ सवाल हल करने में कामयाब रहा हूं - मैं ऊपर पढ़ने में चूक गया, जहां @ जैसन ने पूछा कि क्या मैं पायथन 2.7 की 64-बिट स्थापना का उपयोग कर रहा हूं। इसका उत्तर यह है कि मेरा मुख्य पायथन 2.7 स्थापित 64-बिट है, लेकिन आर्क की स्थापना 32-बिट है, इसलिए मुझे GDAL का 32-बिट संस्करण स्थापित करने की आवश्यकता थी, और अब यह ठीक काम करता है। सभी को धन्यवाद - मैं जवाब के रूप में अपना अंतिम समाधान जोड़ूंगा।
रोबिन

जवाबों:


5

@robintw ने टिप्पणियों में इसकी पुष्टि की है ।


ImportError: DLL load failed: %1 is not a valid Win32 application.

त्रुटि से, ऐसा लगता है कि आपका पायथन 2.7 इंस्टॉलेशन 64-बिट है। आपको पायथन और जीडीएएल के 32-बिट संस्करण को स्थापित करना होगा।

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