22.01.2015 Views

En optimeringsmetod för kartografisk ... - Lunds universitet

En optimeringsmetod för kartografisk ... - Lunds universitet

En optimeringsmetod för kartografisk ... - Lunds universitet

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>En</strong> <strong>optimeringsmetod</strong> för <strong>kartografisk</strong> generalisering<br />

Lars Harrie<br />

<strong>Lunds</strong> Universitet<br />

Idag lagras alltfler kartor digitalt. Ofta visar det sig dock att dessa kartor inte har den önskade detaljeringsgraden, och<br />

därför måste kartorna generaliseras. <strong>En</strong>ligt det Internationella Kartografiska Sällskapet är generalisering: ”Urval och<br />

förenklad representation lämplig för skalan på och/eller syftet av en karta” ([5], sidan 51.10, egen översättning).<br />

Generalisering har alltid varit en central del av kartografin. Introduktionen av den digitala karttekniken har dock<br />

inneburit två stora förändringar av generaliseringen. Den första förändringen är att man försöker få processen utförd<br />

av en dator. Detta kräver att man analytiskt definierar generaliseringen vilket har visat sig vara svårt. Den andra<br />

förändringen rör syftet av generaliseringen. Förut har generaliseringen främst varit en del i produktionen av kartor.<br />

Idag, och troligen än mer i framtiden, finns ett behov av realtidsgeneralisering. Med detta menas att en karta lagras i<br />

en skala och sedan generaliseras i det ögonblicket då en användare önskar använda den i en mindre skala.<br />

Realtidsgeneraliseringen ställer inte så höga <strong>kartografisk</strong>a krav som generalisering för kartproduktion, men däremot<br />

ställs högre krav på att generaliseringen ska ske snabbt - ingen användare godtar ju att sitta och vänta när han zoomar<br />

i kartan.<br />

Denna artikel behandlar några allmänna aspekter på generalisering samt en specifik generaliseringsmetod – simultan<br />

grafisk generalisering. Artikeln inleds med en allmän beskrivning av generalisering och några trender i utvecklingen<br />

av generaliseringsmetoder. <strong>En</strong> sådan trend är temat för nästa avsnitt: (analytisk) definiering av önskade egenskaper<br />

hos kartor. Resten av artikeln är koncentrerad på simultan grafisk generalisering. Först beskrivs teorin bakom<br />

metoden och sedan presenteras två tester av metoden. Artikeln avslutas med en diskussion.<br />

Kartografisk generalisering<br />

Kartografisk generalisering kan delas in i två delar: modellgeneralisering och grafisk generalisering. Dessa beskrivs<br />

här med hjälp av distinktionen mellan geografiska och <strong>kartografisk</strong>a data (se t.ex. [6]). Syftet med geografiska data<br />

är att lagra fakta om den geografiska verkligheten enligt en konceptuell modell. Vad det gäller <strong>kartografisk</strong>a data är<br />

ändamålet främst presentation, dvs. man tillåter ändringar i data så att den grafiska presentationen blir bättre.<br />

Modellgeneralisering är genererad av en ändring i den konceptuella modellen, medan grafisk generalisering är<br />

skapandet av <strong>kartografisk</strong>a data ifrån geografiska data (där den konceptuella modellen är densamma; se Figur 1).<br />

Figur 1: <strong>En</strong> modellgeneraliseringsmetod skapar ett bebyggelseobjekt från flera byggnadsobjekt. Bebyggelseobjektet<br />

förenklas sedan för att vara läsbart i den nya skalan. Det senare utförs av en grafisk generaliseringsmetod.<br />

För att automatisera generalisering har flera studier gjorts av manuell generalisering. På basis av dessa studier har<br />

man delat in generaliseringsprocessen i tiotalet operationer (flera av dem finns beskrivna i [2] och [3]). Exempel på<br />

sådana operationer är:<br />

• förenkling - ta bort överflödiga punkter på en linje,<br />

• utjämning - göra linjer mindre kantiga,<br />

• förstoring - förstora objekt, eller delar av objekt, för att göra dem tydliga, och<br />

• undanhållning - flytta/omforma objekt för att göra kartbilden mer lättläst.


Dessa fyra operationer är alla en del av den grafiska generaliseringen. Det finns även operationer för<br />

modellgeneralisering; exempelvis beskrivs det första steget i Figur 1 av operationen aggregering. Vidare gäller<br />

