Go to content Go to navigation Go to search

geo-spatial.org: An elegant place for sharing geoKnowledge & geoData

Căutare



RSS / Atom / WMS / WFS


Contact


Lista de discuții / Forum


Publicat cu Textpattern


Comunitatea:

Conferința FOSS4G 2017

PyQGIS din PyCharm IDE

de Mircea Stanciu

Publicat la 03 Jul 2016 | Secţiunea: Tutoriale | Categoria: /

PyQGIS este echivalentul ArcPy din suita GIS Esri. Atât PyQGIS cât și ArcPy ne oferă posibilitatea de a ne eficientiza procesele GIS prin utilizarea limbajului Python.

Un avantaj al ArcPy-ului este faptul că este ceva mai ușor de configurat deoarece suita Esri vine la pachet cu un mediu Python propriu. Instalarea ArcGIS-ului ne oferă un Python IDLE dedicat (Integrated Development and Learning Environment), un editor din care putem să și rulăm funcții din biblioteca ArcPy.

Pentru PyQGIS procesul e un pic mai complicat. QGIS ne oferă la rândul lui un mediu Python propriu, doar că mai trebuiesc urmați ceva pași până vom putea folosi PyQGIS. Nu avem un IDLE dedicat, dar am putea folosi shell-ul special OsGeo4W.

După ce deschidem OsGeo4W putem rula comanda “python” pentru a porni o sesiune Python.

Dacă primim informații despre biblioteca Python și o linie nouă >>> înseamnă că deja rulăm cu succes o sesiune. De exemplu am putea importa biblioteci din pachetul Qgis, precum “gdal”

  import gdal

Dacă se trece la o linie nouă >>> atunci comanda a rulat cu succes și putem continua și folosi funcții din biblioteca GDAL

Pentru PyQGIS putem chema biblioteca qgis.core, doar că probabil vom primi o eroare de genul

Eroarea poate fi reparată dacă setăm câteva căi în System Environment, dar efortul nu merită, am avea acces la un flux în care rulăm linie cu linie funcții sau am edita într-un editor un script dar am reveni în Shell pentru a rula scriptul.

Aici PyCharm IDE face minuni. Avantajele sunt numeroase:

  • Putem instala usor biblioteci auxiliare de Python (SQL, web, procesare imagini, Excel);
  • Sintaxa este colorată;
  • Recunoaște erori și ne recomandă corecturi;
  • Autocompletează multe funcții;
  • Edităm și rulăm scriptul într-un singur ecran/program;
  • Putem crea și rula în paralel proiecte ce rulează versiuni diferite de Python.

Iată cum am reușit să folosesc PyQGIS în PyCharm.

Pasul 1 - instalarea.

Am descărcat si instalat QGIS, versiunea ESSEN la momentul redactării acestui articol, 32 biți. Am descărcat și instalat PyCharm Community.

Pasul 2 - setarea mediului

Sub Program Files(x86) putem găsi versiunea QGIS (diferă numele în funcție de versiune). În folderul QGIS vom găsi un folder "bin" unde vom căuta un fișier numit "qgis.bat". În cazul meu calea este: "C:\Program Files (x86)\QGIS Essen\bin".

Creem o copie a acestui fișier cu o denumire relevantă. Noul document va porni PyCharm în mediul QGIS, deci putem folosi o denumire precum "PycharmQGIS".

Acum trebuie să modificăm puțin conținutul. Deschidem fișierul cu Notepad elevat (deschis cu drepturi de administrator).

Ultima linie (start "QGIS"... ) o ștergem complet și o înlocuim cu:

  SET PYCHARM="C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.1.3\bin\pycharm.exe"

  set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python;
  Set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Python27\Lib\site-packages;

  set QGISPATH=%OSGEO4W_ROOT%\apps\qgis

  start "PyCharm aware of QGIS" /B %PYCHARM% %*

Atenție la locația și versiunea pycharm.exe, aici trebuie să scrieți calea specifică sistemului vostru.

Obținem un nou fișier ce va ști să pornească Pycharm cu bibliotecile Python din mediul QGIS.

Salvăm și dăm un dublu-click (dacă nu se întâmplă nimic încearcă cu Run As Administrator).

Pornit astel, PyCharm va ști să facă uz de PyQGIS. Trebuie să ne asigurăm însă că rulează versiunea de Python necesară! Creem un nou proiect și alegem ca interpretator Python-ul din QGIS (cel mai probabil apare transparent în lista).

După crearea proiectului trebuie să așteptăm câteva minute pentru ca PyCharm să indexe și să ne pregătească mediul dorit.

După indexare creem un fișier nou .py, importăm qgis.core și începem să dezvoltăm script-ul mult dorit. Cum spuneam ceva mai sus, PyCharm ne oferă posibilitățile de a dezvolta și rula în același timp scripturi.

Spor la scriptat!

Discută articolul (0 comentarii)

Categorii