Vid årsskiftet släppte Helsingborg sin baskarta som öppna data. I detta inlägg tittar jag närmare på vad dessa innehåller, hur de distribueras och vad man kan göra med dem. Det var i alla fall intentionen när jag började…
Via https://oppna.helsingborg.se/datakallor/baskarta/ kan man läsa mer om dessa data och även ladda hem en zip-fil med alla data.
Kartan innehåller byggnader, kommunikation, markanvändning och adresser. Det innebär i princip alla data som man inom en kommun ser som gemensam mellan olika funktioner. Olika avdelningar har säkert sedan ytterligare data som är mera specialiserat som exempelvis vatten och avlopp. Detta är också data som jag inte nödvändigtvis tycker skall vara öppen och fritt tillgänglig. Men sådant som man ändå ser direkt genom att vara på plats kan mycket väl vara öppen.
Zip-filen innehåller en fil per objekttyp i GeoJSON format (?). Undrar varför man valt det formatet. Mina tidigare experiment med filformat har inte direkt visat att GeoJSON är ett speciellt bra format när det är mycket data. Det blir stora filer och laddningstiderna i QGIS är väldigt långa. Det här kommer säkert att ställa till med problem för mig.
Det är ganska mycket data att gå igenom och det tar väldigt mycket resurser för att hålla alla data i RAM. Undrar om QGIS brukar äta upp så här mycket minne?
För att hantera data lite enklare och för att köra lite databasrepetition så läser jag in alla lager i en PostGIS databas.
Ett nytt schema och en ”batch” import av vektordata borde ju lösa det problemet, men se där fick jag ”tji”! Tabellnamn från GeoJSON verkar inte fungera automatiskt så dessa behöver fyllas i manuellt. Det verkar dessutom vara en del ”multigeometrier” blandat med ”singelgeometrier”. Efter 1200 felaktigheter så avbryts importer…
Det är så mycket strul att det faktiskt hade gått snabbare att importera varje lager för sig manuellt direkt.
”transport.MAPROADEDGE” är exempelvis 172.2 Mb stor och innehåller ”LineString” och ”MultiLineString”. När jag sparar om till GeoPackage (som också kan hantera flera geometrier) så blir filen 112 Mb. Om jag uttryckligen anger att importen till PostGIS skall bli ”multipart” så kommer det att fungera, men det är ännu ett extra moment som tar tid.
För mig så var valet av GeoJSON inte speciellt bra. Kan hoppas att det erbjuds ett annat format i framtiden. Åtminstone GeoPackage, som också kan hantera olika typer av geometrier i en och samma fil.
Såå… Äntligen lite närmare titt på alla data, och med data i databas (PostGIS eller GeoPackage) så slipper jag läsa in alla data sekventiellt så fort något skall göras. Och inte skenar användningen av RAM heller!
Vad skall jag då säga om innehållet i dessa data? Jag har faktiskt inte så mycket tid över för en detaljerad efterforskning, men exempelvis adresser kan säkert vara användbara. Annars brukar jag tycka att byggnadspolygoner är extra trevliga att ha.
Jag saknar lite markanvändning men framför allt polygoner för hydrografin och vägar/hårdgjorda ytor.
Nu skall man inte klandra Helsingborg för mycket, det de gör är inte alls klandervärt, snarare tvärt om. Fler borde göra likadant, men kanske välja GeoPackage som format i stället för GeoJSON.
En sista invändning är även att om man publicerar data i ett filformat så behöver dessa uppdateras med jämna mellanrum, vilket innebär arbete för både kommunen och för de som använder dessa öppna data. Jag kan förstå om man gör detta för att man inte vill släppa ut en WFS tjänst från den egna databasen till allmänheten, men denna typ av tjänst hade nog varit att föredra. Kanske någon form av spegling av valda delar av databasen till en ny server som sedan publicerar dessa som WFS på ett säkert sätt.
Bra jobbat hur som helst. Frågan är vem som överträffar Helsingborg här näst?
Hej Klas! Tack för dina idéer om förbättringar. Kan utlova att vi kommer se över tillhandahållandet av baskartan i vår och då är dina test och tankar här mycket värdefulla. Att det blev just GeoJSON vid släppet berodde på ambitionen att inte särbehandla GIS/CAD-användare utan tillhandahålla data i ett öppet format. GeoPackage kommer vi definitivt undersöka närmare. Att tillhandahålla en WFS eller liknande hade också varit värdefullt. Funderingar det leder till är behov av separata servrar för att inte sänka kärnverksamheten, servicegarantier på upptid och hur långt vi ska ta uppdraget om öppna data (vad gäller ”tillämpningstjänster”).