operationerna både för raster- och vektordata, men denna artikel behandlar endast vektordata.<br />

Under de senaste tjugo åren har mycket forskning och utveckling ägnats åt att försöka etablera metoder (algoritmer)<br />

för att utföra generaliseringsoperationer. Detta försök att automatisera generaliseringsprocessen har förutsatt en<br />

ansats av typen: villkor handling . Exempelvis, om vägobjektet O1 är för detaljerat används<br />

en förenklingsalgoritm för att minska detaljeringsgraden. Vidare har man använt en sekventiell ansats, dvs. först<br />

används en metod M1 för att för att förbättra egenskap E1 hos objekt O1, sedan används metod M2 för att förbättra<br />

egenskap E2 hos objekt 02, osv. Verktygslåder för denna sekventiella villkor-handlings ansats finns idag<br />

kommersiellt tillgängliga i <strong>kartografisk</strong>a produkter från, bland annat, ESRI och Laser-Scan.<br />

Idag hävdar flera forskare och utvecklare att den sekventiella villkor-handlings ansatsen och dagens algoritmer är<br />

otillräckliga för <strong>kartografisk</strong> generalisering. Några av de problemen man har identifierat, och förslag på lösningar till<br />

dessa, är följande:<br />

• Problem 1: Objekten hanteras var för sig. Detta orsakar problem av typen: om man använder metod M1 på<br />

objekt O1 så är det möjligt att en oönskad egenskap skapas mellan objekten O1 och O2. Ett klassiskt exempel är<br />

förenkling av vägar som kan orsaka att vägar kommer i konflikt med omkringliggande byggnader.<br />

Förslag på lösning: Modellera relationer mellan objekt. För att göra detta krävs både rumsliga datastrukturer<br />

som lagrar rumsliga relationer mellan objekt (att lagra topologiska relationer är inte tillräckligt), samt att man<br />

skapar metoder för hur grupper av objekt ska hanteras.<br />

• Problem 2: Det är svårt, om inte omöjligt, att beskriva generaliseringsprocessen med hjälp av villkor-handlings<br />

regler. Problemet ligger bland annat i att sådana regler förutsätter omfattande kunskap om vad som sker när man<br />

tillämpar en metod. Eftersom <strong>kartografisk</strong>a data kan se ut på så många olika vis är det svårt att uppnå tillräckligt<br />

bra kunskap om de möjliga fallen.<br />

Förslag på lösning: Använd metoder som söker lösningar med vissa egenskaper. Detta kan erhållas på två<br />

principiellt olika sätt. Det första sättet är att addera ett utvärderingssteg (byggt på de önskade egenskaperna hos<br />

kartan) efter villkor-handlings steget. Om lösningen inte uppfyller de önskade egenskaperna måste man gå<br />

tillbaka i processen och försöka med en ny metod. Det andra sättet innebär att man använder en<br />

<strong>optimeringsmetod</strong> som strävar efter att hitta en lösning som så bra som möjligt överensstämmer med de önskade<br />

egenskaperna.<br />

• Problem 3: Algoritmer är konstruerade på punktnivån, vilket är en ”för låg” nivå för att beskriva<br />

generaliseringsprocessen. <strong>En</strong> kartograf ser på större delar av objekt (kurvor etc.) och generaliserar utifrån dessa<br />

delar.<br />

Förslag på lösning: Utveckla algoritmer som baseras på delar av objekt.<br />

Det finns idag ett flertal olika generaliseringsmetoder testade i prototypsystem som bygger på en eller flera av de<br />

föreslagna lösningarna ovan. Till en viss del börjar även tankegångarna slå igenom i kommersiella program, t.ex. har<br />

ESRI utvecklat en förenklingsalgoritm som bygger på <strong>kartografisk</strong>a regler om hur kurvor ska hanteras.<br />

Huvudämnet för denna artikel är simultan grafisk generalisering. I termer av de problem som togs upp ovan, är<br />

denna metod ett förslag på lösning till problem 1 och 2. Relationer mellan närliggande objekt modelleras, och<br />

generalisering utförs i ett enda steg. I detta steg söks en lösning som en ”optimal” kompromiss av ”alla” önskade<br />

egenskaper hos en karta. I dagsläget behandlas inte metoden alls problem 3, men rent principiellt kan simultan<br />

grafisk generalisering modifieras för att hantera denna aspekt.<br />

Önskade egenskaper hos en generaliserad karta<br />

