Skip to main content

Monumenten

Een Python package voor het ophalen van monumentgegevens van Nederlandse overheids-API's. Momenteel is het mogelijk om de status van rijksmonumenten, gemeentelijke monumenten en rijksbeschermde gezichten op te halen. Eventueel in VERA-referentiedataformaat.

Door middel van de package is het mogelijk om, indienst gewenst, voor tienduizenden verblijfsobjecten per seconde monumentgegevens op te halen. Er zijn geen API-keys nodig.

Installatie

pip install monumenten

Voorbeeldoutput

bag_verblijfsobject_id rijksmonument rijksmonument_bron rijksmonument_nummer rijksmonument_url rijksbeschermd_gezicht rijksbeschermd_gezicht_naam gemeentelijk_monument grondslag_gemeentelijk_monument
0599010000360091 True RCE, Kadaster 524327 https://monumentenregister.cultureelerfgoed.nl... False False
0599010000486642 False False False
0599010000281115 False True Kralingen - Midden False
0599010000076715 False False True Gemeentewet: Aanwijzing gemeentelijk monument (voorbescherming, aanwijzing, afschrift)
0599010000146141 False True Rotterdam - Waterproject True Gemeentewet: Aanwijzing gemeentelijk monument (voorbescherming, aanwijzing, afschrift)
0232010000002251 False False True Gemeentewet: Aanwijzing gemeentelijk monument (voorbescherming, aanwijzing, afschrift)
0599010000341377 True Kadaster False False

Architectuur

De package combineert drie databronnen om monumentstatussen te bepalen:

flowchart TB

    %% ========================
    %% INPUT
    %% ========================
    subgraph Input["Input"]
        A["Verblijfsobject IDs<br>bijv. 0599010000360091"]
    end

    %% ========================
    %% RCE
    %% ========================
    subgraph RCE["RCE – Rijksdienst Cultureel Erfgoed"]

        subgraph RCE_RM["Rijksmonumenten Query"]
            R1["Monument"]
            R2["BasisregistratieRelatie"]
            R3["BAGRelatie"]
            R4["verblijfsobjectIdentificatie"]
            R5["rijksmonumentnummer"]
        end

        subgraph RCE_BG["Beschermde Gezichten Query"]
            G1["Gezicht"]
            G2["GezichtGeometrie"]
            G3["gezichtWKT"]
            G4["rijksbeschermd_gezicht_naam"]
        end

    end

    %% ========================
    %% KADASTER
    %% ========================
    subgraph Kadaster["Kadaster"]

        subgraph BAG["BAG LV – Stage 1"]
            B1["Verblijfsobject"]
            B2["Nummeraanduiding"]
        end

        subgraph KKG["KKG – Stage 2"]
            K1["Adres"]
            K2["AdresGeometrie"]
            K3["Gebouw"]
            K4["Perceel"]
            K5["Beperking"]
            K6["grondslagcode"]
            K7["grondslag"]
        end

    end

    %% ========================
    %% PROCESSING
    %% ========================
    subgraph Processing["Verwerking"]
        P1["Merge rijksmonumenten<br>RCE nummer + Kadaster EWE/EWD"]
        P2["Spatial join<br>adres WKT ∈ gezicht WKT"]
        P3["Filter gemeentelijke<br>grondslagcode GG/GWA"]
    end

    %% ========================
    %% OUTPUT
    %% ========================
    subgraph Output["Monumentstatussen"]
        O1["Rijksmonument<br>bron: RCE en/of Kadaster"]
        O2["Beschermd Gezicht<br>bron: RCE"]
        O3["Gemeentelijk Monument<br>bron: Kadaster"]
    end

    %% ========================
    %% FLOWS
    %% ========================

    %% RCE Rijksmonumenten
    A -->|"VALUES ?identificatie"| R1
    R1 -->|"ceo:heeftJuridischeStatus"| R1
    R1 -->|"ceo:rijksmonumentnummer"| R5
    R1 -->|"ceo:heeftBasisregistratieRelatie"| R2
    R2 -->|"ceo:heeftBAGRelatie"| R3
    R3 -->|"ceo:verblijfsobjectIdentificatie"| R4

    %% RCE Beschermde Gezichten
    G1 -->|"ceo:heeftGeometrie"| G2
    G1 -->|"ceo:heeftGezichtsstatus"| G1
    G1 -->|"ceo:heeftNaam/ceo:naam"| G4
    G2 -->|"geo:asWKT"| G3

    %% Kadaster BAG
    A -->|"VALUES ?voId"| B1
    B1 -->|"nen3610:identificatie"| B1
    B1 -->|"bag:heeftAlsHoofdadres"| B2

    %% Kadaster KKG
    B2 -->|"prov:wasDerivedFrom"| K1
    K1 -->|"geo:hasGeometry/geo:asWKT"| K2
    K1 -->|"imx:heeftAlsAdres"| K3
    K3 -->|"imx:bevindtZichOpPerceel"| K4
    K4 -->|"imx:isBeperkingOpPerceel"| K5
    K5 -->|"imx:grondslagcode"| K6
    K5 -->|"imx:grondslag"| K7

    %% Processing
    R4 --> P1
    R5 --> P1
    K6 -->|"EWE/EWD"| P1
    K2 --> P2
    G3 --> P2
    G4 --> P2
    K6 -->|"GG/GWA"| P3
    K7 --> P3

    %% Output
    P1 --> O1
    P2 --> O2
    P3 --> O3

