Aan de slag met Python
Stel een eigen workflow samen met de publieke Python-functies: bronnen ophalen, een selectie maken, bewerken en het resultaat verder gebruiken of opslaan. De voorbeelden tonen de afzonderlijke stappen en instelbare parameters. Voor een complete standaardproductie zijn er de productiecommando's.
Losse bronnen en bewerkingen
- Bronlagen downloaden: één script per bronlaag.
- Bewerkte lagen samenstellen: één workflow per laag.
- API-referentie: functies, parameters en teruggegeven resultaten, opgebouwd uit de actuele modulecode.
Voorbereiden
Gebruik een geïnstalleerde productieomgeving
of de ontwikkelomgeving.
Download het gewenste .py-bestand vanaf de voorbeeldpagina en plaats het
in de map met pixi.toml. Pas bovenaan het script DATA_DIR aan naar de
gewenste gegevensmap. Alle voorbeelden gebruiken daar dezelfde submappen
source_data en processed_data, zodat bronnen kunnen worden hergebruikt.
Pas ook de gebiedskeuze, rekeninstellingen en experimentnaam aan. De invoer
en tussenresultaten staan expliciet in het script: vervang bijvoorbeeld een
downloadaanroep door een pad naar een eigen bestand met hetzelfde schema.
De voorbeelden horen bij de moduleversie waarmee deze documentatie is gebouwd. Gebruik bij een oudere release de bijbehorende voorbeelden of werk de installatie bij.
Een script uitvoeren
Begin bijvoorbeeld met het BGT-voorbeeld. Dat vraagt alleen waterdelen en panden voor het voorbeeldgebied op:
pixi run python download_bgt.py
Een bewerkte laag maakt u bijvoorbeeld met:
pixi run python produceer_autos.py
Vanuit een repositorycheckout staan de scripts onder docs/reference/voorbeelden/:
pixi run python docs/reference/voorbeelden/download_bgt.py
pixi run python docs/reference/voorbeelden/produceer_autos.py
Afwateringseenheden vereist PCRaster. Gebruik daarvoor vanuit de repository:
pixi run --environment afwateringseenheden python docs/reference/voorbeelden/produceer_afwateringseenheden.py
In het productiepakket is PCRaster onderdeel van de productieomgeving; gebruik
daar pixi run --locked python produceer_afwateringseenheden.py.
Het voorbeeldgebied
Waar een gebiedsselectie mogelijk is, gebruiken alle scripts Alkmaar-centrum
(alkmaar_centrum). Dat is een selectie van 1 × 1 km. Het landgebruikvoorbeeld
berekent deze rechthoek; het DEM volgt dat raster. Afwateringseenheden gebruikt
een kerntegel van 1 km met buffer en knipt het samengevoegde resultaat op het
gebied. Inwoners en auto's behouden complete CBS-buurten met alle woon-VBO's.
Dit zijn eigen workflows; de standaardproductie
gebruikt grotere tegels en behoudt de volledige tegelkernen.
Een klein voorbeeldgebied betekent niet dat alle voorbeelden snel klaar zijn. BAG, TOP10NL en andere bronnen worden landelijk gedownload. Ook de voorbereiding van BAG/CBS is landelijk. Op iedere voorbeeldpagina staat welke gegevens nodig zijn; de volledige productie kan veel schijfruimte, geheugen en tijd vragen.
In eigen code gebruiken
Importeer de benodigde functies uit waterlagen. De scripts bevatten geen
extra main()-functie. Instellingen staan bovenaan, gevolgd door de stappen
binnen if __name__ == "__main__":. Dat blok voorkomt dat importeren de
workflow start en maakt multiprocessing veilig, ook op Windows.
In een notebook kunt u de imports, instellingen en stappen als losse cellen
gebruiken. Laat daarbij de buitenste __main__-voorwaarde en de bijbehorende
inspringing weg. Begin met één werkproces; start parallelle workflows vanuit
het script. Bekijk tussenresultaten voordat u ze aan de volgende functie doorgeeft.
production_logging() toont de voortgang en herstelt na afloop de eerdere
loggingconfiguratie. De voorbeelden hergebruiken bronbestanden en schrijven
naar data/processed_data/voorbeelden/alkmaar_centrum/<experiment>/.
Kies een nieuwe experimentnaam bij gewijzigde invoer of rekeninstellingen:
de losse functies bieden niet dezelfde bewaking van wijzigingen als de
productie-API. Een bestaand bestand kan worden hergebruikt
zonder dat gewijzigde parameters opnieuw worden toegepast.
Verdelingen controleren
Voor het controleren van resultaten zijn ook
waterlagen.vbo_buurt.statistiek.lees_verdelingstatistieken en de
BAG-controlefuncties beschikbaar.
Vergelijk regionale verdelingen alleen met de bijbehorende CBS-buurten:
de standaardstatistiek leest landelijke CBS-totalen.
Redactie: AI