Kartografiska data ska idealt sett både vara en god representation av verkligheten (enligt en konceptuell modell), och<br />

vara läsbar. Dessa två egenskaper är delvis motstridiga. För att göra en karta mer läsbar måste ibland objekt förflyttas<br />

eller förenklas, vilket gör att objekten blir en sämre representation. Nedan beskrivs ett tiotal typer av önskade<br />

<strong>kartografisk</strong>a egenskaper som används i simultan grafisk generalisering. Dessa egenskaper delas in i tre<br />

huvudkategorier: läsbarhets-, karakteristik- och positionsegenskaper. Läsbarhetsegenskaperna strävar efter att<br />

förändra kartan så att den blir mer lättläst, medan karakteristik- och positionsegenskaper försöker bevara kartan som<br />

den är, dvs. bevara en så bra representation som möjligt.


Läsbarhetsegenskaper<br />

Kartografiska data får inte innehålla någon rumslig konflikt (t.ex. överlappande symboler) och inte vara för<br />

detaljerad. Detta gör att läsbarhetsegenskaper är nära knutna till operationerna för grafisk generalisering. Följande<br />

läsbarhetsegenskaper eftersträvas i simultan grafisk generalisering:<br />

• Förenkling: Linje- och areaobjekt ska inte innehålla fler punkter än vad som är nödvändigt för att karakterisera<br />

objekten.<br />

• Utjämning: Vissa linje- och areaobjekt ska inte vara kantiga.<br />

• Förstoring: Objekt, och delar av objekt, måste vara tillräckligt stora för att vara tydliga på kartan.<br />

• Undanhållning: Två objekt får inte ligga för nära varandra.<br />

Figur 2: Två läsbarhetsegenskaper är inte uppfyllda. Dels är delar av vägen alltför detaljerade för den valda<br />

symboliseringen, dels ligger en av byggnaderna alltför nära vägen.<br />

Karakteristikegenskaper<br />

Det är viktigt att egenskaper för enskilda objekt, såväl som för grupper av objekt, bevaras i generaliseringen.<br />

Exempel på egenskaper som ska bevaras är: krökning hos linjeobjekt, parallellitet mellan byggnadsobjekt och<br />

storleksfördelning mellan objekt. I simultan grafisk generalisering används följande karakteristikegenskaper:<br />

• Krökning och segment längd: Karakteristiken (t.ex. krökningen) för area- och linjeobjekt ska bevaras.<br />

• Stelhet: Den interna geometrin för vissa objekt ska inte förändras.<br />

• Korsning: Vinkeln mellan två sammansatta linjeobjekt ska bevaras.<br />

Figur 3: Två karakteristikegenskaper har inte uppfyllts i generaliseringen. Dels har parallelliteten mellan de två stora<br />

byggnaderna försvunnit och dels har vinkeln mellan vägarna förändrats mycket.<br />

Positionsegenskaper<br />

Positionsegenskaper delas här in i två typer: absolut och relativ (jfr. kvalitetselement i [1]). Den absoluta<br />

positionsegenskapen beskriver positionen i relation till det geodetiska referenssystemet och den relativa<br />

positionsegenskapen beskriver positionen i relation till omkringliggande objekt. I simultan grafisk generalisering<br />

används två absoluta och en relativ positionsegenskap:<br />

• Förflyttning: Objekt ska inte förflyttas.<br />

• Riktningsförflyttning: Punkter i linjeobjekt ska förflyttas längs med linjen och inte tvärs linjen.<br />

• Relativa avstånd: Det relativa avståndet mellan närliggande objekt ska inte förändras (denna egenskap används<br />

då objekt är nära varandra, men inte så nära varandra att de överlappar varandra).


Simultan grafisk generalisering<br />

Simultan grafisk generalisering är en metod som är framtagen av artikelförfattaren med hjälp av främst Tapani<br />

Sarjakoski, Finska Geodetiska Institutet. Metoden är här endast översiktligt beskriven, den intresserade läsaren<br />

hänvisas till [4].<br />

I grafisk generalisering förutsätts att kartan är en bra representation enligt den konceptuella modellen. Detta innebär<br />

här att alla karakteristik- och positionsegenskaper är uppfyllda. Däremot behöver inte kartan vara läsbar, dvs. alla<br />

läsbarhetsegenskaperna är inte uppfyllda. För att göra kartan mer läsbar, måste kraven på en god representation<br />

