Jag tänkte roa mig med att göra en karta i QGIS för en gångs skull. Det blir inte så ofta numera. När jag letade efter data jag kunde använda så upptäckte jag att val.se numera publicerar data i GeoJSON, eller man kallar det för ”json”, men det är något konstigt med dessa.
På sidan står det att man skall ange referenssystem SWEREF99 TM, vilket inte stöds av standarden så vitt jag vet. Ett tag tillät man andra CRS, men på grund av förvirring och missförstånd så togs detta bort när standarden uppdaterades 2008.
Den standard som nu gäller (RFC 7946) är från 2016 och här finns heller inget stöd för något annat referenssystem än WGS-84 och koordinater i Long/Lat.
Då det tidigare varit tillåtet, och då det inte uttryckligen står att det är förbjudet, så förekommer det tyvärr att GeoJSON data levereras i andra format, men i många fall betyder det problem. Genom att kalla dataformatet för JSON och inte ”GeoJSON” så kommer man ju runt problematiken med att data inte följer standard, men jag vet inte om detta var avsiktligt eller inte.
GeoJSON.io som är en webbtjänst för att hantera GeoJSON kan exempelvis inte hantera dessa filer. De program jag testat tolkar json-filen som just GeoJSON och då kommer exempelvis GeoJSON.io att rapportera att koordinaterna är fel.
Inte heller QGIS kan hantera lagren korrekt. Om inga andra data läses in så kommer data att visas, men QGIS utgår ifrån att det är koordinater i WGS-84 och således så går det inte att transformera om till korrekta positioner on-the-fly.
I stället måste man ”tvinga” QGIS att hantera lagret som om det vore ett annat koordinatsystem. Detta är tacksamt nog väldigt enkelt.
När detta väl är gjort så kommer i alla fall jag att spara om lagret så att denna typ av problem inte uppträder igen.
Den nya GeoJSON filen visas nu korrekt utan koordinatkonverteringar även i GeoJSON.io.
Jag passade även på att reducera koordinatprecisionen till 7 decimaler och då minskade filstorleken från 5.7 till 4.4 Mb. Men varför skall man lagra komplicerade data i ett textformat? När jag sparar om lagret som GeoPackage så blir det bara 2.8 Mb och då är koordinatprecisionen bevarad och koordinaterna är i SWEREF99 TM.
Valmyndigheten verkar dessutom ha ”snäppt” sina koordinater till 0,1 mm (vilket redan det placerar dem farligt nära xkcd-2170-land) och sedan drabbats av binära-flyttal-syndromet så att allt slutar på .12349999999 eller .34560000001