Udgivet Modtager Udgivet af 6/12/2016 SDFE Thomas Mølhave

Relaterede dokumenter
Dokumentation Søoplande

Nye højdekurver: en balance mellem numerisk nøje og kartografisk møje

Vektorer og lineær regression. Peter Harremoës Niels Brock

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter

Københavns Universitet. Opmålingsrapport - Amager, Nordfyn og Odense Pedersen, Jørn Bjarke Torp; Kroon, Aart. Publication date: 2010

Kom-i-gang vejledning opmålingsprogram

Vejledning til brug af Skanderborg Kommunes 3D-model

Vesterskoven A-baner Camp Silkeborg Der er kurvekort til mellemsvær og svære baner og almindeligt kort til let bane.

Vektorer og lineær regression

Matematisk modellering og numeriske metoder. Lektion 13

Cirkulær hyperboloide (snoet trætårn i Camp Adventure ved Gisselfeld Kloster v/ Haslev)

Klimatilpasning. Skybrudskort. fra Region Midtjylland. Arne Bernt Hasling. Region Midtjylland

Analytisk geometri. Et simpelt eksempel på dette er en ret linje. Som bekendt kan en ret linje skrives på formen

STRUER KOMMUNE AUGUST 2007 VEJLEDNING OM PLACERING AF BYGGERI I KUPERET TERRÆN TILKNYTTET LOKALPLAN NR. 283 FOR ET BOLIGOMRÅDE SYD FOR DRØWTEN

Binært LAS-format Denne indstilling import Laser scan datafiler, i LAS format.

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Dette er en vejledning til hvordan nye skarvkolonier oprettes og hvordan resultater fra optællinger af kolonier indtastes.

PLUK OG SORTER FRUGT

Figur 1. Virtuel tværprofil med boringer fra Jupiter og Geo's database. Her også vist med aktivt slicetool i 10 meter dybde.

Hydrostratigrafisk model for Lindved Indsatsområde

Appendiks 2: Progression i de nationale test og Beregneren

Kombinere Trekantmodel og Kvadratnetsmodel med grænselinjer

Julehjerter med motiver

Tip til 1. runde af Georg Mohr-Konkurrencen. Geometri. Georg Mohr-Konkurrencen

Konstruktion af SEGMENTBUE I MURVÆRK.

Matlab script - placering af kran

Matematik og samfundsfag Gini-koefficienten

Projektopgave 1. Navn: Jonas Pedersen Klasse: 3.4 Skole: Roskilde Tekniske Gymnasium Dato: 5/ Vejleder: Jørn Christian Bendtsen Fag: Matematik

geometri trin 2 brikkerne til regning & matematik preben bernitt

TUNGE SKILLEVÆGGE PÅ FLERE LAG TRYKFAST ISOLERING. Input Betondæk Her angives tykkelsen på dækket samt den aktuelle karakteristiske trykstyrke.

Projektnummer Oprensningsillustrationer inkl. arealkurver tværprofiler med oprensning Saltø Å

VED KØB AF SKUR TIL CARPORT

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Tip til 1. runde af Georg Mohr-Konkurrencen Geometri

Vejledning for metadatabasen

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s

Mere om differentiabilitet

Emneopgave: Lineær- og kvadratisk programmering:

Dansk Squash Forbund Regler for squash

VEKTORGEOMETRI del 2 Skæringer Projektioner Vinkler Afstande

Upload & Download. Vejledning. Vejledning til brugen af upload og download funktionerne for Plandata.dk. Udarbejdet af Erhvervsstyrelsen

Skrevet af stud. geom. Martin Hedegaard, Aalborg Universitet, virksomhedspraktikant

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT.

Danmarks Tekniske Universitet

Invarianter og kombinatoriske beviser

praktiskegrunde Regression og geometrisk data analyse (2. del) Ulf Brinkkjær

Vektorfunktioner. (Parameterkurver) x-klasserne Gammel Hellerup Gymnasium

