QGIS-2.8-PyQGISDeveloperCookbook-en(7)
时间:2025-03-11
时间:2025-03-11
为开发人员准备的文档,涵盖QGIS的多种功能实现和代码。
1.4PythonApplications
OftenwhenprocessingsomeGISdata,itishandytocreatesomescriptsforautomatingtheprocessinsteadof
doingthesametaskagainandagain.WithPyQGIS,thisisperfectlypossible—importtheqgis.coremodule,
initializeitandyouarereadyfortheprocessing.
OryoumaywanttocreateaninteractiveapplicationthatusessomeGISfunctionality—measuresomedata,
exportamapinPDForanyotherfunctionality.Theqgis.guimoduleadditionallybringsvariousGUIcompo-
nents,mostnotablythemapcanvaswidgetthatcanbeveryeasilyincorporatedintotheapplicationwithsupport
forzooming,panningand/oranyfurthercustommaptools.
1.4.1UsingPyQGISincustomapplication
Note:donotuseqgis.pyasanameforyourtestscript—Pythonwillnotbeabletoimportthebindingsasthe
script’snamewillshadowthem.
Firstofallyouhavetoimportqgismodule,setQGISpathwheretosearchforresources—databaseofprojections,
providersetc.Whenyousetpre xpathwithsecondargumentsetasTrue,QGISwillinitializeallpathswith
standarddirunderthepre xdirectory.CallinginitQgis()functionisimportanttoletQGISsearchforthe
availableproviders.
NowyoucanworkwithQGISAPI—loadlayersanddosomeprocessingor reupaGUIwithamapcanvas.
Thepossibilitiesareendless:-)
Whenyouaredonewithusing
QGISlibrary,callexitQgis()tomakesurethateverythingiscleanedup(e.g.
clearmaplayerregistryanddeletelayers):
1.4.2RunningCustomApplications
YouwillneedtotellyoursystemwheretosearchforQGISlibrariesandappropriate
Pythonmodulesiftheyare
notinawell-knownlocation—otherwisePythonwillcomplain:
Thiscanbe xedbysettingthePYTHONPATHenvironmentvariable.Inthefollowingcommands,qgispath
shouldbereplacedwithyouractualQGISinstallationpath:
onLinux:exportPYTHONPATH=/qgispath/share/qgis/python
onWindows:setPYTHONPATH=c:\qgispath\python
ThepathtothePyQGISmodulesisnowknown,howevertheydependonqgis_coreandqgis_guilibraries
(thePythonmodulesserveonlyaswrappers).Pathtotheselibrariesistypicallyunknownfortheoperatingsystem,
soyougetanimporterroragain
(themessagemightvarydependingonthesystem):
FixthisbyaddingthedirectorieswheretheQGISlibrariesresidetosearchpathofthedynamiclinker:
onLinux:exportLD_LIBRARY_PATH=/qgispath/lib
…… 此处隐藏:99字,全部文档内容请下载后查看。喜欢就下载吧 ……