[NUUG kart] Forenkle kystlinjer o.a. med JOSM "Delete unnecessary nodes"

Helge Hafting helge.hafting at aitel.hist.no
Tue Jul 8 15:01:11 CEST 2008


Steinar Hamre wrote:
> On Mon, Jul 07, 2008 at 05:29:38PM +0200, Helge Hafting wrote:
>> Kystlinjer inneholder ofte massevis av korte linjestykker som kommer 
>> rett etter hverandre. Disse kan erstattes av en enkelt rett linje,
>> noe som sparer massevis av punkter. Kartet er like bra, men
>> mindre data å prosessere.
> 
> Dette er en av flere sideeffekter av den ikke-helt-optimale måten
> disse kystlinjene har blitt laget og konvertert på.

Greit nok.
> 
>> JOSM har en knapp "delete unnecessary nodes" som gjør akkurat dette.
> 
> Hmm... Hvor, og hvilken versjon? Hvilke begrensninger har den?

Vet ikke akkurat når knappen dukket opp, men den har vært der noen 
uker/måneder. (Jeg laster ned siste versjon nå og da.)
Prøv f.eks. versjon 682.

Jeg har følgende plugins:
utilsplugin, measurement, namefinder, validator, livegps

Hvis knappen kommer fra en plugin, vil jeg tippe utilsplugin eller 
measurement.

Holder man musepekeren over knappen, får man hjelpeteksten
"Delete unnecessary nodes from a way"
Bildet på knappen viser en rettlinjet vei med røde noder i hver
ende, og et par grå noder midt på. (De grå illustrerer noder
som forsvinner)

Den verste begrensningen er at man må velge én og én way, og trykke
knappen for hver av dem. Den virker ikke når man velger flere
veier samtidig.

Funksjonen er smart nok, den fjerner ikke punkter som også inngår i
andre veier, og heller ikke punkter som har egne tags (bortsett fra 
"source")


Det beste ville vel vært å kjøre hele planet.osm gjennom
et filter, men det tar vel tid å få organisert.
I mellomtiden har jeg brukt funksjonen på kystbitene
i  Trondheimsfjorden, så nå er dette området mindre krevende
for PCen å jobbe med.

Funksjonen er også fin å ha når noen har importert en
gpx-fil direkte - slike veier har gjerne punkter med
fast lengde i mellom selv på helt rette strekninger.

> 
>> Er det noen grunn til å ikke bruke denne funksjonen?
> 
> 
> Jeg startet for en stund tilbake med noe kode for å gjøre noe med dette.
> (tanken var å kjøre det før import av kystlinjene i Nordland,
> men så kom noen meg i forkjøpet...)
> 
> Parametrene (derror < 0.017 and lerror < 0.000009)
> er tillat feilmargin i vinkel (radianer) og avstand (grader)...
> 0.017 tilsvarer en grad sving og 0.000009 tilsvarer en meter.

Hvordan har du valgt akkurat disse tallene?

Idéelt bør en vel se på hvilken nøyaktighet kildematerialet har,
og så bruke maksimal avrunding innenfor dette. Det forenkler mest
mulig uten reelle tap.  Men her er det mange feller å gå i, man trenger
detaljer om hvordan dataene ble til i utgangspunktet.

F.eks. har gps en usikkerhet på et antall meter, men man kan ikke dermed
fjerne all variasjon som er mindre enn det, fordi nøyaktigheten
fra "punkt til punkt" er mye høyere enn det. Så selv om en vei
muligvis er forskjøvet 10-20 meter, så er formen korrekt med
mye høyere nøyaktighet. Differensiell gps kan gi nøyaktighet under
en meter, og forskjellen mellom to påfølgende punkter er nettopp
en slik differanse.

En annen sak er at folk i blant fikser på kystlinjene, f.eks. ved
å måle opp havneanlegg og strender. Så det er vel best å ikke
bruke kraftig avrunding på kystlinjer som er redigert av brukere.



Helge Hafting


More information about the kart mailing list