limburg-flood-impact


Namelimburg-flood-impact JSON
Version 0.8.0 PyPI version JSON
download
home_pagehttps://github.com/
SummaryLibmurg Flood Impact Package.
upload_time2023-08-17 08:25:29
maintainer
docs_urlNone
authorLutra Consulting Ltd.
requires_python>=3.6
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Water in Balans pandentool
==========================

De Water in Balans pandentool bepaalt op basis van een set van maximale
waterdieptekaarten (rasters) en panden (polygonen) het risico op
wateroverlast en de herkomst van het overlast gevende water.

Er zijn 3 manieren om de tool te gebruiken, die elk hieronder zullen
worden toegelicht - In QGIS (de makkelijkste manier om de tool eenmalig
te runnen) - Via de command line (vooral handig voor de verwerking van
meerdere scenarios op een reproduceerbare manier) - In een Python script
(voor de verwerking van meerdere scenarios op een reproduceerbare manier
en voor de integratie van deze analyse in grotere Python workflows)

Gebruikershandleiding: QGIS plugin
----------------------------------

Installatie
~~~~~~~~~~~

De plugin is in de QGIS plugin repository beschikbaar als Limburg Flood
Impact. Instructies voor de installatie van QGIS plugins vind je hier:
https://docs.qgis.org/latest/en/docs/user_manual/plugins/plugins.html.

Na de installatie zal er in de Processing Toolbox in de categorie
‘Limburg Flood Impact’ een aantal processing algorithms zijn toegevoegd.
Deze dienen in een bepaalde volgorde te worden doorlopen. Zie hiervoor
het stappenplan.

Stappenplan
~~~~~~~~~~~

1. Verzamel de benodigde data en voeg deze toe aan het QGIS project. Zie
   voor meer details hierover de paragraaf ‘Invoer en uitvoer’.
2. Voer achter elkaar de processing algorithms uit. Voor de juiste
   volgorde en meer informatie, zie de paragraaf ‘Methode en
   stappenplan’. Controleer na het uitvoeren van elke stap de attribute
   table van de pandentabel.
3. Als je niet kan programmeren maar dit proces wel verder wilt
   automatiseren, dan kan dat binnen QGIS met de Graphical Modeler. Zie
   hiervoor
   https://docs.qgis.org/3.22/en/docs/user_manual/processing/modeler.html

Gebruikershandleiding: Command line
-----------------------------------

Om de tool via de command line te kunnen gebruiken, heb je Python nodig
en moet je de python library ``limburg-flood-impact`` nodig.

``> pip install limburg-flood-impact``

Vervolgens kan je de verschillende stappen uitvoeren door het
betreffende commando als volgt aan te roepen:

``> check_address -b path_to_buildings_data -a path_to_adress_data``

Meer informatie over de specifieke manier om elk script aan te roepen
kan met het argument ``-h``:

``> check_address -h``

Voor een uitgebreidere uitleg over de argumenten van deze scripts, zie
onder “Invoer en uitvoer”

Gebruikershandleiding: Python
-----------------------------

Installeer het python package limburg-flood-impact

``> pip install limburg-flood-impact``

Voer de stappen uit zoals beschreven in de paragraaf “Methode en
stappenplan”. Let erop dat alle data voldoet aan de eisen die daaraan
worden gesteld in “Invoer en uitvoer”.

Invoer en uitvoer
-----------------

Panden (‘buildings’)
~~~~~~~~~~~~~~~~~~~~

*Beschrijving*: Deze input moet een selectie zijn uit de BAG. De
makkelijkste manier om deze data (in het juiste formaat) te verkrijgen
is door een selectie te maken uit de PDOK WFS service ``BAG WFS: pand``
en deze selectie op te slaan in een GeoPackage. In QGIS is deze WFS
service beschikbaar via de PDOK Services plugin. *Geometrietype*:
Polygon *Verplicht attribuut*: identificatie (string) *Bestandsformaat*:
GeoPackage

Verblijfsobjecten (‘addresses’)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Beschrijving*: Deze input moet een selectie zijn uit de BAG. De
makkelijkste manier om deze data (in het juiste formaat) te verkrijgen
is door een selectie te maken uit de PDOK WFS service
``BAG WFS: Verblijfsobject`` en deze selectie op te slaan in een
GeoPackage. In QGIS is deze WFS service beschikbaar via de PDOK Services
plugin. *Geometrietype*: Point *Verplicht attribuut*: pandidentificatie
(string) *Bestandsformaat*: GeoPackage

