QGIS-2.8-PyQGISDeveloperCookbook-en(21)

时间:2026-01-17   来源:未知    
字号:

为开发人员准备的文档,涵盖QGIS的多种功能实现和代码。

5.3.3Iteratingoverasubsetoffeatures

Ifyouwanttoiterateoveragivensubsetoffeaturesinalayer,suchasthosewithinagivenarea,youhavetoadd

aQgsFeatureRequestobjecttothegetFeatures()call.Here’sanexample

Ifyouneedanattribute-based lterinstead(orinaddition)ofaspatialonelikeshownintheexampleabove,you

canbuildanQgsExpressionobjectandpassittotheQgsFeatureRequestconstructor.Here’sanexample

Therequestcanbeusedtode nethedataretrievedforeachfeature,sotheiteratorreturnsallfeatures,butreturns

partialdataforeachofthem.

Tip:Ifyouonlyneedasubsetoftheattributesoryoudon’tneedthegeometryinformations,youcansigni cantlyincreasethespeedofthefeaturesrequestbyusingQgsFeatureRequest.NoGeometry agorspecifyinga

subsetofattributes(possiblyempty)likeshownintheexampleabove.

5.4ModifyingVectorLayers

Mostvectordataproviderssupportediting

oflayerdata.Sometimestheysupportjustasubsetofpossibleediting

ethecapabilities()functionto ndoutwhatsetoffunctionalityissupported

Byusinganyofthefollowingmethodsforvectorlayerediting,thechangesaredirectlycommittedtotheunderly-

ingdatastore(a le,databaseetc).Incaseyouwouldliketodoonlytemporarychanges,skiptothenextsection

thatexplainshowtodomodi cationswitheditingbuffer.

Note:IfyouareworkinginsideQGIS(eitherfromtheconsoleorfromaplugin),itmightbenecessarytoforcearedrawofthemapcanvasinordertoseethechangesyou’vedonetothegeometry,tothestyleortotheattributes:

5.4.1AddFeatures

CreatesomeQgsFeatureinstancesandpassalistofthemtoprovider’saddFeatures()method.Itwill

returntwovalues:result(true/false)andlistofaddedfeatures(theirIDissetbythedatastore)

QGIS-2.8-PyQGISDeveloperCookbook-en(21).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:19 元/月 原价:99元
低至 0.1 元/份 每月下载300
全站内容免费自由复制
VIP包月下载
特价:19 元/月 原价:99元
低至 0.1 元/份 每月下载300
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)