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.3

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.3
File Size Uploaded Provenance
monumenten-2.0.3.tar.gz 133.2 kB With provenance Details

Built distribution (wheel)

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

Total release size: 153.0 kB

Release files / monumenten-2.0.3.tar.gz

Download URL monumenten-2.0.3.tar.gz
Size 133.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2cc952dac1c1ef42b75a7c664ad691c5ae3798bf756985778f7cffbe8330adb0
BLAKE2b-256 checksum
How to use checksums
9716eca1a163370e813b8a3b9f0f1825c1c6557da5aedf97a25870247a8ed621
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.3-py3-none-any.whl

Download URL monumenten-2.0.3-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
201bbed3002f799f22fc10670eea6965db81f17679c54c05d4e22c831a10870c
BLAKE2b-256 checksum
How to use checksums
d0f66c4852fb1572e0a9f1a07651fd390fecb66db34e8f784a97e38c0879c000
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.3

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.3.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