Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

i look for solution to get the unique values of an attribute of a vector layer. what is the best way in python qgis to get the unique values of one distinct attribute? I work with qgis 1.8.0.

share|improve this question

1 Answer 1

Python's sets are handy for finding unique values. For example:

>>> set(range(4) + range(5) + range(6))
set([0, 1, 2, 3, 4, 5])

Try something like this (pyqgis 1.8):

values = set()
layer.select()
for feature in layer:
    index = layer.fieldNameIndex(ATTRNAME)
    values.add(feature.attributeMap()[index].toInt())

Pyqgis 2.0:

values = set()
for feature in layer.getFeatures():
    values.add(feature[ATTRNAME])
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                  <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2015 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a>                   with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2015.1.30.2262\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Geographic Information Systems Stack Exchange works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\""], "copyright__copyright__copyright": ["ething like this (pyqgis 1.8):\n\nvalues = set()\nlayer.select()\nfor feature in layer:\n    index = layer.fieldNameIndex(ATTRNAME)\n    values.add(feature.attributeMap()[index].toInt())\n\nPyqgis 2.0:\n\nvalues = set()\nfor feature in layer.getFeatures():\n    values.add(feature[ATTRNAME])\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}