QGIS-2.8-PyQGISDeveloperCookbook-en(21)

时间:2025-03-11

为开发人员准备的文档,涵盖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文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219