minska. Idén med simultan grafisk generalisering är att man etablerar en kompromiss mellan karakteristik-,<br />

positions- och läsbarhetsegenskaper. Denna kompromiss innebär att flera egenskaper inte kommer att vara helt<br />

uppfyllda, men att inga egenskaper kommer att vara helt förbigångna.<br />

Vilka är de önskade egenskaperna för enskilda objekt eller grupper av objekt<br />

Ovan beskrevs en uppsättning av önskade egenskaper hos en karta. Det räcker dock inte att ha en uppsättning av<br />

tänkbara egenskaper hos en karta, vi måste också ha regler för hur dessa önskade egenskaper ska användas. Idealt<br />

sett ska de sökta egenskaperna användas på så sätt att objekten beter sig som en kartograf skulle behandla dem (oftast<br />

definieras bra generalisering som den som utförts av en erfaren kartograf, även om det finns vissa invändningar mot<br />

detta synsätt). Detta innebär, bland annat, att man bör tillämpa olika egenskaper för olika objekttyper, eftersom<br />

objekt av olika typer bör bete sig olika i den grafiska generaliseringsprocessen.<br />

Kartobjekt kan vara antingen stela eller omformbara. Den interna geometrin för stela objekt ska inte ändras under<br />

den grafiska generaliseringen. Detta gäller generellt för små objekt, t.ex. byggnader, och därför bör dessa objekt ha<br />

stelhetsegenskaper. Däremot brukar långsträckta objekt, t.ex. vägar, omformas under den grafiska generaliseringen.<br />

Exempel på lämpliga egenskaper för dessa objekt är förenkling, krökning och segment längd. Vad det gäller<br />

utjämningsegenskapen är denna önskvärd för mjuka objekt (t.ex. åar och strandlinjer), men inte för kantiga objekt<br />

(t.ex. kraftledningar och byggnader).<br />

De flesta av egenskaperna ovan är definierade för enskilda objekt; de enda egenskaper som är definierade för<br />

relationer mellan objekt är korsning, undanhållning och relativa avstånd. För att bestämma när dessa egenskaper är<br />

önskade behövs en analys av den ursprungliga kartan. För korsningsegenskapen är denna analys enkel. I en<br />

topologisk datastruktur lagras explicit vilka linjeobjekt som sitter ihop, och således är det lätt att identifiera<br />

korsningar och förgreningar mellan objekt. Vad det gäller egenskaperna undanhållning och relativa avstånd är<br />

situationen svårare. För dem behövs information om vilka objekt som ligger nära varandra på kartan, vilket inte<br />

lagras explicit i en vanlig topologisk datastruktur. I våra tillämpningar har vi valt att använda en (constrained<br />

Delaunay) triangulering för att identifiera närliggande objekt och sedan att tillämpa regler för hur egenskaper ska<br />

definieras utifrån trianguleringen.<br />

Optimeringsteknik<br />

Detta avsnitt behandlar hur vi kan hitta en optimal kompromiss av de önskade egenskaperna. Startpunkten till att<br />

hitta en sådan kompromiss är att uttrycka egenskaperna i analytisk form. I den grafiska generalisering endast<br />

omformas eller förflyttas objekt; dvs. punkterna som bygger upp objekten finns både före och efter generaliseringen.<br />

Detta ger oss möjligheten att analytiskt formulera egenskaperna med hjälp av punkternas lägen. För att göra<br />

beräkningarna enklare har vi begränsat oss till att definiera egenskaperna som linjära funktioner av<br />

punktförflyttningar. Alltså kan varje egenskap skrivas på formen:<br />

konst ⋅ ∆x<br />

+ konst ⋅ ∆y<br />

+ ... + konst ⋅ ∆x<br />

+ konst ⋅ ∆y<br />

= konst<br />

x1 1 y1<br />

1<br />

xn n yn n eg<br />

(1)<br />

där<br />

∆ xi , ∆y i är förflyttningar för punkt i,<br />

konst xx är konstanter som bestäms utifrån typ av egenskap och punkternas ursprungliga koordinater, och<br />

n<br />

är antalet punkter.


Tillsammans bygger alla egenskaperna, uttryckta i form av Ekvation (1), upp ett ekvationssystem där punkternas<br />

lägen är de okända storheterna. Lösningen till detta ekvationssystem ger alltså hur mycket varje punkt ska förflyttas<br />

