Trükkök a GeoJSON méretének csökkentésére és a webtérkép-alkalmazás sebességének növelésére -
Az egyik probléma, amellyel a webtérkép-alkalmazás létrehozása során szembesülünk, a térinformációk lehető leggyorsabb megjelenítése.
A GeoJSON formátum könnyebb, mint a GML szabvány, és elkerüli a tartományok közötti problémát is.
Ennek az egyszerű architektúrának problémája lehet: a GeoJSON objektum még mindig nagyon nehéz (a koordináták szöveges formátumába történő kódolásához használt számjegyek miatt), és ennek következtében a térképnek hosszú időbe telik az adatok megjelenítése.
A probléma az, hogy a webnézegető az egyes geometriákat ábrázolja, ezért minél nagyobb a csúcsok száma, annál lassabb lesz a térkép (25 KB/pont).
Nézzünk meg néhány trükköt a GeoJSON méretének csökkentésére és a webtérkép-alkalmazás sebességének javítására:
A TopoJSON egy GeoJSON kiterjesztés, amely a topológiát kódolja.
A TopoJSOn kiküszöböli az elbocsátásokat, kompaktabb geometriai ábrázolásokat kínál, mint a GeoJSON. Például két ország megosztott határa csak egyszer van ábrázolva, ahelyett, hogy mindkét ország megduplázódna, ily módon a megosztott pontokat csak egyszer képviselik.
A TopoJSON kvantitatívan meghatározza a koordinátákat, így az egyes íveket a kvantált koordinátái határozzák meg. A kvantálás egy vonaltranszformációból áll, amely egy skálából és egy fordításból áll, amely a tizedes részű koordinátákat egész számokká alakítja.
A redundanciák kiküszöbölésének és a koordináták számszerűsítésének köszönhetően, A TopoJSON fájlok 80% -kal kisebbek, mint GeoJSON megfelelőik.
TopoJSON konvertálása GeoJSON-vá
A legegyszerűbb a shpescape.com webhely használata, amely lehetővé teszi számunkra, hogy a shapefile fájlokat GeoJSON és TopoJSON formátumúra alakítsuk át.
- Távolítsa el az összes attribútumot, amelyet nem fog használni az alkalmazásban.
- Távolítsa el a szóközt is.
- Szüntesse meg a sortöréseket.
A következő példában láthatjuk, hogy miként ismételjük meg a kulcsokat (NAME, LATITUDE, LONGITUDE, POP_MAX)
Megoldás a fájl zsugorítására és tömörítésére távolítsa el ezeket a kulcsokat, és hozzon létre egy indexet a fejlécen. Az eredmény valami ilyesmi lenne:
Ennek a tömörítésnek az elvégzéséhez vannak olyan eszközeink, mint a HPack vagy a CJSON, mindkettő 60-70% körüli tömörítési arányt kínál.
Az egyik leghatékonyabb lehetőség a GeoJSON méretének csökkentésére vektor egyszerűsítése. Ily módon megszabadulunk a nem szükséges részletektől. Ez az egyszerűsítés vonalakra és sokszögekre szolgálna.