SPAM-mails. ERFA & Søren Noah s A4-Ark Køber varer via spam-mails. Læser spam-mails. Modtager over 40 spam-mails pr. dag. Modtager spam hver dag

Bilag til Statistik i løb : Statistik og Microsoft Excel tastevejledning / af Lars Bo Kristensen

I dag: Digital projektering -formål. Give jer et indblik i, hvad det betyder at projektere digitalt, og hvad det kræver især med hensyn til data.

M=3 kunde forbindelse. oprettet lokation Steinerkant

Orientering. Vi ses i skoven. Begynderinstruktion. sundt sjovt sejt sundt sjovt sejt - 1

Kontrolstatistik dokumentation Vandkemi

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Matricer og lineære ligningssystemer

Diagrammer visualiser dine tal

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Nøgletal for de nationale mål for sundhedsvæsenet

VEJLEDNING OM PLACERING AF BYGGERI I KUPERET TERRÆN

1 GeoAtlas Live - Virtuel boreprofil

Vejledning til online-redigering i Danmarks Arealinformation

LUP læsevejledning til afdelingsrapporter

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Opgaver om koordinater

DS/EN DK NA:2012

gudmandsen.net 1 Parablen 1.1 Grundlæggende forhold y = ax 2 bx c eksempelvis: y = 2x 2 2x 4 y = a x 2 b x 1 c x 0 da x 1 = x og x 0 = 1

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Identifikation af planer der ikke findes i PlansystemDK vha. datasættet... 9

F3A Nordic N13 Program og manøvrebeskrivelser

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Læring af test. Rapport for. Aarhus Analyse Skoleåret

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed

Kommuniker: Symbolskrivning 2 Kom godt i gang med tavler 4

lineær regression er en metode man bruger for at finde den mindste afstand mellem bestemte punkter ved at bruge denne formel: a= n i=1 i=1

LANDSKABSPROGRAM Emma Helene, Unit 1B, LOKALITET 4

Indholdsfortegnelse. Resendalvej - Skitseprojekt. Silkeborg Kommune. Grundvandsmodel for infiltrationsområde ved Resendalvej.

Konstruktion. d: En cirkel med diameter 7,4 cm. e: En trekant med grundlinie på 9,6 cm og højde på 5,2 cm. (Der er mange muligheder)

Føreren gør holdt ca. ½ meter fra skiltet. Hunden sætter sig i udgangsstillingen (ved førerens venstre side). Dette kan

Michael Jokil

ANALOG vs DIGITAL. figur 1: fotografi af en blyantsstreg. figur 2: en linje beskrevet som formel er omsat til pixels

Seriediagrammer - Guide til konstruktion i LibreOffice Calc

orientering Lær at finde vej

ANALYSE AF VANDLØB OG VIRKEMIDLER CASEVANDLØB TUDE Å

Vejledning til regattaadmin.dk og regattaprogrammet

Danmarks Tekniske Universitet

Sådan gør du i GeoGebra.

Danmarks Højdemodel, DHM/Punktsky

Lineære sammenhænge. Udgave Karsten Juul

Brugervejledning DAGI Afstemningsområder

1 Geometri & trigonometri

Center for Plan og Miljø Team Vand og Natur. Supplerende notat vedr bundkoter i Skårebækken

Du skal lave en tegning af bordet set lige på fra alle sider (fra langsiden, den korte side, fra oven og fra neden - 4 tegninger i alt).

Hvordan søger du i LARM.fm?

Kompendium til Geogebra

Udglatning af GWR-prisindeksene

Datastrukturer (recap)

Athena DIMENSION Tværsnit 2

LUP Fødende læsevejledning til afdelingsrapporter

Aktiviteter med. Tænk dig om. Æsken indeholder 20 dobbeltsidede kort med forskellige opstillinger / opgaver.

Transkript:

