Examining vector layer features

Once a vector layer is loaded, you may want to investigate the data. In this recipe, we'll load a vector point layer from a shapefile and take a look at the x and y values of the first point.

Getting ready

We'll use the same New York City Museums layer from Loading a vector layer from a file recipe in this chapter. You can download the layer from https://geospatialpython.googlecode.com/svn/NYC_MUSEUMS_GEO.zip.

Unzip that file and place the shapefile's contents in a directory named nyc within your qgis_data directory, within your root or home directory.

How to do it...

In this recipe, we will load the layer, get the features, grab the first feature, obtain its geometry, and take a look at the values for the first point:

  1. First, load the layer:
    layer = QgsVectorLayer("/qgis_data/nyc/NYC_MUSEUMS_GEO.shp", "New York City Museums", "ogr")
    
  2. Next, get an iterator of the layer's features:
    features = layer.getFeatures()
    
  3. Now, get the first feature from the iterator:
    f = features.next()
    
  4. Then, get the feature's geometry:
    g = f.geometry()
    
  5. Finally, get the point's values:
    g.asPoint()
    
  6. Verify that the Python console output is similar to the following QgsPoint object:
    (-74.0138,40.7038)
    

How it works...

When you access a layer's features or geometry using the previously demonstrated methods, PyQGIS returns a Python iterator. The iterator data structure allows Python to work efficiently with very large data sets without keeping the entire dataset in memory.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset