En optimeringsmetod för kartografisk ... - Lunds universitet
En optimeringsmetod för kartografisk ... - Lunds universitet
En optimeringsmetod för kartografisk ... - Lunds universitet
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.