Bronlogica per Monumenttype

Monumenttype Primaire Bron Secundaire Bron Logica
Rijksmonument RCE Kadaster (EWE/EWD) rijksmonument_bron = "RCE, Kadaster" als beide, "RCE" of "Kadaster" als één
Rijksbeschermd Gezicht RCE - Spatial join: verblijfsobject geometrie ∈ gezicht geometrie
Gemeentelijk Monument Kadaster (GG/GWA) - Direct uit Kadaster beperking met grondslagcode GG of GWA

Afkortingen

Afkorting Betekenis
BAG Basisregistratie Adressen en Gebouwen
KKG Kadaster Knowledge Graph
RCE Rijksdienst voor het Cultureel Erfgoed
VERA Vastgoed Referentie Architectuur
WKT Well-Known Text (geometrie formaat)

Grondslagcodes (Kadaster)

Code Wet Monumenttype
EWE Erfgoedwet: Afschrift inschrijving rijksmonumentenregister Rijksmonument
EWD Erfgoedwet: Ontwerpbesluit aanwijzing (voorbescherming) Rijksmonument
GG Gemeentewet: Besluit monument Gemeentelijk monument
GWA Gemeentewet: Aanwijzing gemeentelijk monument Gemeentelijk monument

SPARQL Endpoints

Bron Endpoint
BAG LV https://api.labs.kadaster.nl/datasets/bag/lv/services/baglv/sparql
Kadaster KKG https://data.kkg.kadaster.nl/service/sparql
RCE https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/sparql

Retry-gedrag

Aanroepen naar Kadaster (BAG LV, KKG) en RCE gebruiken een gedeelde retry-logica: maximaal 2 pogingen per request, bij mislukking 3 seconden wachten. Alleen tijdelijke fouten worden herhaald (HTTP 429, 500, 502, 503, 504 en netwerk-/verbindingsfouten); permanente 4xx worden direct doorgegeven. Faalt een aanroep na retries, dan wordt de set IDs/URIs in tweeën gedeeld en elk deel opnieuw geprobeerd (recursief, per API, tot min. 1 ID of max. splitdiepte 10); definitief falende aanroepen worden overgeslagen met een waarschuwing.

Tutorial

Zie readthedocs.

Metadata

Release files for monumenten 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for monumenten 2.0.2
File Size Uploaded Provenance
monumenten-2.0.2.tar.gz 133.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for monumenten 2.0.2
File Interpreter ABI Platform
monumenten-2.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 153.0 kB

Release files / monumenten-2.0.2.tar.gz

Download URL monumenten-2.0.2.tar.gz
Size 133.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1f4bffdf5340744d8639bc20f0a9aff86213f693592a7f64bdeb7a71b5d044da
BLAKE2b-256 checksum
How to use checksums
8542206ebca32bbb7cfbb6e05a5c04feb49cf24be3bd73f5e03d9f8b679ce3e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / monumenten-2.0.2-py3-none-any.whl

Download URL monumenten-2.0.2-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd92fb4d06605cbe32ee91e146e20b9f2403db42f016ae040c954dc090ff3a8f
BLAKE2b-256 checksum
How to use checksums
166f5d7fe9b48b4d2a7688420f70503ea9694d232cb4f482830824648473da6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Security for monumenten 2.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for monumenten-2.0.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page