1 Indledning... 2 2 Datagrundlag... 2 3 Opsummering af Leverance... 2 4 Produktion af råkurver... 2 5 Simplifikation af højdekurver... 4 6 Referencekurver... 5 7 Formkurver... 6 8 Litteratur:... 10 9 Bilag: Beskrivelse af kurverne til evt distribution.... 12 Figur 1. Formkurver med en ækvidistance på 2.5 sammen med kotepunkter for et område på Sjælland. Udgivet Modtager Udgivet af 6/12/2016 SDFE Thomas Mølhave

Dette dokument beskriver metoden til automatisk generering af landsdækkende form- og referencekurver på den nye DHM. Først beskrives en række algoritmer som er fælles for begge kurvesæt, herefter beskrives hvordan henholdsvis referencekurver, formkurver, samt tilhørende kotefiler er beregnet. Projektet vil blive gennemført på et datagrundlag bestående af den danske højdemode samt ekstra vektor-data: Højdemodel (DHM) Vi anvender den danske højdemodel (DHM). Denne højdemodel er opmålt og produceret i perioden fra 2014 til 2015, det er en raster model bestående af celler med udbredelse på 40cm x 40cm. Hver celle indeholder terrænets højde i området som cellen dækker. Søer og havpolygon og grænse til Tyskland Leveret af SDFE og hentet d. 8 februar 2016. Leverancen består udover denne rapport af: Landsdækkende formkurver (inkl. hjælpekurver) med en ækvidistance på 0.5m og 2.5m Kotefiler til formkurverene, en til 0.5m-kurverne og en til 2.5m. Referencekurver med en ækvidistance på 0.25m. De rå højdekurver generes fra højdemodellen ved at triangulere denne. Det sker ved at indsætte et punkt i centrum af hver celle som tildeles højden på cellen. Vi forbinder herefter dette punkt til dets 4 nabopunkter i kardinalretningerne og indsætter herefter diagonaler i alternerende retning for hvert punkt. Disse trekanter skæres med et plan i de højder hvor der ønskes kurver og det resulterer i et liniesegment (som kan være degenereret til et punkt) for hver kurvehøjde som trekanten skærer. Disse liniesegmenter opsamles og sættes sammen i kurver (polygoner) således at output for hver kurvehøjde er en liste af kurver. Kurverne generes således at omløbsretningen er konsistent i forhold til topologien af terræn lokalt ved kurven. For en kurve gælder der at terrænet til venstre for kurven er stigende og til højre for kurven faldende når man følger omløbsretningen rundt. Eksempelvis, ved en bakketop vil kurven gå rundt om bakken mod uret, set fra oven. Sammen med højdekurverne genereres også et sæt begrænsningskurver som bruges til at begrænse z-afvigelsen af en kurve i forhold til terrænmodellen. Eksempelvis, hvis tolerancen på z-afvigelsen på er 0.1m og ækvidistancen er 0.5m generes der begrænsningkurver for kote 0.4m og 0.6m sammen med 0.5m-kurverne, begrænsningskurver på kote 0.9m og 1.1m sammen med 1m-kurven og så videre. De videre skridt bruger begrænsningskurverne til at give en række kvalitetsgarantier. 2/12