för att man ”så bra som möjligt” ska uppfylla de önskade egenskaperna. I realistiska tillämpningar har<br />

ekvationssystemet ungefär dubbelt så många sökta villkor som obekanta (se Tabell 1), dvs. det är ett överbestämt<br />

ekvationssystem. Ett överbestämt ekvationssystem har ingen unik lösning. Det är här naturligt eftersom<br />

läsbarhetsegenskaperna försöker förändra kartan för att göra den mer lättläst, samtidigt som karakteristik och<br />

positionsegenskaperna försöker bevara kartan som den är.<br />

I simultan grafisk generalisering används minsta kvadratmetoden för att bestämma lösningen av det överbestämda<br />

ekvationssystemet. Minsta kvadratmetoden kräver att man sätter en vikt på varje egenskap. Hur man ska bestämma<br />

dessa vikter är en svår fråga. I test 1 nedan är vikterna satta rent empiriskt. Först testades preliminära vikter och<br />

sedan ändrades dessa tills resultatet blev tillfredsställande. I test 2 bestämdes vikterna utifrån (apriori) acceptabla<br />

avvikelser ifrån egenskaperna (se Tabell 2). Ett annat problem är att minsta kvadratmetoden är mycket<br />

beräkningskrävande här; man måste lösa ett ekvationssystem med dubbelt så många obekanta som punkter (en<br />

obekant i varje riktning), vilket ofta innebär flera tusen obekanta. Detta gör att beräkningsmetoder för att hantera<br />

stora ekvationssystem är nödvändiga. För att lösa ekvationssystemet har vi valt att arbeta med konjugat-gradient<br />

metoden, vilket har visat sig vara en beräkningsmässigt effektiv metod för dessa tillämpningar.<br />

Den ansats vi valt förutsätter att alla punkter finns kvar efter den grafiska generaliseringen. Samtidigt vill vi förenkla<br />

linjer, dvs. ta bort punkter som inte behövs för att visa karakteristiken på linjer. För att kunna förenkla linjer i<br />

simultan grafisk generalisering görs följande. I optimeringsprocessen placeras onödiga punkter på linjen mellan sina<br />

angränsande punkter, och därefter tas de bort med en förenklingsalgoritm. Fördelen med detta förfarande är att man<br />

får bättre kontroll över de rumsliga relationerna mellan objekten än om punkterna tas bort direkt (se Figur 4).<br />

Figur 4: Den onödiga punkten b flyttas till b’ på linjen mellan de angränsande punkterna a och c. När punkten flyttas<br />

ser en undanhållningsegenskap (eller en relativa avståndsegenskap) till att ringobjektet flyttas i pilens riktning. I en<br />

senare process kan sedan den oönskade punkten tas bort. På detta sätt undviks rumsliga konflikter och topologiska<br />

fel mellan linjeobjektet och ringobjektet.<br />

Användarperspektiv<br />

Sett från ett användarperspektiv (inom kartproduktion) fungerar simultan grafisk generalisering enligt följande. Det<br />

finns ett <strong>kartografisk</strong>t dataset som behöver grafisk generalisering. Användaren bestämmer vilken typ av egenskaper<br />

(stelhet, omformbarhet, etc.) som varje objektstyp (vägar, byggnader, etc.) ska ha. (I våra tester har vi arbetat i<br />

LAMPS2 objektorienterade databasmiljö. Detta har gjort det möjligt att definiera grafiska generaliserings klasser<br />

med olika egenskaper; dvs. det enda användaren behöver göra är att se till att den <strong>kartografisk</strong>a objektsklassen ärver<br />

ifrån rätt grafisk generaliserings klass.) Vidare måste användaren bestämma vikter för de olika egenskaperna (en vikt<br />

per typ av egenskap och typ av objekt). Denna viktning kan utföras genom att användaren specificerar hur stora<br />

avvikelser som är tillåtna för de olika egenskaperna (se Tabell 2). Vidare ska användaren specificera hur nära olika<br />

typer av objekt får ligga varandra. Detta görs genom att sätta en parameter för varje typ av objekt, där parameterns<br />

storlek är relaterad till den valda symbolisering. När alla dessa inställningar är klara körs programmet från en meny.<br />

När generaliseringen är klar har ett antal varningsmeddelanden skapats för de önskade egenskaperna som inte har<br />

uppfyllts (användaren kan själva välja gränsen för varningsnivån). Användaren kan sedan studera detaljerna i dessa<br />

