Kategorier
Kartritning

Branter – från 350 000 till 7000 objekt enligt Kinnebergsmetoden

En av de saker jag tänkt på länge med automatiserade kartor är hur man får till branterna på ett bra sätt i ocad. Det går att använda outputen från kartapullautin antingen som bakgrundsbild eller att göra om filerna *c2.dxf och *c3.dxf till branter. Men det man får ut från kartapullautin är väldigt många korta streck där det finns branter, en brant kan bestå av lätt 20 små streck från kartapullautin. Gör man kartor i ett område där det naturligt finns många branter – exempelvis skärgårdsnatur på västkusten blir det lätt många brant-objekt, och det blir snart omöjligt att jobba med en kartfil i ocad. När jag över julen gjorde utkastet till en karta över Björkö så räknade jag ihop över 350 000 brantobjekt från kartapullautin på ön. Med lite hjälp från GIS-experter i klubben (tack Eskil Kinneberg) så kom jag äntligen på hur man kan förenkla detta.

Processen går enkelt till så här. Jag förutsätter att man kört kartapullautin och har brantfilerna klara. I processen använder jag programmet QGIS.

  1. Skapa polygoner i qgis som omsluter brantobjekt som ligger nära varandra.
  2. Skapa centrumlinjer i polygonerna
  3. Importera branterna i OCAD.

Steg 1. Skapa polygoner

Brantobjekten från kartapullautin kan det se ut så här:

I exemplet ovan är det över 1000 objekt i det som borde vara två branter.

Att tänka på:

När man jobbar i qgis måste man se till så projektet och lagret är i rätt georeferering. Skapa ett projekt med sweref 99 TM som bas. Lägg därefter in brant-filerna, exempelvis merged_c3.dxf för din sammanslagna fil med passerar branter och se till att sätta det lagret till rätt koordinatsystem också.

I QGIS kör man sedan funktionen ”Buffer” som finns under Vector-menyn. Jag provade mig fram till att använda Distance till 2 för att få lagom polygoner. Man vill även köra Dissolve så man slår ihop polygonerna som ligger över varandra. Något annat ändrade jag inte i grundtestet.

Så här ser resultatet av Buffer ut, där jag lagt upp lagret med branterna från kartapullautin ovanför.

Steg 2 – hitta centrumlinjer för polygonerna

Från polygonerna i detta lager vill man sedan hitta centrumlinjen – det som skall bli våra branter i kartan. För det har jag använt funktionen v.voronoi.skeleton. Jag hittade den genom att söka efter centerline i toolboxen som man hittar under menyn ”Processing”. Jag ändrade en parameter från standard – smoothing sattes till 1,25 för att få mjukare linjer.

I bilden nedan syns polygonerna, och dess centrumlinjer som kommit ut från voronoi-formeln.

Lagret med centrumlinjerna sparar man sedan ut som en shapefil. Glöm inte sätta rätt georeferering på lagret bara i sparaprocessen. Man högerklickar på lagret och väljer ”Export” och får upp den här vyn:

Steg 3 – importera i OCAD

Hur man importerar filer i OCAD har jag gått igenom i andra artiklar. Så jag hänvisar istället till dem. Det är samma princip som om man tar in filer från kartapullautin enligt https://stefansolsida.wordpress.com/2017/06/30/att-lagga-in-kartappullautin-output-i-en-karta-orientering-kartritning-kartor/

Här är området ovan som det ser ut just nu på kartan (som är mitt i processandet)

Funderingar och förbättringar

Från Kartapullautin får man ibland ut branter enligt båda kategorierna som ligger över varandra. Ett steg där man sorterar bort passerbara branter som ligger över opasserbara branter kan läggas till.

Någon form av smoothing kan göras på brantlinjerna man får ut. De hade ofta många små svängar, det kan förmodligen bero på att jag inte trimmat parametern ordentligt i voronoi-funktionen?

Linjerna får ibland konstiga svängar på slutet i min process, kanske samma sak som ovan med parametrar.

Resultat

Kartan över Björkö har istället för 350 000 brantobjekt som kom ut från Kartapullautin de mer hanterbara 7000. Kartfilen blir mindre, och jag kan dessutom justera brantobjekten på ett enklare sätt.

Namnet

Jag funderade på om brant-metoden i QGIS skulle kallas världsmästarmetoden eller Kinnebergmetoden. Just nu bestämde jag mig för Kinnebergmetoden, men om världsmästarmetoden blir mer använd så byter jag givetvis namn i rubriken.

3 svar på ”Branter – från 350 000 till 7000 objekt enligt Kinnebergsmetoden”

Hi Stefan, thanks for sharing this. It’s a great solution. I’d like to use this solution for a training map. An issue is that the skeleton is not as one would expect (eg. ending perpendicular to the slope) and so i wanted to use the buffer and then to thin the areas before running the skeleton. I was looking for an erosion mechanism to be run on the areas but can’t find one. Would you possibly know where in qgis to look for it or under what term?

Gilla

I must admit that I’m not 100% happy with the end of some of the skeleton lines. They tend to make some strange bends once in a while. I’ve been playing around with different settings to see if it makes a difference, but I do not seem to find a better set up, that works well in the type of terrain I usually work with. In the end I tend to be happier with this result than I was with the many lines of the kartapullautin output. And then if I work more on a map I go over the cliffs manually and correct them,

I did in QGIS try to work with some tools of simplifying the polygons, to see if that worked better. Also trying to make them smaller by changing settings in the buffer-tool. But it did not make that big of a difference. My QGIS skills and not the best so I don’t know always what to look for, but often get good help from egis users on forums.

If you do find out a better solution – please let me know. Would love to improve the method if I can.

Gilla

Svara

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com-logga

Du kommenterar med ditt WordPress.com-konto. Logga ut /  Ändra )

Google-foto

Du kommenterar med ditt Google-konto. Logga ut /  Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut /  Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut /  Ändra )

Ansluter till %s