Figur 2. To kurver vist med omløbsretning. Kurven til højre går rundt om en bakketop og kurven til venstre går rundt om en dal. Omløbsretningen reflekterer dette. Kurverne overholder en række garantier baseret på højdemodellen og input-parametre. To af disse er en xy-garanti og en homotopigaranti. Førstnævnte garanterer at ethvert punkt (altså ikke kun endepunkterne) på den simplificerede kurve ikke har flyttet sig mere end l meter i planen, hvor l er en parameter der gives som input. For at forstå homotopigarantien skal vi bruge et begreb kaldet en kurves domæne, som er mængden er kurver som er umiddelbart inden i kurven, nabo til kurven, samt den kurve som kurven selv er indeholdt i (hvis denne findes). Intuitivt er det alle kurver der kan nås fra kurven ved at vandre i xyplanet uden at krydse andre kurver. Under simplifikationen behandles hver enkelt kurve for sig mens man tager højde for at kurverne i domænet ikke krydses. Se eksempel på en kurve og dens domæne i Figur 3. Homotopigarantien garanterer at ingen af kurverne skærer begrænsningskurverne, og at ingen af kurverne har byttet plads med hinanden. En konsekvens af homotopigarantier er en garanti om at alle punkterne på kurverne svarer til højder i modellen som ligger inden for tolerancen på z-værdien, da kurverne ellers ville have skæret, eller byttet plads med, en begrænsningskurve. Figur 3. Viser alle kurver i domænet for den stiplede kurve. Kurvens domæne består både af begrænsningskurver (røde) og almindelige kurver (blå) der er naboer til kurven. Givet en kurves domæne består kurvesimplifikationen af to trin som beskrevet nedenfor. 3/12

Højdekurverne simplificeres typisk i to trin. Først køres en algoritme baseret på den klassiske Douglas-Peucker heuristik for at reducere størrelsen af de rå kurver hurtigt og derefter en tilpasset algoritme udviklet af SCALGO til direkte at simplificere kurver under hensyntagen til en objektivfunktion som udtrykker størrelsen eller kurvaturen af de enkelte kurver. Vi anvender en modificeret version af Douglas-Peucker s algoritme[1] til kurvesimplifikation. Den oprindelige version begrænser kun hvor meget den simplificerede kurve afviger i xy-planet, men tager ikke højde for begrænsningskurver og lukkede kurver. I vores udgave besøges hver kurve for sig sammen med dens domæne, hvorefter simplificeringen sker med hensyntagen til både xygarantien og homotopigarantien. Se Figur 4. Douglas-Peucker producerer ikke nødvendigvis pæne kurver, faktisk er der mange tilfælde hvor det modsatte er tilfældet, men med denne metode kan datasættet gøres mindre mens vi stadig har garantier på afvigelsen i forhold til de rå kurver. Herefter kan vi anvende beregningsmæssigt tungere algoritmer som ikke ville kunne anvendes på det fulde datasæt. Figur 4. Den grå kurve er den oprindelige kurve og den røde kurve er begrænsningskurver i domænet. Den grønne kurve er tilladt med den oprindelige Douglas-Peucker algoritme selvom den krydser en rød kurve. Vores modificerede Douglas- Peucker algoritme vil fremstille den blå kurve ved at indsætte to ekstra punkter således at ingen kurver i domænet krydses. Det andet trin i kurvesimplifikationen fungerer også ved at fjerne punkter fra de rå kurver og dermed gøre dem mindre, men i modsætning til Douglas-Peucker kan vi i dette trin optimere en objektivfunktion over den simplificerede kurve. For at gøre dette effektivt anvender vi en algoritme baseret på såkaldt dynamisk programmering, algoritmen optimerer lokalt i et område af 40 punkter langs med kurven og køres rundt om hele kurven i skridt af 40 punkter. Kurven simplificeres sammen med dens domæne således at homotopigarantien opretholdes, samtidig er den parameteriseret ved en xy begrænsning for at opretholde xy-garantien. Til de genererede kurver brugte vi to forskellige objektivfunktioner: Kurvaturoptimering (formkurver): Her forskønnes kurverne ved at minimere kurvaturen af kurverne. Kurvaturen defineres lokalt for hvert punkt på en højdekurve som den inverse radius af den unikke cirkel som går igennem punktet og dets to naboer langs højdekurven. Segmentminimering: Her minimeres antallet af linesegmenter i kurverne. Dette giver kurver med meget få segmenter som ikke nødvendigvis har pæn krumning. Punkter af grad højere end 2, det vil sige, punkter hvor mere end to liniesegmenter mødes i samme punkt, bliver ikke fjernet under simplificeringen, uanset hvilken objektivfunktion der bruges. Sådan- 4/12