varningsmeddelanden (Figur 6d). Tillsammans med en visuell studie av resultatet kan dessa detaljer hjälpa<br />

användaren att avgöra om manuell editering av kartan är nödvändig.


Tester av simultan grafisk generalisering<br />

Vi har skrivit ett C++ program för simultan grafisk generalisering som kommunicerar med det kommersiella<br />

karthanteringsprogrammet LAMPS2 [7] via textfiler. I denna artikel presenteras två tester av detta program. I det<br />

första testet användes data från finska lantmäteriet. I detta test studerades både <strong>kartografisk</strong>a och beräkningstekniska<br />

aspekter av simultan grafisk generalisering. I det andra testet användes data från svenska lantmäteriet. Huvudsyftet<br />

med detta test var att studera en metod att sätta vikter på egenskaperna samt en metod för kvalitetsutvärdering av<br />

generaliseringen.<br />

Test 1<br />

Figur 5a visar en karta från det finska lantmäteriet (skala 1:10 000). Denna karta skulle generaliseras till en skala<br />

omkring 1:50 000. Generaliseringsprocessen skedde i två steg. Först gjordes en modellgeneralisering, i vilken bl.a.<br />

små byggnader togs bort och större byggnader representerades med punktobjekt. Det andra steget var en grafisk<br />

generalisering som utfördes av vårt program för simultan grafisk generalisering. I Figur 5b visas, bland annat, att<br />

programmet lyckades lösa alla rumsliga konflikter, även de rumsliga konflikter som delvis orsakades av förenkling<br />

av objekt. Detta resultat påvisar fördelarna med att hantera generaliseringsproblemet som ett optimeringsproblem,<br />

där även relationerna mellan objekt modelleras. Hade en traditionell ansats använts här hade, troligen, förenkling av<br />

sjön skapat svåra rumsliga problem, eller till och med topologiska fel, gentemot byggnadsobjekten. Det är tveksamt<br />

om en efterföljande undanhållningsalgoritm hade klarat av att lösa dessa problem på ett tillfredsställande sätt.<br />

Figur 5a: Ursprunglig karta i skala 1:10 000.<br />

© The National Land Survey of Finland, all rights<br />

reserved.<br />

Figur 5b: Resultat från simultan grafisk<br />

generalisering. De ursprungliga objekten är<br />

symboliserade i halvton, medan de generaliserade<br />

objekten visas i helton.<br />

I Tabell 1 visas resultat från ett test av beräkningseffektiviteten med data i Figur 5a. I testet användes en PC, med en<br />

Pentium II, 266 Mhz processor. Programmet klarar alltså av att lösa ett grafiskt generaliseringsproblem omfattande<br />

ett par tusen punkter på 5-10 sekunder med en standarddator. Detta är tillräckligt snabbt i en interaktiv tillämpning i<br />

kartproduktion, men är för långsamt för tillämpningar i realtid. Testet indikerar också att beräkningstiden ökar<br />

någonstans mellan linjärt och kvadratiskt i relation till antalet punkter.


Antal objekt Antal punkter Antal önskade egenskaper Beräkningstid(s)<br />

49 606 2325 2<br />

65 2399 6947 5<br />

101 2856 9744 9<br />

118 2520 8479 13<br />

245 4168 14105 20<br />

Tabell 1: Test av beräkningseffektiviteten i simultan grafisk generalisering.<br />

Test 2<br />

Detta test utfördes med data från svenska lantmäteriet i skala 1:10 000, där den önskade skalan är omkring 1:50 000.<br />

Återigen delades processen upp i modell och grafisk generalisering. I modellgeneraliseringen var här urvalet av<br />

byggnader bland annat baserat på om byggnaden är bostadshus eller annan typ av byggnad. I den<br />

modellgeneraliserad kartan är stora byggnader representerade som areaobjekt och små byggnader som punktobjekt.<br />

Vidare togs traktorvägar och vissa mindre vägar bort.<br />

Ett syfte med detta test var att utvärdera en metod att sätta vikter för egenskaper i simultan grafisk generalisering.<br />

Kortfattat går viktsättningsmetoden ut på att användaren har kännedom om hur stora avvikelser som får göras för<br />

varje typ av egenskap, och att vikterna sedan sätts som en funktion av de tillåtna avvikelserna. I Tabell 2 anges<br />

