När jag satt med kartorna över Ukraina tidigare i veckan så slog det mig att jag skulle vilja lägga in UTM gränserna som linjer på min projicerade karta och se hur det ser ut.
Det finns säkert många bättre sätt att göra detta på men metoden är det som framför allt intresserar mig nu. I detta inlägg tittar vi på ”snapping” eller fästning som det heter i QGIS och diverse analysverktyg för att skapa linjer och ytor automatiskt. Samtidigt försöker jag belysa fler problem med projicerade kartor och oprojicerade data.
Tanken från början var att skapa ett linjelager och genom att ange koordinater manuellt skapa brytpunkter vid rätt punkter. Då uppstod problem nummer ett, hur anger man brytpunkter för vektorobjekt manuellt?
Efter att letat men inte hittat något så sätter jag upp det på ”att göra” listan och provar en annan modell. Jag anger helt enkelt koordinaterna i en textfil och öppnar den som tabell i QGIS.
longitude,latitude,etikett 0,0,"30/31" 0,85,"30/31" 6,0,"31/32" 6,85,"31/32" 12,0,"32/33" 12,85,"32/33" 18,0,"33/34" 18,85,"33/34" 24,0,"34/35" 24,85,"34/35" 30,0,"35/36" 30,85,"35/36" 36,0,"36/37" 36,85,"36/37"
Textfilen öppnas med verktyget för att lägga till separerade textfiler (näst längs ner till vänster i bilden nedan):
I dialogrutan så hittas automatiskt rubrikerna longitude och latitude så det skall inte behöva göras några justeringar, men en liten kontroll skadar inte.
Nu har punkterne lästs in, men jag vill ju ha linjer. Det går dock att skapa ett nytt linjelager och använda ”Val för fästning…” under menyn ”Inställningar” och se till att det finns ett värde i rutorna för de lager man vill kunna fästa emot. Jag väljer 5 pixlar som tolerans och börjar redigera mitt linjelager. Det är inte alltid det låser mot punkterna, men om man zoomar lite in och ut så brukar det dyka upp en extra markering som antyder att fästningen fungerat.
Linjerna fungerar bra, men bara om projektet är oprojicerat. Om man som jag projicerat i en UTM zon så blir det lite knas i kanterna.
I bilden ovan så är kartan projicerad i zon 36 och linjerna går mellan punkter på ekvatorn och 85 grader norr. Punkterna ligger på rätt ställe, men linjerna följer inte gradlinjerna utan dras kortaste vägen, vilket blir tydligt när man jämför linjen med punkten i England där den borde passerat igenom.
Det går att generera linjerna automatiskt med ett analysverktyg (bilden nedan) men dessa linjer skapas på samma sätt, och det blir än tydligare när jag även skapar latitudlinjer vid var åttonde latitud. Dessa skall ju också vara böjda.
Ett alternativ är att generera polygoner med samma intervall och därmed komma lite närmare sanningen, men det blir inte riktigt bra ändå.
Vill man ytterligare förbättra upplösningen så blir det till att lägga till flera brytpunkter. I bilden ovan så finns ca 10 brytpunkter längs med linjerna, men det går ganska smidigt att ”förtäta” dessa ytterligare med ett nytt analysverktyg.
”Förtäta geometrier” hittar man under menyn ”Vektor – Geometriverktyg”. Här har jag valt att lägga till 50 noder, vilket skapar 50 extra punkter mellan ändpunkterna i varje linje i originalfilen.
Avslutningsvis kommer här en bild som jämför de första linjerna med dessa förtätade.
Har du förresten märkt att jag använd gradientfyllning i polygonerna i bilderna ovan? Det blev faktiskt inte alls så dumt.