Maximale waterdiepte (‘T10’, ‘T25’, ‘T100’)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| *Beschrijving*: Een raster waarvan elke pixels de maximale waterdiepte
  (in m boven maaiveld) beschrijft die optreedt bij een bui met een
  herhalingstijd van resp. 10, 25 of 100 jaar.
| *Bestandsformaat*: GeoTIFF (.tif of .tiff) *Datatype*: Float32
  *Overige eisen*: - resolutie moet onderling hetzelfde zijn - eenheid
  is waterdiepte in m boven maaiveld (dus geen waterstand in m NAP!) -
  Nodatavalue is gedefinieerd - Projectie is Rijksdriehoekstelsel
  (Nieuw) (EPSG:28992)

Normering regionale wateroverlast (‘flood protection norm’)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Beschrijving*: Polygonen die aangeven voor welke herhalingstijd het
betreffende gebied beschermt moet zijn. Deze input moet een selectie
zijn uit de laag “Normering regionale wateroverlast” van de WFS service
“Provinciale beleidsplannen” van de provincie Limburg. *Geometrietype*:
Polygon *Verplicht attribuut*: “NORM” *Bestandsformaat*: GeoPackage
*Overige instructies*: Om deze gegegevens te verkrijgen: maak in QGIS
verbinding met de WFS service
https://portal.prvlimburg.nl/geodata/PROVINCIALE_BELEIDSPLANNEN/wfs? .
Deze service bevat een groot aantal lagen. Voeg de laag “Normering
regionale wateroverlast” toe aan het QGIS project. Maak een selectie op
basis van het gebied waarvoor de analyse moet worden gedaan. Sla deze
selectie op als GeoPackage.

Methode en stappenplan
----------------------

De methode bestaat uit vier stappen. In elke stap wordt er meer
informatie over elk pand bekend; de methode wordt zo ingericht, dat al
deze informatie beschikbaar blijft en als attributen aan het pand worden
toegevoegd.

1. Bepalen of panden een adres hebben
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Gebruik
^^^^^^^

*QGIS*: Check Addresses

*Command line*: ``check_addresses -h``

*Python*:

::

   from limburg_flood_impact.check_address import check_building_have_address
   from pathlib import Path

   buildings_path = Path("C:/Temp/buildings.gpkg")
   addresses_path = Path("C:/Temp/adresses.gpkg")
   check_building_have_address(buildings_path, adresses_path)

Algoritme
^^^^^^^^^

Aan de panden wordt het veld ``heeft_adres`` (boolean) toegevoegd. Dit
attribuut krijgt de waarde True als het pand gekoppeld kan worden aan
een verblijfsobject op basis van
``pand.identificatie = verblijfsobject.pandidentificatie`` en anders de
waarde False.

2. Kwetsbare panden classificeren per neerslagverdeling (stedelijke/landelijke/gebiedsbrede neerslag)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. _gebruik-1:

Gebruik
^^^^^^^

*QGIS*: - Classify Area Wide Rain - Classify Rural Rain - Classify Urban
Rain

| *Command line*: - ``classify_area_wide_rain -h``
| - ``classify_urban_rain -h``
| - ``classify_rural_rain -h``

*Python*:

::

   from limburg_flood_impact.classify_area_wide_rain import classify_area_wide_rain, classify_rural_rain, classify_urban_rain
   from pathlib import Path

   buildings_path = Path("C:/Temp/buildings.gpkg")
   t10_path = Path("C:/Temp/water_depth_t10.tif")
   t25_path = Path("C:/Temp/water_depth_t25.tif")
   t100_path = Path("C:/Temp/water_depth_t100.tif")

   classify_urban_rain(buildings_path, t10_path, t25_path, t100_path)
   classify_rural_rain(buildings_path, t10_path, t25_path, t100_path)
   classify_area_wide_rain(buildings_path, t10_path, t25_path, t100_path)

.. _algoritme-1:

Algoritme
^^^^^^^^^