tillåtna avvikelser för tre typer av egenskaper. Avvikelserna har följande geometriska tolkning:<br />

• Undanhållning: Objekten ligger z meter närmare varandra än det specificerade minimumavståndet.<br />

• Förflyttning: Punkten har flyttats z meter längs en av koordinataxlarna.<br />

• Krökning: Vinkeln mellan två på varandra följande linjesegment har ändrats z radianer.<br />

Idealt sett ska värdena z vara relaterade till kvalitetsparametrar i metadata.<br />

Den valda viktssättningsmetoden har trevliga egenskaper vad det gäller den sökta kompromissen i följande<br />

meningen: avvikelsen från två motstridiga önskade egenskaper blir ungefär lika stora i relation till de tillåtna<br />

avvikelserna. I Figur 6c visas resultatet av den grafiska generaliseringen. I detta fall gjordes endast en obetydlig<br />

förenkling av vägar (vilket också är fallet när den topografiska kartan – 1:50 000 – skapas från fastighetskartan – 1:<br />

10 000); de stora förändringen i den grafiska generaliseringen är att rumsliga konflikter har lösts, byggnader har<br />

förstorats (de som är representerade som area objekt) och åkrar förenklats. I stort sett klarade programmet av att lösa<br />

alla rumsliga konflikter. I två fall misslyckas dock programmet. Det första fallet är att under vissa omständigheter<br />

missar programmet att sätta krav på avstånd mellan vissa punkter. Denna svaghet kommer ifrån att det är svårt att<br />

definiera generella regler för vad som är en rumslig konflikt. Det andra fallet är när ett objekt trycks ihop mellan<br />

andra objekt och det är svårt att skapa rum för objektet utan att göra alltför stora ändringar av omkringliggande<br />

objekt. Detta är fallet för byggnadsobjektet i Figur 6d, som är klämt mellan ett vägobjekt och ett åkerobjekt.<br />

Byggnadarea<br />

Byggnadpunkt<br />

Stor<br />

väg<br />

Liten<br />

väg<br />

Åker Kraftledning<br />

Undanhållning (m) 1.0 1.0 1.0 1.0 1.0 1.0<br />

Förflyttning (m) 8.0 8.0 4.0 8.0 8.0 8.0<br />

Krökning (rad) * * 0.05 0.1 0.1 0.05<br />

Tabell 2: Tillåtna avvikelser från tre typer av önskade egenskaper. <strong>En</strong> stjärna betyder att dessa egenskaper inte<br />

användes för objekttypen. Ur tabellen kan man bland annat tolka att vi tillät mindre förflyttning av punkterna och<br />

ändring av krökning för stora vägar än för små vägar.<br />

Ett annat syfte med testet var att utvärdera en kvalitetsrutin. Den föreslagna viktsättningsmetoden tillhandahåller en<br />

kvalitetsutvärderingsparameter som anger hur stor avvikelsen från egenskapen blev i relation till den tillåtna<br />

avvikelsen. Denna kvalitetsparameter kopplades till ett visuellt varningssystem. I Figur 6d,e visas två<br />

varningsmeddelanden som har utfärdats efter den grafiska generaliseringen, dessa varningsmeddelanden är<br />

rödfärgade objekt som ligger överst i kartbilden. Ett av dessa varningsmeddelanden är valt av användaren och<br />

detaljerna i varningen ges i Figur 6d. Dessa detaljer ger att undanhållningsegenskapen inte har uppfyllts (Constraint<br />

type: Displacement), och att avvikelsen är en faktor på drygt 2 större än den tillåtna avvikelsen (Quality level: 2.13).<br />

Den tillåtna avvikelsen var i detta fall 1.0 meter (se Tabell 2), dvs. byggnaden ligger drygt två meter för nära åkern.


(a)<br />

Det ursprungliga<br />

datasetet kommer från<br />

Lantmäteriverket.<br />

Tryck med tillstånd<br />

507-98-4091.<br />

© Lantmäteriet<br />

Modell<br />

generalisering<br />

(b)<br />

(c)<br />

Grafisk<br />

generalisering<br />

(e)<br />

(d)<br />

Figur 6: Test av simultan grafisk generalisering. (a) visar den ursprungliga kartan, (b) visar den<br />

modellgeneraliserade kartan, (c) visar den modell och grafiskt generaliserade kartan, (d) visar två<br />

varningsmeddelanden som skapats och (e) förklarar geometrin för dessa två varningsmeddelanden.


