Open Location Code gick jag igenom igår. Idag gör jag en karta över Eksjö där jag försöker tillämpa OLC, eller ”plus-koder” på ett lämpligt sätt.
Till att börja med så behöver jag skapa det rutnät som delar in OLC, vilket inte är speciellt svårt. En grad delat på 20, i sin tur delat i 20. Det går att gå ner längre, men jag tror inte att det skall behövas, snarare är det så att jag skall göra två rutnät.
Första rutnätet
Jag börjar med ett rutnät med sidan 0,05 för de områden som beskrivs av AAAABB i koden (AAAABBCC+DD).
Verktyget finns i verktygslådan och det enda man skall tänka på är att ange en utsträckning som inte är för stor och välja EPSG:4326 som CRS. Ja just det! Utsträckningen måste vara en multipel på det intervall som önskas, annars är det bara storleken på rutorna som blir korrekta, inte utbredningen.
Självklart sparar jag i GeoPackage format!
För det andra rutnätet upprepar jag bara, men med intervallet 0,0025 i stället för att få den kod som motsvarar AAAABBCC.
Sedan kör jag en modifierad version av skriptet från igår för att sätta områdesnamnen som ett värde i ett attributfält.
Beroende på vilket lager det är jag skapar attribut för så reducerar jag kodens längd till de ”högre” positionerna.
Tänk på att begränsa ytan för inte minst det mindre rutnätet så mycket det går. Det tar nämligen lite tid att skapa, och det tar tid att räkna fram värden med fältkalkylatorn.
Jag använder sedan ett urval av ”adresser” i och runt Eksjö där jag genererar en fullständig kod för punkter. Då detta är samma punkter som definierar adresser i lantmäteriets databaser så borde dessa anses vara representativa för adressernas positioner.
I min karta så är enskilda adresser inte användbara, men jag skulle ju kunna göra en adressbok med mer detaljerade sidor för varje OLC område…
Att hitta etiketter som är tillräckligt tydliga, och samtidigt visar tillräckligt mycket information kan vara en utmaning, men jag har tur. Större delen av Eksjö tätort ligger inom ”9F9PMX” och då kan jag skapa ett uttryck som tar bort den delen av koden, så att det som skiljer bara behöver skrivas ut. Det är däremot några områden i utkanten av staden som tillhör en annan ruta, så för dessa så skriver jag ut några fler kodtecken.
Detta betyder att jag även måste anpassa storleken på texten, så att den alltid ryms innanför rutan, samtidigt som ytan utnyttjas maximalt. Det görs med i grunden samma if-sats fast där jag anger storleken för tecknen i stället för antalet tecken. Jag har även valt att ange storleken på tecknen i kartenheter, så att de hela tiden ritas ut lika stort i förhållande till fälten.
Ett ”index” för adresserna skulle sedan kunna utformas något som ovan. Vill man sedan göra blad för alla unika adresser så kan man göra det med en kartbok. Då skulle det kunna se ut som i bilden nedan.
Här uppstår dock lite bekymmer när man skriver ut mycket text för punkter som dessutom ligger väldigt nära varandra. I bilden ovan har jag inte skrivit ut alla adresser, det skulle inte synas…
dessutom är det ett antal adresser som ligger så nära varandra att de har samma adress.
Då får man ta till det elfte kod-tecknet.
I de allra flesta fall så kommer detta att räcka, men inte ens i Eksjö skapar det helt unika adresser. Då får man hoppas att det står ett namn på brevlådan också…
När jag tittar närmare på det här systemet av adresser så blir det mer och mer logiskt. Så länge man har ett ”index” för ett område så är det ganska lätt att hitta igen var en fullständig adress ligger. Nere till vänster i rutan slutar adresserna på +22 och uppe till höger +XX. Om det första tecknet efter plustecknet är ”högre” så skall man röra sig österut, och på motsvarande sätt norrut för det andra tecknet.
Ersätter detta då befintliga adresser? Nej, det gör det inte. Men som jag var inne på igår, så är det ett bra system att tillämpa där det inte finns något bra adressystem.