官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 天气| 德化县| 芦溪县| 大竹县| 安龙县| 青浦区| 横峰县| 远安县| 马边| 金沙县| 龙陵县| 克什克腾旗| 仁怀市| 柯坪县| 高唐县| 苍溪县| 阿拉善右旗| 墨江| 佛坪县| 达州市| 韶关市| 密山市| 武山县| 饶河县| 阜阳市| 奈曼旗| 亳州市| 东乡族自治县| 诸城市| 深水埗区| 历史| 绥芬河市| 三明市| 根河市| 浦东新区| 稻城县| 淄博市| 双城市| 体育| 南充市| 余姚市|