GDAL aus dem Python-Fenster von ArcGIS for Desktop importieren?

10

Ich versuche, Python-Code mithilfe des Python-Fensters in ArcGIS 10.1 auszuführen, das sowohl das arcpyals auch das gdalModul verwendet. Wenn ich jedoch versuche, das gdalModul zu importieren , wird folgende Fehlermeldung angezeigt:

ImportError: No module named osgeo

Offensichtlich kann das Modul nicht gefunden werden, daher habe ich mein Hauptverzeichnis für Python-Site-Pakete zur sys.pathListe hinzugefügt :

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

Wenn ich jedoch versuche, es auszuführen, import osgeooder from osgeo import gdaldie folgende Fehlermeldung angezeigt wird:

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.

Ich habe im Internet verschiedene Ressourcen gefunden, die über ähnliche Probleme zu sprechen scheinen (zum Beispiel diese Frage und dieser Forumsbeitrag , aber sie scheinen veraltet zu sein (dh ArcGIS 10.1 nicht zu verwenden) oder nicht ganz dasselbe zu fragen Frage.

Natürlich osgeofunktioniert das Importieren aus einem normalen Nicht-Arc-Python-Fenster einwandfrei. Ich habe die Skripte verglichen sys.pathund os.environ['PATH']zwischen ihnen aktualisiert und sie so aktualisiert, dass sie identisch sind, und es scheint das Problem nicht zu beheben.

Hat jemand eine Idee, wie ich das zum Laufen bringen kann?

robintw
quelle
Ich habe schon früher Geschichten von Leuten gehört, die GDAL dazu gebracht haben, in der ArcGIS-Python-Oberfläche zu arbeiten. Einige Fragen: Mit welcher Methode haben Sie GDAL installiert und sind Sie sicher, dass die richtigen Windows-Bindungen installiert und korrekt eingerichtet sind? Und haben Sie die Python-Bindungen für die ArcGIS-Python-Installation installiert?
James Milner
Es sieht so aus, als hätten Sie zusätzlich zu der von ArcGIS 10 installierten Version (2.6) eine andere Version (2.7) von Python installiert. Haben Sie GDAL auch für 2.6 installiert oder versuchen Sie, auf die für 2.7 installierte Version zu verweisen? Ist Ihre 2.7-Installation eine 64-Bit-Installation?
Jason
@Jason: Ich verwende ArcGIS 10.1, das laut gis.stackexchange.com/questions/22271/… Python 2.7 verwendet. Wissen Sie, ob das richtig ist?
Robintw
1
@Robintw Es gibt zahlreiche Möglichkeiten, GDAL für Python zu installieren. Vielleicht könnten Sie mich mit der von Ihnen verwendeten ausführbaren Datei verknüpfen und wie Sie sie einrichten?
James Milner
2
Ich habe es gerade geschafft, die Frage zu lösen - ich habe es verpasst, das obige Bit zu lesen, in dem @Jason gefragt hat, ob ich eine 64-Bit-Installation von Python 2.7 verwende. Die Antwort ist, dass meine Hauptinstallation von Python 2.7 64-Bit ist, die Installation von Arc jedoch 32-Bit. Daher musste ich eine 32-Bit-Version von GDAL installieren, und jetzt funktioniert es einwandfrei. Vielen Dank an alle - ich werde meine endgültige Lösung als Antwort hinzufügen.
Robintw

Antworten:

5

@robintw hat es in den Kommentaren bestätigt .


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

Aufgrund des Fehlers scheint Ihre Python 2.7-Installation 64-Bit zu sein. Sie müssen die 32-Bit-Version von Python und GDAL installieren.

RK
quelle