ne punkter er ret sjældne men opstår hvor kurver rører kanten af datasættet, det vil sige hvor punktet ligger på grænsen mellem data og nodata. I praksis ligger stort set alle disse punkter ved grænsen til Tyskland. Vi vil nu beskrive hvordan referencekurverne og formkurverne er genereret. Fælles for begge er at vi først pre-processerer terrænet (men på meget forskellige måder) og derefter genererer og simplificerer højdekurverne. Referencekurverne reflekterer detaljen i højdemodellen og genereres med en ækvidistance på 0.25 meter. Kurverne køres med en z-afgrænsning på en halv ækvidistance, og en xy-tolerance på 0.4m, svarende til bredden på en grid-celle. Inden kurverne genereres simplificeres terrænet med topologisk simplifikation[3] således at lavninger og toppe som f.eks. er lavere end ækvidistancen på 0.25m gøres flade. Alle kurver i kurvekortet svarer altså til lavninger/toppe som er dybere end ækvidistancen og alle lavninger/toppe som er dybere end ækvidistancen, er repræsenteret med en kurve i kurvekortet. Se Figur 5 for en illustration af princippet bag topologisk simplifikation. Figur 5. Illustrerer hvorledes lavninger fjernes i terrænet ved brug af topologisk simplifikation. De vandrette linier repræsenterer højdekurver ved en given højde og afstanden mellem linierne repræsenterer ækvidistancen. Øverst til venstre: den laveste lavning er lavning C. Øverst til højre: lavning C er fjernet og den laveste lavning er nu B. Nederst til venstre: lavning B er fjernet og den laveste lavning er nu D. Nederst til højre: lavning D er fjernet og lavning A er nu den laveste (og eneste) lavning. Den lodrette markering illustrerer dybden af den mindste lavning, og hvis denne dybde er under ækvidistancen fyldes lavningen op. Efter at terrænmodellen er tilpasset genererer vi højdekurver og begrænsningskurver som beskrevet tidligere. De simplificeres herefter med Douglas-Peucker og derefter med segmentminimeringsalgoritmen. Effekten af simplificeringsskridtet er primært at reducere størrelsen af datasættet, mens segmentminimeringsskridtet reducerer antallet af segmenter i referencekurven (f.eks. med omkring 93% på Fyn). 5/12

Figur 6. Referencekurver et sted på Fyn. Til formkurverne pre-processeres terrænmodellen med fokus på at lave blødere kurver. Derefter simplificeres disse kurver med fokus på kurvaturen for at gøre dem bløde og pæne. Formkurverne er beregnet for to forskellige ækvidistancer, 2.5m og 0.5m. I begge tilfælde har vi en z-begrænsning på en halv ækvidistance og ingen xy-begrænsning. Derudover har formkurverne en ekstra begrænsning - de må ikke krydse søer og havet. Derfor bliver disse håndteret specielt via to ekstra inputs: et sæt polygoner - et polygon for hver sø i Danmark, og et havpolygon. Polygonerne har ikke koter svarende til den nye højdemodel, så for søerne beregnes gennemsnitskoten fra de celler i højdemodellen hvis centrum faldt inden for søen. Bemærk at dette skal gøres med høj præcision for at undgå problemer med præcisionen af gennemsnittet. Havpolygonet er sat til kote 0. For at gøre modellen pænere bruger vi en iterativ metode baseret på normalfordelingskerner. Metoden garanterer at z-begrænsningen er overholdt men giver ikke nogen garantier i xy-planen. Inden metoden anvendes brænder vi først sø og hav-polygonerne i modellen med koterne som beskrevet ovenfor. Figur 7 giver et overblik over proceduren. 6/12

