Book Image

QGIS Python Programming Cookbook

Book Image

QGIS Python Programming Cookbook

Overview of this book

Table of Contents (16 chapters)
QGIS Python Programming Cookbook
About the Author
About the Reviewers

Adding a set of attributes to a vector layer

Each QGIS feature has two parts, the geometry and the attributes. In this recipe, we'll add an attribute for a layer from an existing dataset.

Getting ready

We will use a point shapefile with museum data for New York City, which you can download as a ZIP file from

Extract this shapefile to the /qgis_data/nyc directory.

How to do it...

A feature must have geometry, but it does not require attributes. So, we will create a new feature, add some attributes, and then add everything to the layer, as follows:

  1. Start QGIS.

  2. From the Plugins menu, select Python Console.

  3. First, load the layer and validate it:

    vectorLyr =  QgsVectorLayer('/qgis_data/nyc/NYC_MUSEUMS_GEO.shp', 'Museums' , "ogr")
  4. Next, access the layer's data provider so that we can get the list of fields:

    vpr = vectorLyr.dataProvider()
  5. Now, create a point geometry, which in this case is a new museum:

    pnt = QgsGeometry...