Flomsoner på Innlandet

I dag har jeg igjen fått lekt litt med kart på jobb. Denne gangen gikk det i flom.

Today I got the chance to play around with some maps again. This time it was floods and open data from hydro analysis. (more in English at the bottom)

Oppdatert // Updated: Ny sak publisert med kart tirsdag morgen. Denne gang ganske skremmende kart over flomkonsekvenser ved 50-årsflom på steder som venter på flomsikring. // Another news article published Tuesday morning. This one shows maps of flooding consequences with 50 year flooding in areas waiting for barriers.

Nå også vist her // Now also featured: Map of the Week @ CartoDB.com + nrkbeta.no

Se kart med store konsekvenser i Mjøndalen lenger ned // See map of the town Mjøndalen with major 50 year flooding further down.

Ved arbeidsdagens start ble det spørsmål om den lille gruppa jeg for tiden jobber i kunne bidra med noe på en av dagens store saker, flommen på Østlandet.

Vi drodlet litt fram og tilbake om ulike flomtiltak, hvor det var flomutsatt og hvilke krav som stilles før noen får gjenoppbygge hus ødelagt av flom på samme sted.

Da spørsmålet om hvor det var flomutsatt kom opp mente jeg å huske at det fantes ganske gode tilgjengelige data for flomsoner fra NVE.

Etter en sjekk fant jeg datasettene for nedlasting, og valgte å se på 50, 100 og 200-årsflom.
(her kan det nevnes at jeg kanskje i underbevisstheten kan ha tenkt på den kule saken TV 2 lagde i fjor, men kartene mine ble knotet ned etter å ha plagdes helt selv ;)

Datasettene for flomsoner finnes her: Nedlasting av geodata fra NVE

Der er det mye kult, og det aller meste er godt beskrevet og åpent for alle for nedlasting.

Ved hjelp av slike data lagde vi saken: Se hvordan steder i Hedmark og Oppland vil rammes ved storflom

Dataene som viser hva som blir oversvømt ved ulike flomstørrelser (10 til 1000-årsflom) ligger under fanen flomsoner på NVEs nedlastingsside for data. Det er ett datasett for hver flomstørrelse som kan lastes ned som polygoner enten som SOSI-format eller Shape. Shape-formatet er enklest å jobbe med direkte i CartoDB eller i QGIS.

Nettverktøyet CartoDB har jeg skrevet litt mer om på NRKbeta i forbindelse med metodebeskrivelsen for luftambulanse-sakene:
NRKbeta – Luftambulanse-beredskap, metoder og kartanalyse

Her er ett av kartene jeg lagde om flomsonene i dag:

Hamar med 100 og 200-årsflom

Flere slike kart kan sees i nettsaken, og der er de også en gode del bedre siden vi der brukte skikkelige flyfoto og ikke Google Maps som bakgrunnslag.

Slik lagde jeg kartene

Kartene ble som sagt laget ved hjelp av flomsonekart-datasettene fra NVE.

Jeg lastet ned datasett for både 50, 100 og 200-årsflom som Shape-filer. Det er zippede kartpakker med geografisk informasjon, og i dette tilfellet var det polygoner som definerte utstrekningen av oversvømte områder. Slike filer kan behnadles direkte i CartoDB ved å bare laste opp zip-filen eller behandles i f.eks. QGIS.

Datasettene inneholder informasjon for hele Norge.

Mer om NVEs flomsonekartlegging: Flomsonekart hos nve.no

Så for at jeg ikke skulle ta altfor mye av plassen vår på CartoDB valgte jeg å laste opp hele, så filtrere dataene og lage en egen tabell med bare de områdene jeg trengte. Det store datasettet ble deretter slettet fra CartoDB-kontoen.

Filtreringen ble gjort ved å se på de flomområdene som var interessante og koble dem med kommunedata. I vår CartoDB-konto har vi ulike datasett for norske områder, blant annet kommuner uten havområder som min kollega Bjørn Sandvik har laget. Det datasettet kan også lastes ned her.

Det ble gjort med en kommando som lignet på denne der jeg sammenlignet tabellen med flomsoner og hvilke kommuner jeg var interessert i:

SELECT flomsoner.*
FROM no_kommuner_pol AS komm, no_flom200aars AS flomsoner
WHERE ST_Intersects(flomsoner.the_geom, komm.the_geom) AND komm.nr IN (‘0428’, ‘0502’, etc, etc)

Numrene på slutten er kommunenumrene til de kommunene jeg var interessert i flomsonedata for, og der jeg skriver etc, etc fylte jeg bare på med de jeg trengte. Dermed fikk jeg filtrert ut bare de flomsonedataene jeg ønsket i en egen visning og kunne velge «create table from query» i CartoDB for å lage den forminskede datamengden.

