Skip to content

Tutorial

Installatie

pip install monumenten

Gebruik

Er zijn twee verschillende vormen om de resultaten terug te krijgen:

  1. Python dictionaries 🐍
  2. Als een pandas dataframe 🐼

1. Python dictionaries 🐍

a. Normaal formaat

import json

from monumenten import MonumentenClient


async def main():
    bag_verblijfsobject_ids = [
        "0599010000360091",  # rijksmonument
        "0599010000486642",  # geen monument
        "0599010000281115",  # beschermd gezicht
        "0599010000076715",  # gemeentelijk monument
        "0599010000146141",  # beschermd stads gezicht en gemeentelijk monument
        "0232010000002251",  # gebouw ligt volgens kadaster op meerdere percelen
        "0599010000341377",  # rijksmonument volgens kadaster maar niet RCE
    ]

    async with MonumentenClient() as client:
        result = await client.process_from_list(bag_verblijfsobject_ids)
        print(json.dumps(result, indent=2))


# in een .py file"
# if __name__ == "__main__":
#   asyncio.run(main())

# in een .ipynb file (notebook):
await main()
{
  "0599010000360091": {
    "is_rijksmonument": true,
    "rijksmonument_bron": [
      "RCE",
      "Kadaster"
    ],
    "rijksmonument_nummer": "524327",
    "rijksmonument_url": "https://monumentenregister.cultureelerfgoed.nl/monumenten/524327",
    "is_beschermd_gezicht": false,
    "beschermd_gezicht_naam": null,
    "is_gemeentelijk_monument": false,
    "grondslag_gemeentelijk_monument": null
  },
  "0599010000486642": {
    "is_rijksmonument": false,
    "rijksmonument_bron": null,
    "rijksmonument_nummer": null,
    "rijksmonument_url": null,
    "is_beschermd_gezicht": false,
    "beschermd_gezicht_naam": null,
    "is_gemeentelijk_monument": false,
    "grondslag_gemeentelijk_monument": null
  },
  "0599010000281115": {
    "is_rijksmonument": false,
    "rijksmonument_bron": null,
    "rijksmonument_nummer": null,
    "rijksmonument_url": null,
    "is_beschermd_gezicht": true,
    "beschermd_gezicht_naam": "Kralingen - Midden",
    "is_gemeentelijk_monument": false,
    "grondslag_gemeentelijk_monument": null
  },
  "0599010000076715": {
    "is_rijksmonument": false,
    "rijksmonument_bron": null,
    "rijksmonument_nummer": null,
    "rijksmonument_url": null,
    "is_beschermd_gezicht": false,
    "beschermd_gezicht_naam": null,
    "is_gemeentelijk_monument": true,
    "grondslag_gemeentelijk_monument": "Gemeentewet: Aanwijzing gemeentelijk monument (voorbescherming, aanwijzing, afschrift)"
  },
  "0599010000146141": {
    "is_rijksmonument": false,
    "rijksmonument_bron": null,
    "rijksmonument_nummer": null,
    "rijksmonument_url": null,
    "is_beschermd_gezicht": true,
    "beschermd_gezicht_naam": "Rotterdam - Waterproject",
    "is_gemeentelijk_monument": true,
    "grondslag_gemeentelijk_monument": "Gemeentewet: Aanwijzing gemeentelijk monument (voorbescherming, aanwijzing, afschrift)"
  },
  "0232010000002251": {
    "is_rijksmonument": false,
    "rijksmonument_bron": null,
    "rijksmonument_nummer": null,
    "rijksmonument_url": null,
    "is_beschermd_gezicht": false,
    "beschermd_gezicht_naam": null,
    "is_gemeentelijk_monument": true,
    "grondslag_gemeentelijk_monument": "Gemeentewet: Aanwijzing gemeentelijk monument (voorbescherming, aanwijzing, afschrift)"
  },
  "0599010000341377": {
    "is_rijksmonument": true,
    "rijksmonument_bron": [
      "Kadaster"
    ],
    "rijksmonument_nummer": null,
    "rijksmonument_url": null,
    "is_beschermd_gezicht": false,
    "beschermd_gezicht_naam": null,
    "is_gemeentelijk_monument": false,
    "grondslag_gemeentelijk_monument": null
  }
}

