Cum ajung hărțile în aplicație: tile-uri și servere de tile-uri
Fiecare hartă din TDM este formată din tile-uri pătrate, furnizate de un server de tile-uri pe Internet. Lumea este împărțită în niveluri de zoom: nivelul 0 arată întregul Pământ pe un singur tile, iar fiecare nivel următor împarte fiecare tile în patru noi. Aplicația încarcă doar tile-urile vizibile pe ecran.
Există două tipuri fundamental diferite: hărțile raster sunt imagini gata desenate (PNG/JPEG) — arată exact ca la furnizor, dar nu pot fi modificate și devin neclare la rotire sau înclinare. Hărțile vectoriale livrează în schimb geometria brută: drumuri, râuri și clădiri sub formă de coordonate. Desenarea are loc pe dispozitivul tău, cu un stil care definește culorile și fonturile. De aceea hărțile vectoriale rămân clare la orice zoom și pot fi rotite, înclinate și recolorate — TDM le redă cu motorul open source MapLibre.
Vezi și: De ce vin hărțile live de pe Internet · Hărți vectoriale vs. raster · Licențe de hărți: Azure, HERE — și de ce nu există Google Maps
De ce vin hărțile live de pe Internet
N-am putea pur și simplu descărca „toată harta“? Să facem calculul: cu fiecare nivel de zoom numărul de tile-uri se împătrește. La nivelul 20, Pământul este împărțit în peste un trilion de tile-uri — vederea din satelit a întregii lumi pe toate cele 20 de niveluri de zoom ar ocupa mulți petabytes, adică milioane de gigabytes. Mai mult decât va putea stoca vreodată orice telefon.
De aceea TDM aduce hărțile online „live“: se încarcă doar ce privești. Ca zonele fără semnal să nu strice tura, aplicația reține fiecare tile încărcat în cache-ul de tile-uri, iar la pornirea unei navigații preîncarcă tile-urile de-a lungul rutei. Pentru zone cu adevărat offline există în plus hărțile offline — pachete compacte pe regiune.
Vezi și: Cum ajung hărțile în aplicație: tile-uri și servere de tile-uri · Date de hartă în cache · Cum sunt construite hărțile offline
Licențe de hărți: Azure, HERE — și de ce nu există Google Maps
Nu orice hartă este gratuită: hărțile de la Microsoft Azure Maps și HERE sunt servicii comerciale. Fiecare tile încărcat și fiecare calcul de rută trece printr-o cheie API și se plătește. De aceea aceste vederi (și routerele online aferente) sunt disponibile doar utilizatorilor autentificați — în modul oaspete TDM comută pe hărțile OSM gratuite.
Și Google Maps? Google permite folosirea hărților sale exclusiv prin propriile aplicații și SDK-uri. Încorporarea tile-urilor Google într-un motor de hărți terț precum MapLibre — cu atât mai puțin stocarea lor pentru uz offline — este interzisă expres de condițiile de utilizare. Prin urmare, în TDM nu poate exista material cartografic Google.
Alternativele libere sunt de primă clasă: OpenStreetMap este întreținut de milioane de voluntari și, mai ales la drumurile mici, este adesea mai actual decât furnizorii comerciali.
Vezi și: Azure Maps · HERE Maps · Profiluri de rutare & furnizori
Cum sunt construite hărțile offline
În spatele fiecărei regiuni offline stau două pachete separate pe care aplicația le descarcă împreună: un pachet de afișare și un pachet de rutare. Pachetul de afișare este o hartă vectorială (format PMTiles, până la zoom 14) — geometria de desenat. Pachetul de rutare conține în schimb un graf rutier navigabil pentru motorul de rutare offline Valhalla: reguli de viraj, sensuri unice, viteze. Desenarea și calculul rutelor cer structuri de date complet diferite — de aici separarea. Pentru tine rămâne o singură intrare cu un singur buton de descărcare.
La aceasta se adaugă harta de bază mondială (zoom 0–8): stă ca fundal ușor întunecat sub regiunea ta de detaliu, ca dincolo de ea să nu fie gol cenușiu — regiunea de detaliu iese în evidență ca o insulă mai luminoasă. Stilul, fonturile și simbolurile sunt integrate în aplicație; pachetele livrează doar date.
Vezi și: Fără semnal? Rutare integrată offline · Hartă de bază mondială · Model de elevație, umbrire și 3D · Material cartografic local: rutare vs. afișare
Model de elevație, umbrire și 3D
Relieful terenului („umbrirea“) se calculează dintr-un model digital de elevație: tile-uri în care fiecare pixel codifică o altitudine în loc de o culoare — TDM folosește tile-urile de teren AWS, disponibile liber. Din aceste altitudini motorul calculează live lumina și umbra, ca și cum soarele ar sta la nord-vest: văile și crestele devin plastice fără ca harta să se schimbe. Același model alimentează terenul 3D — harta devine o suprafață care se poate înclina, cu glob și atmosferă la micșorarea zoomului.
Pentru drum, relieful există și ca pachet offline — cu un truc: TDM codifică altitudinile mai compact decât formatul standard (ai cărui biți cei mai fini conțin doar zgomot) și limitează fundul mării la 0 m; pachetul se micșorează la circa o șesime. Două variante: toate regiunile la rezoluție medie sau nucleul Europei la rezoluție înaltă.
Vezi și: Relief – terenul vizibil · Hărți 3D și glob · Cum sunt construite hărțile offline
Straturile de supercurbe
Stratul „drumuri cu curbe“ se naște într-o conductă de date proprie bazată pe OpenStreetMap: pentru fiecare drum se calculează din geometrie un scor de sinuozitate — cu cât curbele sunt mai strânse și mai dese, cu atât mai mare. Sensurile giratorii, semafoarele și zonele liniștite nu contează, iar drumurile nepavate sunt eliminate. Rămân trei niveluri: chihlimbar (sinuos), portocaliu (foarte sinuos) și magenta (extrem de sinuos) — clasificate după scor și densitatea curbelor pe kilometru, ca nici regiunile deluroase să nu inunde harta, nici scurtele serpentine să nu se piardă.
La zoom mic harta arată doar clasa de vârf; apropiind, apar și celelalte. Cele trei niveluri se comută individual în selectorul de hărți — și aceleași date alimentează rutarea KAKIMOTO.
Vezi și: KAKIMOTO: loteria curbelor · Catalogul de hărți
KAKIMOTO: loteria curbelor
KAKIMOTO este cea mai jucăușă opțiune de rutare din TDM — o loterie a curbelor pentru motocicliști. Aplicația planifică mai întâi o rută de bază super-sinuoasă spre destinație. Apoi extrage din datele de supercurbe segmente de curbe suplimentare într-un coridor de-a lungul rutei și le integrează astfel încât să fie chiar parcurse — nu doar atinse. Un buget de ocol menține tura rezonabilă: aproximativ o treime mai multă distanță decât ruta de bază.
Partea cea mai bună: fiecare extragere e diferită. Dacă rezultatul nu-ți place, extragi din nou — și primești o nouă combinație de segmente de curbe. KAKIMOTO rulează pe rutarea offline (Valhalla) cu profilul de motocicletă; ai deci nevoie de hărțile offline ale regiunii și de datele de supercurbe.
Vezi și: Straturile de supercurbe · Fără semnal? Rutare integrată offline · Rutare din trecătoare în trecătoare