Automatdigitalisera kartor 2
Jag testade igen att digitalisera höjdkurvor med datorns hjälp.
Jag började med en scannad fil:
Den öppnade jag med GIMP och försökte reducera antalet färger, men det strulade massor. Hur jag än reducerade färgerna så blev det också nyanser av de färgerna. Kunde heller inte sedan göra alla färgade pixlar till en färg. Mysko! Till slut lyckades jag med färgreducering och kontrastverktyg få till en sån här karta. Kan inte beskriva arbetsgången, det var så måga försök. Förra gången jag gjorde detta funkade det klockrent på första försöket. Synd jag inte skrev upp exakt hur jag gjorde...
Denna sparade jag med GIMP som Windows Bitmapp, 24 bitar och utan att beskriva färgrymden, väljs i GIMPs exportmodul under "avancerat".
Jag började med en scannad fil:
Denna sparade jag med GIMP som Windows Bitmapp, 24 bitar och utan att beskriva färgrymden, väljs i GIMPs exportmodul under "avancerat".
Efter det dags dra in BMP-filen på Contourtrace.exe, då kör den filen, Jag valde skala 15000 och 1 på antal pixlar/meter eftersom jag inte orkade räkan ut vad det var. Det straffar sig sen när man ska skala kartan rätt... Datorn jobbar på och producerar en .ai-fil som man kan öppna i OCAD 8 med fördel, som nämligen visar linjerna som grå streck till skillnad mot OCAD 9 som inte visar strecken.
Jag markerade allt och bytte till ett smalt violett streck och lade originalbilden bakom för att jämföra.
Som ni ser blev det inte så bra! Contourtrace misstolkar bilden rätt kraftigt. Dock kan man relativt enkelt fixa detta då linjerna ligger bra för att klippa dem i OCAD. Byter lite färger så ser ni:
Några få klipp av linjer, raderade punkter och några raderade linjer så blir det så här:
Jag byter till ett karttecken alla, och sedan markerar jag hela ytan och väljer "slå samman".
Ni ser att det är mycket "darr" på linjen som jag har markerad.
Nu gäller det att städa lite mer, så jag väljer att öppna filen i Open Orienteering Mapper, markerar området, väljer Verktyg Simplyfy path. Om jag markerar hela kartan här kraschar OOM (som inte är v 1.0 än) men det beror nog på att jag har så många kurvor som korsar varann (jag har inte städat hela filen). Så spara ofta och gör detta först då du städat filen helt!
Nu börjar det likna nåt! Jag kollar mot bakgrundsbilden:
Det är inte perfekt, men datorn har gjort det.
Hur det ser ut på andra delar av kartan, jag har nu bytt till grönstreckat så man ska se originalhöjdkurvorna under.
Det blir lite skidorientering över det hela när man har bruna andra objekt, för vägarna kommer med som höjdkurvor då de har samma färg.
Men på det hela taget tror jag att man sparar oerhört mycket tid med denna metod om man ska digitalisera en gammal karta. I väldigt detaljerade områden gör den mycket fel, men jag antar man kan förfina metoden, och försöka få Contourtrace att göra bättre ifrån sig.
Det finns följande kommandon att leka med, som jag inte gjort:
New parameters | Description |
---|---|
-always-merge-distance | Maximum size (in pixels) of gaps in lines which should be closed unser weaker preconditions and without inserting a new bezier curve (default: 7) |
-line-length-threshold | Lines whose endpoints are closer together than line-length-threshold pixels are deleted. This is useful to fight noise and to remove very short parts of lines resulting from overlap and whose direction cannot be determined exactly, leading to a distortion of the result (default 3.5) |
-map-scale | Scale number of the map in which the result is to be imported, for example 5000 for a scale of 1:5000 (default: manual entry) |
-max-gap-angle | Maximum angle (in degrees) of gaps in lines which should be closed automatically by ContourTrace (default: 70) |
-max-gap-distance | Maximum length (in pixels) of gaps in lines which should be closed automatically by ContourTrace (default: 60) |
-max-gap-smooth-distance | Maximum length (in pixels) of gaps in lines which should be smoothed. This prevents the creation of "waves" from sloppily cut lines in the contour image (for example as a result of a diagonally overlapping path) and the resulting wrong curvature of the line ends. On the other hand the line might become incorrect in the neighbourhood of the gap (default: 25) |
-meters-per-pixel | Meters per pixel in the contour image (default: manual entry) |
Changed parameters | Description |
-centerline | Activated by default |
-corner-threshold | Default value changed to 80 |
-error-threshold | Default value changed to 0.8 |
-filter-iterations | Default value changed to 2 |
-line-reversion-threshold | Default value changed to 0 |
-line-threshold | Default value changed to 0 |
Snart är allt detta inaktuellt med laserkurvornas intåg, men som ett alternativ kan man använda denna metod! Laserkartor som görs automatiskt får ju stora problem med undulationer som ligger nära eller strax under ekvidistansen man väljer. Då är det faktiskt bra att ha en karta där någon gjort urvalet.
Nästa steg är ju att lägga laserkarta bakom den karta man nu fixat, och i den justera höjdernas placering mha laserkurvor på säg 0,5-1 m ekvidistans.
Kommentarer
Trackback