# Gewaspercelen (BRP) en referentiepercelen

Elk jaar geven boeren bij RVO aan welk gewas er op hun percelen staat. Uit die opgave maakt RVO de Basisregistratie Gewaspercelen: elk perceel als vlak, met gewas, gewascode en categorie (grasland, bouwland, landschapselement, natuurterrein …), peildatum 15 mei. De API bevat de definitieve jaargang 2025 met 2.331.084 percelen; de downloads gaan terug tot 2009 en er staat al een concept voor 2026. Daarnaast de referentiepercelen: de afbakening van alle landbouwgrond (2.358.200 vlakken), vroeger het Agrarisch Areaal Nederland. Via PDOK als OGC API, WFS, WMS en GeoPackage.

- Uitgever: Rijksdienst voor Ondernemend Nederland, Publieke Dienstverlening Op de Kaart
- Gebied: Nederland · Laagste detail: perceel
- Periode: 2009 tot en met 2025 (download), 2025 in de API, concept 2026 · Ververst: jaarlijks
- Toegang: Open · Licentie: Public Domain Mark 1.0 (volgens de landing pages van beide OGC API's)
- Koppelsleutels: gewascode, jaar, coördinaten
- Status: ok (2026-05-15) · jaargang 2025 (definitief)
- URL: https://www.pdok.nl/introductie/-/article/basisregistratie-gewaspercelen-brp-

## Wat kun je ermee?
- **Waar staan de maïs, de lelies en de aardappels?.** Filter op gewas of gewascode en zet de percelen op de kaart. Met de downloads van eerdere jaren zie je hoe een streek van gewas wisselt.
- **Grasland, bouwland of sloot.** Van de 2,3 miljoen percelen in 2025 is 43% een landschapselement (vooral sloten, ook houtwallen en hagen), 39% grasland en 16% bouwland. Tel ook de oppervlakte: dan ziet de verdeling er heel anders uit.
- **Landbouw naast natuur.** Leg de percelen op de Natura 2000-gebieden en tel per gebied welke gewassen er binnen een kilometer staan. Dat maakt de stikstofdiscussie per plek concreet.
- **Vijftien jaar gewaswisseling.** Vergelijk de jaargangen 2009 tot en met 2025 op dezelfde plek. Let op dat perceelgrenzen per jaar verschuiven; koppel op ligging, niet op een id.

## Zo verwerk je het
1. **Percelen in een gebied.** De OGC API filtert alleen op ligging (bbox in graden), maximaal 1.000 per pagina; de link next geeft de volgende pagina.
   `https://api.pdok.nl/rvo/gewaspercelen/ogc/v1/collections/brpgewas/items?f=json&limit=1000&bbox=5.60,52.50,5.65,52.53`
2. **Filteren op gewas of categorie.** Daarvoor is de WFS nodig (FES-filter). Met resultType=hits krijg je meteen het aantal.
   `https://service.pdok.nl/rvo/gewaspercelen/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=BrpGewas&FILTER=%3CFilter%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3Ecategory%3C/PropertyName%3E%3CLiteral%3EBouwland%3C/Literal%3E%3C/PropertyIsEqualTo%3E%3C/Filter%3E`
3. **Eerdere jaren downloaden.** De ATOM-feed noemt per jaar een bestand: GeoPackage vanaf 2020 (2025 is 2,9 GB), ZIP voor 2009 tot en met 2019, en gewaspercelen_concept_2026.gpkg.
   `https://service.pdok.nl/rvo/brpgewaspercelen/atom/v1_0/basisregistratie_gewaspercelen_brp.xml`
4. **Referentiepercelen.** De afbakening van landbouwgrond, met type (bv. Water) en de bron van de grens (versiebron, bv. luchtfoto). Ook hier alleen een bbox-filter in de OGC API.
   `https://api.pdok.nl/rvo/referentiepercelen/ogc/v1/collections/referentiepercelen/items?f=json&limit=100&bbox=5.60,52.50,5.65,52.53`

## Interessante koppelingen
- Welke landbouw ligt rond een natuurgebied? → [natura2000](https://www.opendataindex.nl/bron/natura2000.md) via coördinaten (ruimtelijk). Maak een buffer van een kilometer rond elk Natura 2000-gebied en tel de percelen per categorie of gewas.
- Staat de maïs op de hoge of de lage gronden? → [ahn](https://www.opendataindex.nl/bron/ahn.md) via coördinaten. Bereken per perceel de gemiddelde hoogte uit het AHN en vergelijk gewassen. Lage, natte percelen zijn vaker grasland.

## Vergelijkbare bronnen
- [esa-worldcover](https://www.opendataindex.nl/bron/esa-worldcover.md): Landgebruik uit satellietbeelden op 10 meter, wereldwijd, maar zonder gewas of perceelgrens.
- [copernicus-sentinel2](https://www.opendataindex.nl/bron/copernicus-sentinel2.md): Laat zien hoe een perceel er door het seizoen uitziet; de BRP zegt wat de boer opgaf.
- [CBS Landbouwtelling](https://opendata.cbs.nl/statline/#/CBS/nl/dataset/80780ned/table): Oppervlakte per gewas per gemeente of provincie, als tabel. De BRP geeft de ligging van elk perceel.

## Waar je op moet letten
- **Wat de boer opgaf, niet wat er groeit.** De registratie is de opgave van de gebruiker op peildatum 15 mei. Tweede teelten en wisselingen later in het jaar staan er niet in.
- **De API heeft één jaargang.** Op 16 oktober 2026 stond alleen 2025 (status Definitief) in de API en de WFS; eerdere jaren en het concept 2026 alleen als download.
- **Een perceel is niet altijd een akker.** 1.001.332 van de 2.331.084 percelen zijn landschapselementen: sloten, houtwallen, hagen, poelen. Tel je percelen, dan tellen die mee.
- **Weinig filters in de OGC API.** Bij brpgewas en referentiepercelen is alleen de geometrie een queryable. Filteren op gewas of jaar kan via de WFS of na het downloaden.
- **Grote bestanden.** Een jaargang als GeoPackage is bijna 3 GB. Voor één regio is de API met een bbox handiger.

## API (OGC WFS 2.0.0)

- Basis: https://service.pdok.nl/rvo/gewaspercelen/wfs/v1_0
- Toegang: Geen sleutel. Kosten: none; gebruiksvoorwaarden: https://creativecommons.org/publicdomain/zero/1.0/deed.nl. (uit de beschrijving)
- Formaten: application/gml+xml; version=3.2, text/xml; subtype=gml/3.2.1, text/xml; subtype=gml/3.1.1, application/json; subtype=geojson, application/json
- Omvang: 2331084 objecten in brpgewaspercelen:BrpGewas (getest)
- Filteren: OGC Filter Encoding (FES 2.0); PropertyIsEqualTo, PropertyIsNotEqualTo, PropertyIsLessThan, PropertyIsGreaterThan, PropertyIsLessThanOrEqualTo, PropertyIsGreaterThanOrEqualTo, PropertyIsLike, PropertyIsBetween, PropertyIsNull, Equals, Disjoint, Touches, Within, Overlaps, Crosses, Intersects, Contains, DWithin, Beyond, BBOX, During

### Endpoints
- `GET ?request=GetCapabilities`: beschrijving van de dienst
- `GET ?request=DescribeFeatureType`: velden van een laag (XSD)
- `GET ?request=GetFeature`: de objecten zelf, met geometrie
- `GET ?request=ListStoredQueries`: opgeslagen zoekvragen
- `GET ?request=DescribeStoredQueries`: uitleg bij opgeslagen zoekvragen

### Parameters
- `typeNames`: welke laag: brpgewaspercelen:BrpGewas (uit de beschrijving)
- `outputFormat`: bv. application/json voor GeoJSON (uit de beschrijving)
- `srsName`: projectie, bv. EPSG:4326 voor webkaarten (standaard EPSG:28992, RD) (uit de beschrijving)
- `count / startIndex`: pagineren (uit de beschrijving)
- `filter`: FES-XML-filter op velden of geometrie (uit de beschrijving)
- `bbox`: rechthoek in de gekozen projectie (platform)

### Velden (7)
`geom` geometrie, `category` string, `gewas` string, `gewascode` integer, `jaar` integer, `status` string, `fuuid` string

### Limieten en valkuilen
- Maximaal 1.000 objecten per verzoek (CountDefault). (uit de beschrijving)
- Pagineren kan: count en startIndex (ImplementsResultPaging). (uit de beschrijving)
- Een telling zonder filter over alle percelen duurt ongeveer 12 seconden; met een filter op category ongeveer 5 seconden (16 okt 2026). (getest)
- De OGC API (https://api.pdok.nl/rvo/gewaspercelen/ogc/v1) heeft dezelfde jaargang, maar filtert alleen op bbox en geeft geen totaal. (getest)

### Voorbeeld
```
https://service.pdok.nl/rvo/gewaspercelen/wfs/v1_0?request=GetFeature&service=WFS&version=2.0.0&typeNames=brpgewaspercelen:BrpGewas&outputFormat=application/json&srsName=EPSG:4326&count=1&propertyName=gewas,gewascode,category,jaar
```

## Zo haal je het op

### curl
```bash
curl "https://api.pdok.nl/rvo/gewaspercelen/ogc/v1/collections/brpgewas/items?f=json&limit=10&bbox=5.60,52.50,5.65,52.53"
```

### python
```python
import requests, collections

url = "https://api.pdok.nl/rvo/gewaspercelen/ogc/v1/collections/brpgewas/items"
d = requests.get(url, params={"f": "json", "limit": 1000, "bbox": "5.60,52.50,5.65,52.53"}).json()
print(collections.Counter(f["properties"]["gewas"] for f in d["features"]).most_common(10))
```


## Voorbeelden met echte cijfers (1)

Per voorbeeld de bevinding, de peildatum en de aanroep die precies deze cijfers ophaalt.

- **Percelen in de Basisregistratie Gewaspercelen naar soort grond: landschapselement (sloot, heg, houtwal …) is het grootste deel, 43% in 2025** (2025). Tabel brpgewaspercelen:BrpGewas. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/rvo-gewaspercelen-categorie)
  - `https://service.pdok.nl/rvo/gewaspercelen/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=BrpGewas&FILTER=%3CFilter%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3Ecategory%3C%2FPropertyName%3E%3CLiteral%3EBouwland%3C%2FLiteral%3E%3C%2FPropertyIsEqualTo%3E%3C%2FFilter%3E`
  - `https://service.pdok.nl/rvo/gewaspercelen/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=BrpGewas&FILTER=%3CFilter%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3Ecategory%3C%2FPropertyName%3E%3CLiteral%3EGrasland%3C%2FLiteral%3E%3C%2FPropertyIsEqualTo%3E%3C%2FFilter%3E`
