# Qgis 31 Read Features From Output Layer

> Sub-skill of qgis: 3.1 Read Features from Output Layer (+2).

- Skill: `vamseeachanta/qgis-31-read-features-from-output-layer` (Agent Skill)
- Install (CLI): `npx skillmds@latest add vamseeachanta/qgis-31-read-features-from-output-layer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vamseeachanta/qgis-31-read-features-from-output-layer/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: vamseeachanta (https://skillmd.com/u/vamseeachanta)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vamseeachanta/qgis-31-read-features-from-output-layer

---


# 3.1 Read Features from Output Layer (+2)

## 3.1 Read Features from Output Layer


```python
from qgis.core import QgsVectorLayer

layer = QgsVectorLayer("/data/output.gpkg", "result", "ogr")
features = []
for feat in layer.getFeatures():
    attrs = feat.attributeMap()
    geom = feat.geometry()
    features.append({
        "id":   feat.id(),
        "geom": geom.asWkt(),
        "attrs": {k: v for k, v in attrs.items()}
    })
```


## 3.2 Export to GeoJSON for Downstream Use


```python
from qgis.core import QgsVectorFileWriter, QgsCoordinateTransformContext

error, msg, _, _ = QgsVectorFileWriter.writeAsVectorFormatV3(
    layer,
    "/data/wells.geojson",
    QgsCoordinateTransformContext(),
    QgsVectorFileWriter.SaveVectorOptions()
)
if error != QgsVectorFileWriter.WriterError.NoError:
    raise RuntimeError(f"Export failed: {msg}")
```


## 3.3 Raster Statistics


```python
from qgis.analysis import QgsRasterCalculator

# Read raster stats (min/max/mean depth)
from qgis.core import QgsRasterLayer
raster = QgsRasterLayer("/data/bathymetry.tif", "bathy")
provider = raster.dataProvider()
stats = provider.bandStatistics(1)   # band 1
print(f"Depth range: {stats.minimumValue:.1f} to {stats.maximumValue:.1f} m")
```

---