*NB: de hieronder beschreven ‘bewerkingen’ van de waterdieptekaart
gelden alleen voor de bepaling van het risico op wateroverlast per pand.
Voor andere doeleinden (zoals kaarten) blijft de oorspronkelijke
waterdieptekaart behouden.*

De maximale waterdiepte wordt steeds bepaald door het pand te bufferen
met 1x de pixelgrootte en van alle pixels die binnen die buffer liggen
de maximale waarde te nemen.

De verwerking wordt gedaan in tegels van 1.000 bij 1.000 meter. Per
tegel wordt het onderstaande algoritme uitgevoerd, voor de panden
waarvan de centroide binnen de tegel ligt. Om randeffecten te voorkomen,
wordt er een overlap gehanteerd van 50 meter. Dat wil zeggen dat er
steeds een uitsnede van 1.100 bij 1.100 meter uit de invoerrasters wordt
gemaakt.

Neerslag op stedelijk gebied: - Waterdieptepixels met waterdiepte < 2 cm
worden verwijderd (op nodata gezet) - Dit raster wordt gepolygoniseerd -
Waterdieptepixels die in polygonen liggen die kleiner zijn dan 200 m2
worden verwijderd (op nodata gezet) - De maximale waterdiepte tegen de
gevel wordt bepaald - Is de maximale waterdiepte groter dan 15 cm, dan
krijgt dit pand de tussenclassificatie “Risico” (in het attribuut
stedelijk_t10 / stedelijk_t25 / stedelijk_t100) - Is de maximale
waterdiepte kleiner of gelijk aan 15 cm, dan krijgt dit pand de
tussenclassificatie “Geen risico”

Neerslag op landelijk gebied: - Waterdieptepixels met waterdiepte < 2 cm
worden verwijderd (op nodata gezet) - Dit raster wordt gepolygoniseerd -
Waterdieptepixels die in polygonen liggen die kleiner zijn dan 200 m2
worden verwijderd (op nodata gezet) - De maximale waterdiepte tegen de
gevel wordt bepaald - Is de maximale waterdiepte groter dan 15 cm, dan
krijgt dit pand de tussenclassificatie “Kwetsbaar pand door landelijke
neerslag” - Is de maximale waterdiepte kleiner of gelijk aan 15 cm, dan
krijgt dit pand de tussenclassificatie “geen kwetsbaar pand door
landelijke neerslag”

Neerslag gebiedsbreed: - Waterdieptepixels met waterdiepte < 2 cm worden
verwijderd (op nodata gezet) - De maximale waterdiepte tegen de gevel
wordt bepaald. Dit is de “maximale waterdiepte inclusief kleine plassen”
- Het waterdiepteraster zonder pixels < 2 cm wordt gepolygoniseerd -
Waterdieptepixels die in polygonen liggen die kleiner zijn dan 200 m2
worden verwijderd (op nodata gezet) - De maximale waterdiepte tegen de
gevel wordt opnieuw bepaald. Dit is de “maximale waterdiepte exclusief
kleine plassen” - Is de maximale waterdiepte inclusief kleine plassen ≤
15 cm, dan krijgt dit pand de tussenclassificatie “geen kwetsbaar pand
door gebiedsbrede neerslag” - Is de maximale waterdiepte exclusief
kleine plassen > 15 cm, dan krijgt dit pand de tussenclassificatie
“Kwetsbaar pand door gebiedsbrede neerslag, regionale herkomst”. - Is de
maximale waterdiepte inclusief kleine plassen > 15 cm, maar de maximale
waterdiepte exclusief kleine plassen ≤ 15 cm, dan krijgt dit pand de
tussenclassificatie “risicopand door gebiedsbrede neerslag, lokale
herkomst”.

3. Samengevoegde classificatie per bui (T10/T25/T100)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. _gebruik-2:

Gebruik
^^^^^^^

*QGIS*: Combine Classification

*Command line*: ``combine_classification -h``

*Python*:

::

   from limburg_flood_impact.combine_classification import combine_classification
   from pathlib import Path

   buildings_path = Path("C:/Temp/buildings.gpkg")

   combine_classification(buildings_path)

.. _algoritme-2:

Algoritme
^^^^^^^^^

