[Qgis-user] QGIS2.8 How are the features ordered when using layer.selectedFeatures()

Raymond Nijssen r.nijssen at terglobo.nl
Mon Jun 3 23:52:06 PDT 2019


Hi,

I found two ways of doing that, I think the second is faster but not 
sure. (And I think they will both be slower than the random order code 
you were using before, but the order will remain.)

Good luck,
Raymond


---

layer = iface.activeLayer()

ids = layer.selectedFeatureIds()
print(ids)

# first option, loop all features and test if the id is in
# the selected ids:

for feat in layer.getFeatures():
     if feat.id() in ids:
         print(feat)


# second option, loop selected ids and get their feature:

ids.sort()
print(ids)

for id in ids:
     feat = layer.getFeature(id)
     print(feat)





On 04-06-19 06:01, Zhang Qun wrote:
> Thanks Nyall. Then is there anyway i can get the original order? My data 
> is road lane points and the sequence order represent the driving direction.
> 
> On Tue, Jun 4, 2019, 11:58 AM Nyall Dawson <nyall.dawson at gmail.com 
> <mailto:nyall.dawson at gmail.com>> wrote:
> 
>     On Tue, 4 Jun 2019 at 13:38, Zhang Qun <zhangq.rhy at gmail.com
>     <mailto:zhangq.rhy at gmail.com>> wrote:
>      >
>      > Hi,
>      > Does anyone know how the features are ordered when you extract by
>     selectedFeatures()? Is it in the same order as the input delimited
>     text file? I'm asking because sometimes I found the looping does not
>     give me the same order as in my data source.
> 
>     It's an unordered set - i.e. effectively random.
> 
>     Nyall
> 
> 
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
> 


More information about the Qgis-user mailing list