Figur 7. Oversigt over proceduren til terrænudglatning. Først kører vi en diskret trunkeret 2d-normalfordelingskerne med en vinduestørrelse w på 20x20 celler for 0.5m kurverne og 40x40 celler for 2.5m kurverne på terrænet S. Skaleringsparameteren beregnes som w*0.5-0.3. Dette giver et terræn S der er afglattet, men som sandsynligvis ikke overholder z-begrænsningen. Vi laver derefter et nyt raster T som er NODATA for celler hvor S er inden for z-begrænsningen af S, og som indeholder størrelsen af afvigelsen (med fortegn) hvis ikke. Bemærk at modellen som opstår ved celle-per-celle addition, S +T, overholder z-begrænsningen per definitionen af T. Modellen S +T er dog ikke pæn da der vil være flade områder der hvor afvigelsen var for stor i S. Vi kører i stedet en iterativ algoritme indtil vinduesstørrelsen bliver 2, vinduesstørrelsen reduceres med en faktor 0.73 for hver iteration. For hver iteration beregnes T som ovenfor og derefter køres en normalfordelingskerne på T (defineret som ovenfor) og den resulterende model lægges sammen med S og giver en opdateret model S som nu er tættere på at være lovlig end S. I næste iteration tager S pladsen som S. Hver iteration bringer os tættere og tættere på en model som overholder Z-begrænsningen. Intuitionen bag algoritmen er at vi simplificerer afvigelsen fra z-begrænsningen i stedet for at simplificere terrænet direkte (udover den indledende simplifikation), dette gør det muligt at konvergere mod en raster som overholder z-begrænsningen. Når iterationerne er stoppet, trunkeres den resulterende raster hvor den stadig måtte afvige med mere end z-begrænsningen for at være sikre på at den resulterende model overholder z-begrænsningen, det vil sige at vi sætter outputtet til at være S +T. For at sikre at søerne og kysten forbliver flade brænder vi sø og hav-polygonerne ind i modellen igen efter hver iteration. 7/12

Figur 8. Sammenligning mellem terrænsimplifikation ved brug af terrænudglatning og topologisk simplifikation. Til venstre: resultatet af terrænudglatning med z-grænseværdi på ækvidistancen. Den stiplede linje svarer til terrænoverfladen tør simplificering. De røde markeringer svarer til kurver som er forsvundet fra kurvekortet efter udglatning. Til højre: resultatet af topologisk simplifikation med tilsvarende højde/dybde grænseværdi på ækvidistancen. Læg mærke til hvordan terrænudglatning kan have tendens til at skære den øverste/nederste kurve af selv signifikante toppe/lavninger mens topologisk simplifikation kun ændrer terrænet lokalt omkring toppe og lavninger som er mindre end grænseværdien resten af terrænet efterlades uændret. Landegrænsen til Tyskland: Terrænmodellen ved grænsen til Tyskland indeholder mange NODATA celler og dårligt interpolerede højder hvilket giver dårlige højdekurver. Vi har derfor anvendt den leverede polylinie for landegrænsen til at skære det sydligste af højdemodellen væk, startende ca. 2 meter nord for grænsen. I praksis betyder dette at kurverne forløber normalt ned mod grænsen og stopper lige før den. Bemærkning om søer: Visse steder er søerne så tætte på hinanden af deres celler overlapper når de brændes ind i højdemodellen. Dette kan resultere i problemer hvis højdeforskellen mellem to sådanne søer er således at der vil blive trukket en kurve imellem dem. Problemerne skyldes at vi antager at råkurverne ikke skærer nogle af begrænsningskurverne, og hvis der trækkes en kurve igennem søerne er denne invariant brudt. Vi detekterer derfor disse situationer og sletter den mindste af de to søer fra datasættet. Dette sker forholdsvist sjældent og typisk omkring dambrug med mange små tætliggende søer. Vi beregner højdekurverne og begrænsningskurverne som beskrevet tidligere på den udglattede terrænmodel. Vi tilføjer yderligere kanten af sø og hav-polygonerne som ekstra begrænsningskurver, dette sikrer at formkurverne ikke simplificeres således at en kurve ligger i en sø eller i havet. Derefter kører Douglas-Peucker efterfulgt kurvaturminimerings-algoritmen. Udglatning: De simplificerede kurver udglattes herefter ved at omforme dem til Bezier kurver. Slutteligt diskretiseres Bezier-kurverne til almindelige liniesegmenter da Bezier kurver ikke direkte kan håndteres i et traditionelt GIS. Dette gøres på en adaptiv måde baseret på krumningen af kurven og således at ingen af de producerede segmenter alle har længde på mindst 40cm så mængden af linie segmenter ikke bliver for stor. Sammen med formkurverne genereres også to kotefiler, en for 2.5m- og en for 0.5m-kurverne. Kotefilerne indeholder et punkt for hver top- og bund-kurve. Top- og bund-kurverne defineres som de kurver der ikke indeholder andre kurver, hvis en sådan kurve har en orientering mod uret set fra oven er det en top-kurve (f.eks. toppen af en bakke), ellers er det en bund-kurve (f.eks. bunden af en dal). For en bundkurve vælges punktet som den celle hvis centrum ligger inden for kurven der har den laveste højde i den oprindelige ikke-simplificerede højdemodel. Tilsvarende vælges det højeste punkt for en top-kurve. Da kurverne er trukket fra den udglattede højdemodel (se Figur 8), og derefter yderligere simplificeret, kan der være en uoverensstemmelse mellem koten på punktet og kurverne generelt. Disse 8/12

