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

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.

主站蜘蛛池模板: 吉林省| 芦山县| 西平县| 吉水县| 辉南县| 开远市| 嵊泗县| 比如县| 凤凰县| 闸北区| 凌云县| 科技| 平顶山市| 西乡县| 商城县| 万荣县| 文昌市| 论坛| 清原| 河西区| 通化市| 法库县| 铁力市| 通榆县| 兴化市| 武城县| 冕宁县| 增城市| 松阳县| 侯马市| 徐汇区| 通州区| 福建省| 普安县| 田东县| 蒙阴县| 任丘市| 本溪| 贺州市| 乌兰浩特市| 南安市|