In deze stap worden de tussenclassificaties per neerslaggebied vertaald
naar 1 klasse per pand per bui. Dit wordt gedaan met de vertaaltabel
https://github.com/nens/limburg-flood-impact/blob/main/misc/classificatie.xlsx

4. Toetsing aan de norm
~~~~~~~~~~~~~~~~~~~~~~~

.. _gebruik-3:

Gebruik
^^^^^^^

*QGIS*: Test Against Flood Protection Norm

*Command line*: ``test_against_flood_protection_norm -h``

*Python*:

::

   from limburg_flood_impact.test_against_flood_protection_norm import test_against_flood_protection_norm
   from pathlib import Path

   buildings_path = Path("C:/Temp/buildings.gpkg")
   flood_norm_path = Path("C:/Temp/flood_protection_norm.gpkg")

   test_against_flood_protection_norm(buildings_path=buildings_path, flood_norm_path=flood_norm_path)

.. _algoritme-3:

Algoritme
^^^^^^^^^

Optioneel kan elk pand getoetst worden aan de norm. Daarbij wordt de
volgende methodiek gehanteerd: - Bepalen in welk normgebied het pand
ligt. Eerst wordt in de boolean velden in_normgebied_t10,
in_normgebied_t25 en in_normgebied_t100 genoteerd of het pand (deels) in
het betreffende normgebied ligt. - Vervolgens wordt in het string veld
‘normgebied’ genoteerd welke norm van toepassing is. Ligt het pand in
meer dan 1 normgebied (pand ligt op de grens), dan wordt de hoogste norm
aangehouden (T100 boven T25 boven T10 boven Geen norm). - Als het pand
de norm “T100” heeft toegekend gekregen, wordt de klasse voor de T100
bui overgenomen in het attribuut “toetsingsklasse” - Als het pand de
norm “T25” heeft toegekend gekregen, wordt de klasse voor de T25 bui
overgenomen in het attribuut “toetsingsklasse” - Als het pand de norm
“T10” heeft toegekend gekregen, wordt de klasse voor de T10 bui
overgenomen in het attribuut “toetsingsklasse” - Als het pand de norm
“Geen norm” heeft toegekend gekregen, wordt “n.v.t.” ingevuld in het
attribuut “toetsingsklasse” - De toetsingsklasse wordt vervolgens
vertaald naar “Voldoet aan norm” (ja/nader onderzoeken). Zie de
vertaaltabel
(https://github.com/nens/limburg-flood-impact/blob/main/misc/classificatie.xlsx)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/",
    "name": "limburg-flood-impact",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Lutra Consulting Ltd.",
    "author_email": "jan.caha@lutraconsulting.co.uk",
    "download_url": "https://files.pythonhosted.org/packages/ff/b8/69c948ae4bf309bb0032bcd5fa902b3a7c1fc8e73665610db31e403e13c9/limburg_flood_impact-0.8.0.tar.gz",
    "platform": "any",
    "description": "Water in Balans pandentool\n==========================\n\nDe Water in Balans pandentool bepaalt op basis van een set van maximale\nwaterdieptekaarten (rasters) en panden (polygonen) het risico op\nwateroverlast en de herkomst van het overlast gevende water.\n\nEr zijn 3 manieren om de tool te gebruiken, die elk hieronder zullen\nworden toegelicht - In QGIS (de makkelijkste manier om de tool eenmalig\nte runnen) - Via de command line (vooral handig voor de verwerking van\nmeerdere scenarios op een reproduceerbare manier) - In een Python script\n(voor de verwerking van meerdere scenarios op een reproduceerbare manier\nen voor de integratie van deze analyse in grotere Python workflows)\n\nGebruikershandleiding: QGIS plugin\n----------------------------------\n\nInstallatie\n~~~~~~~~~~~\n\nDe plugin is in de QGIS plugin repository beschikbaar als Limburg Flood\nImpact. Instructies voor de installatie van QGIS plugins vind je hier:\nhttps://docs.qgis.org/latest/en/docs/user_manual/plugins/plugins.html.\n\nNa de installatie zal er in de Processing Toolbox in de categorie\n\u2018Limburg Flood Impact\u2019 een aantal processing algorithms zijn toegevoegd.\nDeze dienen in een bepaalde volgorde te worden doorlopen. Zie hiervoor\nhet stappenplan.\n\nStappenplan\n~~~~~~~~~~~\n\n1. Verzamel de benodigde data en voeg deze toe aan het QGIS project. Zie\n   voor meer details hierover de paragraaf \u2018Invoer en uitvoer\u2019.\n2. Voer achter elkaar de processing algorithms uit. Voor de juiste\n   volgorde en meer informatie, zie de paragraaf \u2018Methode en\n   stappenplan\u2019. Controleer na het uitvoeren van elke stap de attribute\n   table van de pandentabel.\n3. Als je niet kan programmeren maar dit proces wel verder wilt\n   automatiseren, dan kan dat binnen QGIS met de Graphical Modeler. Zie\n   hiervoor\n   https://docs.qgis.org/3.22/en/docs/user_manual/processing/modeler.html\n\nGebruikershandleiding: Command line\n-----------------------------------\n\nOm de tool via de command line te kunnen gebruiken, heb je Python nodig\nen moet je de python library ``limburg-flood-impact`` nodig.\n\n``> pip install limburg-flood-impact``\n\nVervolgens kan je de verschillende stappen uitvoeren door het\nbetreffende commando als volgt aan te roepen:\n\n``> check_address -b path_to_buildings_data -a path_to_adress_data``\n\nMeer informatie over de specifieke manier om elk script aan te roepen\nkan met het argument ``-h``:\n\n``> check_address -h``\n\nVoor een uitgebreidere uitleg over de argumenten van deze scripts, zie\nonder \u201cInvoer en uitvoer\u201d\n\nGebruikershandleiding: Python\n-----------------------------\n\nInstalleer het python package limburg-flood-impact\n\n``> pip install limburg-flood-impact``\n\nVoer de stappen uit zoals beschreven in de paragraaf \u201cMethode en\nstappenplan\u201d. Let erop dat alle data voldoet aan de eisen die daaraan\nworden gesteld in \u201cInvoer en uitvoer\u201d.\n\nInvoer en uitvoer\n-----------------\n\nPanden (\u2018buildings\u2019)\n~~~~~~~~~~~~~~~~~~~~\n\n*Beschrijving*: Deze input moet een selectie zijn uit de BAG. De\nmakkelijkste manier om deze data (in het juiste formaat) te verkrijgen\nis door een selectie te maken uit de PDOK WFS service ``BAG WFS: pand``\nen deze selectie op te slaan in een GeoPackage. In QGIS is deze WFS\nservice beschikbaar via de PDOK Services plugin. *Geometrietype*:\nPolygon *Verplicht attribuut*: identificatie (string) *Bestandsformaat*:\nGeoPackage\n\nVerblijfsobjecten (\u2018addresses\u2019)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n*Beschrijving*: Deze input moet een selectie zijn uit de BAG. De\nmakkelijkste manier om deze data (in het juiste formaat) te verkrijgen\nis door een selectie te maken uit de PDOK WFS service\n``BAG WFS: Verblijfsobject`` en deze selectie op te slaan in een\nGeoPackage. In QGIS is deze WFS service beschikbaar via de PDOK Services\nplugin. *Geometrietype*: Point *Verplicht attribuut*: pandidentificatie\n(string) *Bestandsformaat*: GeoPackage\n\nMaximale waterdiepte (\u2018T10\u2019, \u2018T25\u2019, \u2018T100\u2019)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n| *Beschrijving*: Een raster waarvan elke pixels de maximale waterdiepte\n  (in m boven maaiveld) beschrijft die optreedt bij een bui met een\n  herhalingstijd van resp. 10, 25 of 100 jaar.\n| *Bestandsformaat*: GeoTIFF (.tif of .tiff) *Datatype*: Float32\n  *Overige eisen*: - resolutie moet onderling hetzelfde zijn - eenheid\n  is waterdiepte in m boven maaiveld (dus geen waterstand in m NAP!) -\n  Nodatavalue is gedefinieerd - Projectie is Rijksdriehoekstelsel\n  (Nieuw) (EPSG:28992)\n\nNormering regionale wateroverlast (\u2018flood protection norm\u2019)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n*Beschrijving*: Polygonen die aangeven voor welke herhalingstijd het\nbetreffende gebied beschermt moet zijn. Deze input moet een selectie\nzijn uit de laag \u201cNormering regionale wateroverlast\u201d van de WFS service\n\u201cProvinciale beleidsplannen\u201d van de provincie Limburg. *Geometrietype*:\nPolygon *Verplicht attribuut*: \u201cNORM\u201d *Bestandsformaat*: GeoPackage\n*Overige instructies*: Om deze gegegevens te verkrijgen: maak in QGIS\nverbinding met de WFS service\nhttps://portal.prvlimburg.nl/geodata/PROVINCIALE_BELEIDSPLANNEN/wfs? .\nDeze service bevat een groot aantal lagen. Voeg de laag \u201cNormering\nregionale wateroverlast\u201d toe aan het QGIS project. Maak een selectie op\nbasis van het gebied waarvoor de analyse moet worden gedaan. Sla deze\nselectie op als GeoPackage.\n\nMethode en stappenplan\n----------------------\n\nDe methode bestaat uit vier stappen. In elke stap wordt er meer\ninformatie over elk pand bekend; de methode wordt zo ingericht, dat al\ndeze informatie beschikbaar blijft en als attributen aan het pand worden\ntoegevoegd.\n\n1. Bepalen of panden een adres hebben\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nGebruik\n^^^^^^^\n\n*QGIS*: Check Addresses\n\n*Command line*: ``check_addresses -h``\n\n*Python*:\n\n::\n\n   from limburg_flood_impact.check_address import check_building_have_address\n   from pathlib import Path\n\n   buildings_path = Path(\"C:/Temp/buildings.gpkg\")\n   addresses_path = Path(\"C:/Temp/adresses.gpkg\")\n   check_building_have_address(buildings_path, adresses_path)\n\nAlgoritme\n^^^^^^^^^\n\nAan de panden wordt het veld ``heeft_adres`` (boolean) toegevoegd. Dit\nattribuut krijgt de waarde True als het pand gekoppeld kan worden aan\neen verblijfsobject op basis van\n``pand.identificatie = verblijfsobject.pandidentificatie`` en anders de\nwaarde False.\n\n2. Kwetsbare panden classificeren per neerslagverdeling (stedelijke/landelijke/gebiedsbrede neerslag)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. _gebruik-1:\n\nGebruik\n^^^^^^^\n\n*QGIS*: - Classify Area Wide Rain - Classify Rural Rain - Classify Urban\nRain\n\n| *Command line*: - ``classify_area_wide_rain -h``\n| - ``classify_urban_rain -h``\n| - ``classify_rural_rain -h``\n\n*Python*:\n\n::\n\n   from limburg_flood_impact.classify_area_wide_rain import classify_area_wide_rain, classify_rural_rain, classify_urban_rain\n   from pathlib import Path\n\n   buildings_path = Path(\"C:/Temp/buildings.gpkg\")\n   t10_path = Path(\"C:/Temp/water_depth_t10.tif\")\n   t25_path = Path(\"C:/Temp/water_depth_t25.tif\")\n   t100_path = Path(\"C:/Temp/water_depth_t100.tif\")\n\n   classify_urban_rain(buildings_path, t10_path, t25_path, t100_path)\n   classify_rural_rain(buildings_path, t10_path, t25_path, t100_path)\n   classify_area_wide_rain(buildings_path, t10_path, t25_path, t100_path)\n\n.. _algoritme-1:\n\nAlgoritme\n^^^^^^^^^\n\n*NB: de hieronder beschreven \u2018bewerkingen\u2019 van de waterdieptekaart\ngelden alleen voor de bepaling van het risico op wateroverlast per pand.\nVoor andere doeleinden (zoals kaarten) blijft de oorspronkelijke\nwaterdieptekaart behouden.*\n\nDe maximale waterdiepte wordt steeds bepaald door het pand te bufferen\nmet 1x de pixelgrootte en van alle pixels die binnen die buffer liggen\nde maximale waarde te nemen.\n\nDe verwerking wordt gedaan in tegels van 1.000 bij 1.000 meter. Per\ntegel wordt het onderstaande algoritme uitgevoerd, voor de panden\nwaarvan de centroide binnen de tegel ligt. Om randeffecten te voorkomen,\nwordt er een overlap gehanteerd van 50 meter. Dat wil zeggen dat er\nsteeds een uitsnede van 1.100 bij 1.100 meter uit de invoerrasters wordt\ngemaakt.\n\nNeerslag op stedelijk gebied: - Waterdieptepixels met waterdiepte < 2 cm\nworden verwijderd (op nodata gezet) - Dit raster wordt gepolygoniseerd -\nWaterdieptepixels die in polygonen liggen die kleiner zijn dan 200 m2\nworden verwijderd (op nodata gezet) - De maximale waterdiepte tegen de\ngevel wordt bepaald - Is de maximale waterdiepte groter dan 15 cm, dan\nkrijgt dit pand de tussenclassificatie \u201cRisico\u201d (in het attribuut\nstedelijk_t10 / stedelijk_t25 / stedelijk_t100) - Is de maximale\nwaterdiepte kleiner of gelijk aan 15 cm, dan krijgt dit pand de\ntussenclassificatie \u201cGeen risico\u201d\n\nNeerslag op landelijk gebied: - Waterdieptepixels met waterdiepte < 2 cm\nworden verwijderd (op nodata gezet) - Dit raster wordt gepolygoniseerd -\nWaterdieptepixels die in polygonen liggen die kleiner zijn dan 200 m2\nworden verwijderd (op nodata gezet) - De maximale waterdiepte tegen de\ngevel wordt bepaald - Is de maximale waterdiepte groter dan 15 cm, dan\nkrijgt dit pand de tussenclassificatie \u201cKwetsbaar pand door landelijke\nneerslag\u201d - Is de maximale waterdiepte kleiner of gelijk aan 15 cm, dan\nkrijgt dit pand de tussenclassificatie \u201cgeen kwetsbaar pand door\nlandelijke neerslag\u201d\n\nNeerslag gebiedsbreed: - Waterdieptepixels met waterdiepte < 2 cm worden\nverwijderd (op nodata gezet) - De maximale waterdiepte tegen de gevel\nwordt bepaald. Dit is de \u201cmaximale waterdiepte inclusief kleine plassen\u201d\n- Het waterdiepteraster zonder pixels < 2 cm wordt gepolygoniseerd -\nWaterdieptepixels die in polygonen liggen die kleiner zijn dan 200 m2\nworden verwijderd (op nodata gezet) - De maximale waterdiepte tegen de\ngevel wordt opnieuw bepaald. Dit is de \u201cmaximale waterdiepte exclusief\nkleine plassen\u201d - Is de maximale waterdiepte inclusief kleine plassen \u2264\n15 cm, dan krijgt dit pand de tussenclassificatie \u201cgeen kwetsbaar pand\ndoor gebiedsbrede neerslag\u201d - Is de maximale waterdiepte exclusief\nkleine plassen > 15 cm, dan krijgt dit pand de tussenclassificatie\n\u201cKwetsbaar pand door gebiedsbrede neerslag, regionale herkomst\u201d. - Is de\nmaximale waterdiepte inclusief kleine plassen > 15 cm, maar de maximale\nwaterdiepte exclusief kleine plassen \u2264 15 cm, dan krijgt dit pand de\ntussenclassificatie \u201crisicopand door gebiedsbrede neerslag, lokale\nherkomst\u201d.\n\n3. Samengevoegde classificatie per bui (T10/T25/T100)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. _gebruik-2:\n\nGebruik\n^^^^^^^\n\n*QGIS*: Combine Classification\n\n*Command line*: ``combine_classification -h``\n\n*Python*:\n\n::\n\n   from limburg_flood_impact.combine_classification import combine_classification\n   from pathlib import Path\n\n   buildings_path = Path(\"C:/Temp/buildings.gpkg\")\n\n   combine_classification(buildings_path)\n\n.. _algoritme-2:\n\nAlgoritme\n^^^^^^^^^\n\nIn deze stap worden de tussenclassificaties per neerslaggebied vertaald\nnaar 1 klasse per pand per bui. Dit wordt gedaan met de vertaaltabel\nhttps://github.com/nens/limburg-flood-impact/blob/main/misc/classificatie.xlsx\n\n4. Toetsing aan de norm\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. _gebruik-3:\n\nGebruik\n^^^^^^^\n\n*QGIS*: Test Against Flood Protection Norm\n\n*Command line*: ``test_against_flood_protection_norm -h``\n\n*Python*:\n\n::\n\n   from limburg_flood_impact.test_against_flood_protection_norm import test_against_flood_protection_norm\n   from pathlib import Path\n\n   buildings_path = Path(\"C:/Temp/buildings.gpkg\")\n   flood_norm_path = Path(\"C:/Temp/flood_protection_norm.gpkg\")\n\n   test_against_flood_protection_norm(buildings_path=buildings_path, flood_norm_path=flood_norm_path)\n\n.. _algoritme-3:\n\nAlgoritme\n^^^^^^^^^\n\nOptioneel kan elk pand getoetst worden aan de norm. Daarbij wordt de\nvolgende methodiek gehanteerd: - Bepalen in welk normgebied het pand\nligt. Eerst wordt in de boolean velden in_normgebied_t10,\nin_normgebied_t25 en in_normgebied_t100 genoteerd of het pand (deels) in\nhet betreffende normgebied ligt. - Vervolgens wordt in het string veld\n\u2018normgebied\u2019 genoteerd welke norm van toepassing is. Ligt het pand in\nmeer dan 1 normgebied (pand ligt op de grens), dan wordt de hoogste norm\naangehouden (T100 boven T25 boven T10 boven Geen norm). - Als het pand\nde norm \u201cT100\u201d heeft toegekend gekregen, wordt de klasse voor de T100\nbui overgenomen in het attribuut \u201ctoetsingsklasse\u201d - Als het pand de\nnorm \u201cT25\u201d heeft toegekend gekregen, wordt de klasse voor de T25 bui\novergenomen in het attribuut \u201ctoetsingsklasse\u201d - Als het pand de norm\n\u201cT10\u201d heeft toegekend gekregen, wordt de klasse voor de T10 bui\novergenomen in het attribuut \u201ctoetsingsklasse\u201d - Als het pand de norm\n\u201cGeen norm\u201d heeft toegekend gekregen, wordt \u201cn.v.t.\u201d ingevuld in het\nattribuut \u201ctoetsingsklasse\u201d - De toetsingsklasse wordt vervolgens\nvertaald naar \u201cVoldoet aan norm\u201d (ja/nader onderzoeken). Zie de\nvertaaltabel\n(https://github.com/nens/limburg-flood-impact/blob/main/misc/classificatie.xlsx)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Libmurg Flood Impact Package.",
    "version": "0.8.0",
    "project_urls": {
        "Documentation": "https://",
        "Homepage": "https://github.com/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "875de5bf421721ce9f17f7a5ba7d82ffc54f3038dc75bccf73a89a75a6b97a58",
                "md5": "e686809d565c08275fc864f45c55edf9",
                "sha256": "ea2439e3498ffa54ccc7477a38789419dd52bbb5600d31008d2d6b78c31884ad"
            },
            "downloads": -1,
            "filename": "limburg_flood_impact-0.8.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e686809d565c08275fc864f45c55edf9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 24015,
            "upload_time": "2023-08-17T08:25:27",
            "upload_time_iso_8601": "2023-08-17T08:25:27.488951Z",
            "url": "https://files.pythonhosted.org/packages/87/5d/e5bf421721ce9f17f7a5ba7d82ffc54f3038dc75bccf73a89a75a6b97a58/limburg_flood_impact-0.8.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ffb869c948ae4bf309bb0032bcd5fa902b3a7c1fc8e73665610db31e403e13c9",
                "md5": "ceb33348708b46b0d3270b0e0a9c7686",
                "sha256": "b2981aee56b88e45824ebfb5a10046a13d18346ba7a72b86221281649517b708"
            },
            "downloads": -1,
            "filename": "limburg_flood_impact-0.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ceb33348708b46b0d3270b0e0a9c7686",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 20257,
            "upload_time": "2023-08-17T08:25:29",
            "upload_time_iso_8601": "2023-08-17T08:25:29.288346Z",
            "url": "https://files.pythonhosted.org/packages/ff/b8/69c948ae4bf309bb0032bcd5fa902b3a7c1fc8e73665610db31e403e13c9/limburg_flood_impact-0.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-17 08:25:29",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "limburg-flood-impact"
}
        
Elapsed time: 0.13378s