Met de ontwikkeling van de API’s voor data.pdok.nl lopen we tegen een functionele uitdaging aan m.b.t. het ontsluiten van GeoJSON in WGS84. De ‘payload’ van de response kan soms enkele MB’s groot zijn door complexe geometrieën in GeoJSON en dit is onacceptabel voor op het web. Dit komt door zowel veel decimalen per coördinaat als het aantal coördinaten zelf. Ik weet niet precies wat het praktische verschil is tussen beiden (verschil tussen precisie en zoomniveau ofzo?) maar wel dat we hiermee kunnen spelen. Ik ben benieuwd wat deze community hier nu eigenlijk van vindt!
Decimalen per coördinaat
De coördinaten zijn omgezet vanuit RD, waardoor we een nauwkeurigheid van 15 decimalen krijgen. Nu begrijp ik uit dit artikel (tnx voor de tip @emacgillavry!) dat dit gelijk staat aan een nauwkeurigheid van 0,1 nanometer (de grootte van een atoom) en dat deze precisie dus eigenlijk praktisch nergens op slaat. We zouden alle coördinaten kunnen afkorten tot 7 decimalen (cm) maar dan krijg je uiteindelijk neem ik aan wel afrondingsverschillen of kun je niet meer terug naar een andere stelstel? Een optie zou kunnen zijn om standaard ‘cm’ te hanteren en met een optionele parameter de gebruiker de nauwkeurigheid kunnen laten bepalen.
Aantal coördinaten
Ook hier ben ik benieuwd naar de term die hierbij hoort, maar een andere manier om de payload te verkleinen is het weghalen van een aantal coördinaten. Dit hangt echter wel af van het schaalniveau volgens mij: als je heel Nederland op de kaart hebt kun je best wat minuscule hoekjes weglaten, dat ziet een mens toch niet. Maar als er slechts 4 coördinaten zijn (ook al is dit een heel groot gebied dat heel Oost-Nederland beslaat) kan dit niet, want dan krijg je een driehoek. Kun je het ‘simplify’ algoritme toepassen op basis van het aantal coördinaten? En wat zou dan acceptabel zijn? Of ook hier default een algoritme toepassen en de gebruiken laten beslissen hoe ‘nauwkeurig’ (ben dus echt benieuwd naar het begrip dat hierbij hoort) hij/zij de response wil?
Zoekmachines
Eén van de dingen die we willen is dat zoekmachines de data gaan indexeren. Dit brengt echter wel tegenstrijdigheden met zich mee: als we alle decimalen en coördinaten behouden dan is de payload dusdanig groot dat een zoekmachine het niet leuk vindt en waarschijnlijk niet gaan indexeren, terwijl een geïndexeerde geometrie die niet 100% betrouwbaar is dus ook geen betrouwbaar antwoord kan geven op de eventuele vraag of ik op een bepaalde plek een brouwerij mag beginnen…
Ik ben zeer benieuwd naar jullie feedback en suggesties!
Groet, Dimitri