Etter å ha gjort dette måtte jeg se på dataene for å sjekke at jeg brukte de riktig.

Først studerte jeg databeskrivelsen som følger dem på NVEs nedlastingsside og i en medfølgende pdf-fil i datasettet. Der så jeg raskt at ikke alle polygonene var såkalte «Flomutsatt areal». I databeskrivelsen står dette:

Symbol 1 = Flomutsatt areal, 2 = Lavpunkter, 3 = Elv og vann

Det vil si at noen av formene som finnes i dataene er de vanlige elvene og vannene som er der hele tiden, også når det ikke er flom. Så har vi de to definisjonene «Flomutsatt areal» og «Lavpunkter». Om sistnevnte står dette: Lavpunkter er områder som ligger lavere enn flomvannstand, og ikke har direkte forbindelse med elva (bak flomverk, kulvert med mer). Områder bak flomverk er kodet som lavpunkt dersom differansen mellom topp flomverk og flomvannstand er større enn 0.5 meter.

Jeg tolket det til at det som var kodet som lavpunkter ikke ville bli rammet av flom.

Dermed valgte jeg bare de områdene som var kodet som flomutsatt areal for kartene som skulle brukes på nrk.no, slik:

SELECT * FROM flomsoner WHERE symbol = 1

Samtidig ville jeg sjekke at jeg ikke brukte dataene feil, og tok kontakt med NVE for litt råd. De svarte meg både på e-post og telefon med omtrent den tolkningen jeg selv hadde lest meg til. Samtidig ga de meg litt mer om når dataene sist var oppdatert og hvilke feilmarginer og sikkerhetsmarginer de brukte. Da fant jeg blant annet ut at en flombarriere bygget i Trysil sentrum i 2007 ikke lå inne i det digitale datasettet på NVEs nettsider som kunne lastes ned som shape-filer.

En overingeniør ved NVE kunne likevel guide meg til en pdf-fil som viste flombarrieren tegnet inn og hva den hadde å si for flomsonene.

Se da også forklaring og kartlegging: Delprosjekt Trysil 2-2000 på nve.no

Flombarrieren i Innbygda i Trysil sees som en hvit stiplet linje og bak ligger et skravert område som ville blitt oversvømt uten barrieren.

Flombarrieren i Innbygda i Trysil sees som en hvit stiplet linje og bak ligger et skravert område som ville blitt oversvømt uten barrieren.

 

Jeg kunne da undersøke om det gikk an å kode om noen polygoner i datasettet for å forsøke å kompensere. Ved å kode om litt fikk jeg med at flombarrieren beskytter en del av Trysil sentrum, men dessverre forsvant noen få andre områder også som var flomutsatt med samme polygon, men få av dem hadde bebyggelse.

Etter å ha gjort alt dette for både data om 50, 100 og 200-årsflom kunne jeg legge de alle sammen oppå hverandre i en visualisering i CartoDB.

Jeg slet da litt med å bestemme hvordan de ulike sonene skilles fra hverandre. Etter litt råd og vink fra min gode kollega Tom Halsør endte jeg med det vi til slutt viste. Da også med en tegnforklaring som viser hvilke farger som definerer de ulike flomnivåene.

CartoDB-visualiseringen ble så importert i NRKs eget kartsystem der de fargelagte områdene for oversvømte steder kunne legges på toppen av gode flybilder fra Norge i bilder og til slutt publiseres i en artikkel på nrk.no

English:

This morning one of the editorial leaders asked the small team of journalists I’m currently a part of: How can you contribute with content regarding the floods in central Norway at the moment?

We talked a bit about barriers, building regulations and where floods would hit the hardest.

When the question about where floods would hit I remembered there might be some good datasets showing that as GIS data.

After checking the webpages of the Norwegian Water Resources and Energy Directorate (NVE) I found what I was looking for. Datasets for floods happening statisticly every 50, 100 and 200 years in Norway.

The datasets can be found here: Nedlasting av geodata fra NVE
English descriptions of data from the authority here: NVE’s geographic databases

NVE shares more than the flooding zones as open data, and most of the data have good descriptions (in Norwegian at least).

With the data we made this web story also featured on the main evening news program:
How cities in central Norway would get hit by massive flooding (in Norwegian)

At the download page at nve.no you find the flooding zones under «Flomsoner». There you find one dataset for each flooding level from the one happening every 10 year to the massive 1000 year flood. The Norwegian Water Resources and Energy Directorate provides the data in to formats. SOSI which is a special geodata format from Norway, and shape which is more common world wide.