Diskussion<br />

I artikelns inledning beskrevs två typer av generalisering: kartproduktions- och realtidsgeneralisering. Frågan är hur<br />

bra simultan grafisk generalisering är för dessa typer av generalisering. Vad det gäller kartproduktion, är de<br />

<strong>kartografisk</strong>a kraven mycket höga. Simultan grafisk generalisering, liksom andra automatiska metoder, kan inte helt<br />

uppfylla dessa krav. Däremot är simultan grafisk generalisering tillräckligt bra för att fungera som ett process före<br />

manuell generalisering för att minska den totala arbetstiden. För detta ändamål är det viktigt att kvalitetssystemet är<br />

väl utbyggt (jfr. Figur 6d,e). Vad det gäller realtidstillämpningar ger simultan grafisk generalisering ett rätt bra<br />

resultat från en <strong>kartografisk</strong> synvinkel. Däremot krävs kortare processortider; utveckling sker dock för hårdvara, och<br />

även algoritmerna kan förbättras, så detta är nog ett hanterbart problem i framtiden.<br />

Slutligen bör man ställa sig frågan: kommer simultan grafisk generalisering att bli kommersiellt tillgänglig Nja,<br />

troligen inte som den presenteras här. Personligen tror jag att en mer relevant fråga är om metoder som bygger på<br />

liknande principer (hantera relationer mellan objekt, söka kompromisser mellan egenskaper, etc.) kommer att<br />

utvecklas för kommersiella ändamål. <strong>En</strong> sådan utveckling är nog nödvändig; dagens sekventiella villkor-handlings<br />

metoder för automatisk generalisering kommer aldrig att bli riktigt framgångsrika. Dock lär nog utvecklingen av nya<br />

metoder dröja, bland annat beroende på följande tre aspekter. För det första krävs att man använder en mer avancerad<br />

rumslig datastruktur än vad som används i kommersiella program idag. Generaliseringsproblemet i sig är kanske inte<br />

tillräckligt stort för att motivera en mer avancerad datastruktur, men eftersom det finns flera andra processer som<br />

skulle ha nytta av sådana datastrukturer kanske det kommer inom en rimlig framtid. För det andra krävs en<br />

fullständig topologisk datamodell. Som det är idag lagras oftast bara topologiska relationer inom ett skikt (t.ex.<br />

vägskiktet) och det är kostsamt att utifrån dessa data att skapa en fullständig topologisk modell. Dessutom finns<br />

många nackdelar med en sådan modell i andra tillämpningar. För det tredje krävs en hel del utvecklingsarbete innan<br />

metoder av denna typ är produktionsmässiga både vad det gäller <strong>kartografisk</strong>a och beräkningsmässiga krav. Eftersom<br />

kartproduktion är, relativt sett, en liten bransch är det nog inte ekonomiskt att utveckla bra metoder endast för dessa<br />

tillämpningar. Men kanske kommer trycket från realtidstillämpningar vara så stort i framtiden att någon tror sig tjäna<br />

pengar på att utveckla mer avancerade generaliseringsmetoder.<br />

Slutord<br />

Ett tack till lantmäteriet för att ha stött detta projekt både finansiellt och med <strong>kartografisk</strong>a data. Vidare tackas mina<br />

handledarna Bengt Rystedt, Tapani Sarjakoski och Leif Svensson för goda råd och hjälp.<br />

Referenser<br />

[1] CEN. Geographic information – Data description – Quality. Europeisk förstandard ENV 12656, 1998.<br />

[2] Davidsson, F., L. Harrie, och A.-K. Hellström. Kartografisk generalisering ur ett produktions- och<br />

forskningsperspektiv. Kartbladet, Nr. 1999:1, sid. 26-34.<br />

[3] Eklundh, L. (red). Geografisk informationsbehandling – metoder och tillämpningar. Byggforskningsrådet, ULI,<br />

1999.<br />

[4] Harrie, L. An Optimisation Approach to Cartographic Generalisation. Doktorsavhandling, Avdelningen för<br />

Fastighetsvetenskap, <strong>Lunds</strong> Universitet, 2001.<br />

[5] ICA. Multilingual Dictionary of Technical Terms in Cartography, 1973.<br />

[6] Lantmäteriverket. HMK-Databaser, 1994.<br />

[7] Laser-Scan. http://www.laser-scan.com/, 2001.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!