uoverensstemmelser er af to forskellige typer, i det følgende illustreret ved en bundkurve i 0.5mkurverne: Manglende kurve: Der kan mangle en kurve mellem punktet og kurven. Eksempelvis kan koten på kurven være 7m (sort kurve i Figur 9) mens koten på bundpunktet (blåt punkt i Figur 9) er 6.4m. I dette tilfælde mangler der altså en kurve i kote 6.5m. Dette kan ske når en lavning med bund i 6.4 simplificeres mere end 10cm - mindre end z-begrænsningen - op i en kote højere end 6.5m. For at sikre konsistensen af kotefilen generes en hjælpekurve som simuleres at ligge i kote 6.5m (rød kurve i Figur 9). Den produceres således at bundpunktet ligger inde i hjælpekurven som så igen ligger inde i 7m-kurven. Metoden til fremstilling af hjælpekurven beskrives nedenfor. Ekstra kurve: Der kan være en kurve for meget. Eksempelvis kan vi have en kurve i kote 7m, men koten på bundpunktet er 7.1m. Dette kan ske når simplifikationen har lavet en lavning der går ned til eksempelvis 6.9m hvor den oprindelige terrænmodel holder sig over 7.1, altså en afvigelse på 20cm i dette tilfælde. I dette tilfælde fjernes den ekstra kurve, det vil sige 7m-kurven i eksemplet. Bemærk at der ikke kan være mere en enkelt manglende kurve, eller enkelt ekstra kurve for en given top/bund-kurve grundet z-begrænsningen på de genererede kurver. Hjælpekurve: Hjælpekurver bygges ud fra et top- eller bund-punkt p med tilhørende top-/bundkurve K. I det følgende refererer vi til Figur 9. Først generes 180 linier (blå) radialt ud fra punktet p (blåt kryds). Vi kalder området mellem to radiallinier for en sektor. For hver af de 180 sektorer finder vi den korteste afstand mellem kurven og punktet og annoterer denne afstand på de to radiallinier der afgrænser sektoren (lysegrønne og mørkegrønne punkter). Det resulterer i at hver radiallinie har to punkter (et for hver nabosektor), og det fjerneste punkt til p (lysegrøn) forkastes. Vi kan nu forbinde de mørkegrønne punkter på radiallinierne med rette linier og resultatet af dette er en kurve som er helt indeholdt i den oprindelige kurve, og som stadig indeholder p. For at den endelige hjælpekurve (rød) ikke bliver trukket for tæt på den oprindelige kurve skalerer vi dog punkterne på radiallinen således at afstanden mellem p og hjælpekurven afspejler at terrænet mellem de mærkegrønne punkter og p har konstant hældning. Bemærk at hjælpekurverne altså ikke er trukket ud fra højdemodellen, de er et kosmetisk hjælpemiddel til at opnå konsistent mellem kotefilen og kurverne. Færdige formkurver: De endelige formkurver produceres også i dette skridt, og inkluderer altså hjælpekurverne også, disse er markeret med et felt i datasættet. Hver formkurve har et ID, en højdeangivelse (Height) samt feltet Spurious som er 1 hvis den pågældende kurve er en hjælpekurve. Et punkt i kotefilen har en højde (fra DHM), et Top felt som er 1 hvis punktet svarer til et top-punkt samt et ID. ID et på punktet er det samme som ID et på den top-/bund-kurve der indeholder punktet (dette kan også være en hjælpekurve hvis en sådan er bleven produceret for det pågældende punkt. 9/12

Figur 9. Illustration af produktion af hjælpekurve (rød) baseret på en kurve (sort) og et top-/bund-punkt p (blåt kryds). For en given radiallinie giver de to grønne krydser den korteste afstand fra kurven til p i de to nabosektorer. Det mørkegrønne punkt marker den tætteste af de to afstande. Figur 10. 0.5m formkurver et sted på Fyn, sammen med et par kotepunkter. [1] David Douglas & Thomas Peucker, "Algorithms for the reduction of the number of points required to represent a digitized line or its caricature", The Canadian Cartographer 10(2), 112 122 (1973) [2] Simplifying massive planar subdivisions. Lars Arge, Jakob Truelsen, Jungwoo Yang. ALENEX 2014 [3] TerraStream: from elevation data to watershed hierarchies. Andrew Danner, Thomas Mølhave, Ke Yi, Pankaj K. Agarwal, Lars Arge, and Helena Mitasova. 2007. 10/12

11/12

For en kurve gælder der at terrænet til venstre for kurven er stigende og til højre for kurven faldende når man følger omløbsretningen rundt. Det vil sige at en kurve omkring en bakketop vil gå rundt om bakken mod uret, set fra oven. Hver kurve er annoteret med et numerisk ID og kurvehøjden. Datasættet leveres splittet op i kortblade men kurverne kan sættes sammen på tværs af kortblade ved at følge ID erne. Formkurverne er generet af SCALGO ud fra DHM med fokus på at generere pæne og troværdige kurver som kan give et godt overblik over topografien. For at opnå dette mål er kurverne udglattede, men det garanteres at ethvert punkt på en given kurve svarer til et punkt i højdemodellen som højst afviger (i kote) med 1.25 meter i forhold til den kote som kurven svarer til. Dette krav frafalder for de særlige hjælpekurver (feltet Spurious sat til 1). Formkurverne med ækvidistance på 0.5m er generet af SCALGO ud fra DHM med fokus på at generere pæne og troværdige kurver, som kan give et godt overblik over topografien. For at opnå dette mål er kurverne udglattede, men det garanteres at ethvert punkt på en given kurve svarer til et punkt i højdemodellen som højst afviger (i kote) med 0.25 meter i forhold til den kote som kurven svarer til. Dette krav frafalder for de særlige hjælpekurver (feltet Spurious sat til 1). Referencekurverne med ækvidistance på 0.25m er generet af SCALGO ud fra DHM med fokus på at generere kurver der reflekterer detaljen i DHM på en kompakt måde. Der er en kurvesæt for hvert 0.25 højdemeter. For kompakthedens skyld er kurverne simplificeret således at unødig detalje er bortkastet, men der garanteres at ethvert punkt på en given kurve svarer til et punkt i højdemodellen som højst afviger i kote med 0.125 meter i forhold til den kote som kurven svarer til. Samtidig er kurven ikke flyttet mere end 0.40m i xy-planen, svarende til bredden på en celle i DHM. 12/12