I choose the shape format as it is easier to use in tools like QGIS and CartoDB.

The tool/service CartoDB has been mentioned and used earlier by me for instance in the stories about air ambulances (helicopters). In those stories we calculated by the use of CartoDB and open population data on a grid how many in Norway live outside a flight time of 30 minutes = over 166 000.

More at nrkbeta.no: Air ambulances, methods and geo analysis (in Norwegian)

Map of Mjøndalen with 50 year flooding

How to make the flood map vizualisation

The flood maps vizualisation was made and based upon the open data from The Norwegian Water Resources and Energy Directorate (NVE).

I started by downloading all the datasets for 50, 100 and 200 year flooding as shape files. The shape files come as zipped packes containing geodata, in this case polygons defining the areas calculated by NVE to be under water at the given flood level. Shape files can be directly uploaded to CartoDB as the zip, or opened and edited in a GIS software like QGIS.

These flooding datasets contain data for all of Norway.

As a consequence they have a large file size. In order to not occupy too much of our CartoDB account I choose to filter them and only store the areas interesting during this flooding season.

The large dataset for all of Norway was subsequently deleted from the CartoDB account.

My filtering was done by locating the flood zones visually in CartoDB, and then using another dataset with polygons for Norwegian municipalities to only include the wanted flooding polygons.

In the CartoDB account I’m using we have some datasets of useful Norwegian entities, for instance the areas covered by Norwegian municipalities without ocean areas as edited by my colleague Bjørn Sandvik – he has also shared it on Github.

Filtering with the twi datasets was done with a SQL query similar to this:

SELECT flomsoner.*
FROM no_kommuner_pol AS komm, no_flom200aars AS flomsoner
WHERE ST_Intersects(flomsoner.the_geom, komm.the_geom) AND komm.nr IN (’0428′, ’0502′, etc, etc)

The numbers at the end after the IN are Norwegian municipality IDs, and I chose the one I wanted to cover the necessary areas from looking at the map of Norway.

After running this SQL query I could save my minimized dataset by clicking «create table from query» in the CartoDB table view, and later delete the big table for entire Norway.

Now I had to review the dataset in more detail in order to be sure I used it correct. Sources for this examination were the website of NVE and the dataset descriptions following the shape files as a pdf file.

In these text you can see the polygons in the dataset not only defines the flooded areas, but also areas of rivers and areas that without it’s flood barriers would had been flooded.

In the dataset description one column is described like this:

Symbol 1 = Flomutsatt areal, 2 = Lavpunkter, 3 = Elv og vann (Norwagian)

Symbol 1 = Area in danger of flooding, 2 = Low points, 3 = Rivers and lakes (English translation done by me)

Low points are those areas below the flooding level, but protected in some way the water will not reach it.

So then I chose to select only the polygons defined as Area in danger of flooding (Flomutsatt areal = 1). Like this with a SQL query:

SELECT * FROM flomsoner WHERE symbol = 1

In addition to these checks of the data by reading the documentation I contacted the NVE directorate in order to get some advice and ask if the data were up to date. A person employed at NVE then could tell me a flood barrier installed in 2007 in one of the areas I were examining had not been included in the dataset.

He provided me with a pdf with the new flood barrier and how it affected the areas flooded at a given level.

Here is also the project page for the flood barrier and calculations: Delprosjekt Trysil 2-2000 på nve.no

Flombarrieren i Innbygda i Trysil sees som en hvit stiplet linje og bak ligger et skravert område som ville blitt oversvømt uten barrieren.

Flood barrier in Trysil seen as white sections along the river. Just behind an area shown in texture to show flooding avoided by barrier.

With this information I could manipulate some polygons to make the older dataset as close as possible to the pdf. I did achieve a not flooded area on the inside of the barriere, but some small areas elsewere in the area lost there definition as flooded. Though there were few buildings in those areas.

Background layer

After all this I could start getting the look of the maps I wanted.

I first started by putting all the different flood levels (50, 100 and 200) on top of each other in a vizualisation in CartoDB.

Then I imported the CartoDB virtualization into our in-house map GUI where I could combine it with a background layer showing the houses photographed from the air.

When working with three layers of map polygons and the photographic layer, I struggled quite a bit in order to get the desired look where the user somehow could see all the flooding levels.

It ended up OK, but not perfect after getting some good advice from my colleague Tom Halsør. An even better solution would be to not have tripple polygons on top of eachother, but only where they differ. Not enough time for data editing this time…

Check out more of the maps in this news article: Se hvordan steder i Hedmark og Oppland vil rammes ved storflom (text in Norwegian, but maps work in all languages :)