[Qgis-developer] Load attributes to a numpy array
Carson Farmer
carson.farmer at gmail.com
Thu Aug 13 11:16:04 EDT 2009
Hi dassouki,
> I was wondering if anyone can help me load an attribute column into a numpy
> array http://docs.scipy.org/doc/numpy/reference/arrays.html . I’m not
> necessary looking for the full code, rather than a pseudo code. For
> example, a layer that has columns A, B, C, I'd like to load all the values
> in column C into the array.
>
The only way to do this is to parse the layer's attribute table.
Something like the following:
id = provider.fieldNameIndex( 'field_name' )
rows = []
while provider.nextFeature( feat ):
data = feat.attributeMap()[ id ]
do something with row data *
row = [ data ]
rows.append( row )
array = numpy.array( rows )
* here data will be a QVariant,
so you'll have to do the appropriate
manipulation to get the data type
you want, if you want all the columns
you could probably unzip the dict of
attributes returned by attributeMap()
and simply set row equal to that,
just be careful, as dicts aren't stored
in any particular order. In this case
the keys are the columns ids
Cheers,
Carson
More information about the Qgis-developer
mailing list