b. VERA-referentiedataformaat

async def main():
    bag_verblijfsobject_ids = [
        "0599010000360091",  # rijksmonument
        "0599010000486642",  # geen monument
        "0599010000281115",  # beschermd gezicht
        "0599010000076715",  # gemeentelijk monument
        "0599010000146141",  # beschermd stads gezicht en gemeentelijk monument
        "0232010000002251",  # gebouw ligt volgens kadaster op meerdere percelen
        "0599010000341377",  # rijksmonument volgens kadaster maar niet RCE
    ]

    async with MonumentenClient() as client:
        result = await client.process_from_list(bag_verblijfsobject_ids, to_vera=True)
        print(json.dumps(result, indent=2))


# in een .py file"
# if __name__ == "__main__":
#   asyncio.run(main())

# in een .ipynb file (notebook):
await main()
{
  "0599010000360091": [
    {
      "code": "RIJ",
      "naam": "Rijksmonument",
      "bron": [
        "RCE",
        "Kadaster"
      ]
    }
  ],
  "0599010000486642": [],
  "0599010000281115": [
    {
      "code": "SGR",
      "naam": "Rijksbeschermd stadsgezicht"
    }
  ],
  "0599010000076715": [
    {
      "code": "GEM",
      "naam": "Gemeentelijk monument"
    }
  ],
  "0599010000146141": [
    {
      "code": "SGR",
      "naam": "Rijksbeschermd stadsgezicht"
    },
    {
      "code": "GEM",
      "naam": "Gemeentelijk monument"
    }
  ],
  "0232010000002251": [
    {
      "code": "GEM",
      "naam": "Gemeentelijk monument"
    }
  ],
  "0599010000341377": [
    {
      "code": "RIJ",
      "naam": "Rijksmonument",
      "bron": [
        "Kadaster"
      ]
    }
  ]
}

2. Pandas dataframe 🐼

import pandas as pd


async def main():
    input_df = pd.DataFrame(
        {
            "bag_verblijfsobject_id": [
                "0599010000360091",  # rijksmonument
                "0599010000486642",  # geen monument
                "0599010000281115",  # beschermd gezicht
                "0599010000076715",  # gemeentelijk monument
                "0599010000146141",  # beschermd stads gezicht en gemeentelijk monument
                "0232010000002251",  # gebouw ligt volgens kadaster op meerdere percelen
                "0599010000341377",  # rijksmonument volgens kadaster maar niet RCE
            ]
        }
    )  # of lees van een csv of een ander bestand in

    async with MonumentenClient() as client:
        result = await client.process_from_df(
            df=input_df, verblijfsobject_id_col="bag_verblijfsobject_id"
        )

        return result


# in een .py file"
# if __name__ == "__main__":
#     result = asyncio.run(main())
#     result.to_csv("monumenten.csv", index=False) # optioneel

# in een .ipynb file (notebook):
await main()
bag_verblijfsobject_id is_rijksmonument rijksmonument_bron rijksmonument_nummer rijksmonument_url is_beschermd_gezicht beschermd_gezicht_naam is_gemeentelijk_monument grondslag_gemeentelijk_monument
0 0599010000360091 True RCE, Kadaster 524327 https://monumentenregister.cultureelerfgoed.nl... False <NA> False <NA>
1 0599010000486642 False <NA> <NA> <NA> False <NA> False <NA>
2 0599010000281115 False <NA> <NA> <NA> True Kralingen - Midden False <NA>
3 0599010000076715 False <NA> <NA> <NA> False <NA> True Gemeentewet: Aanwijzing gemeentelijk monument ...
4 0599010000146141 False <NA> <NA> <NA> True Rotterdam - Waterproject True Gemeentewet: Aanwijzing gemeentelijk monument ...
5 0232010000002251 False <NA> <NA> <NA> False <NA> True Gemeentewet: Aanwijzing gemeentelijk monument ...
6 0599010000341377 True Kadaster <NA> <NA> False <NA> False <NA>