Utente:Viridovix/GM

Da Uno Sguardo nel Buio.

(Differenze fra le revisioni)
m
m
Riga 10: Riga 10:
* (Wx, Wy, Wz) le coordinate mondo: si tratta sostanzialmente delle coordinate in pixel che identificano ciascun punto grafico sulla mappa. Seguono il consueto orientamento con il vertice in alto a sinistra. I valori massimi che le coordinate x,y possono assumere dipendono, ancora una volta, dal livello di zoom. In particolare, per il livello zero i valori ammissibili vanno da 0 a 256 (a livello zero le coordinate mondo coincidono con le coordinate interne dell'unica tile), per il livello uno i valori ammissibili vanno da 0 a 512 (ci sono 4 tile). In buona sostanza, per un livello di zoom n, i valori ammissibili oscillano tra 0 e 256*2^n.
* (Wx, Wy, Wz) le coordinate mondo: si tratta sostanzialmente delle coordinate in pixel che identificano ciascun punto grafico sulla mappa. Seguono il consueto orientamento con il vertice in alto a sinistra. I valori massimi che le coordinate x,y possono assumere dipendono, ancora una volta, dal livello di zoom. In particolare, per il livello zero i valori ammissibili vanno da 0 a 256 (a livello zero le coordinate mondo coincidono con le coordinate interne dell'unica tile), per il livello uno i valori ammissibili vanno da 0 a 512 (ci sono 4 tile). In buona sostanza, per un livello di zoom n, i valori ammissibili oscillano tra 0 e 256*2^n.
 +
 +
=== Trasformazioni di Coordinate ===
Le coordinate interne di una tile e quelle delle tile si rendono necessarie perché non è possibile per un computer lavorare con i numeri enormi previsti dai livelli di zoom più elevati: di seguito viene illustrato come utilizzare questi sistemi di coordinate per passare da una qualsiasi coppia di coordinate geografiche al corrispondente pixel. Le relazioni tra coordinate sono gestite da opportune trasformazioni, in particolare:
Le coordinate interne di una tile e quelle delle tile si rendono necessarie perché non è possibile per un computer lavorare con i numeri enormi previsti dai livelli di zoom più elevati: di seguito viene illustrato come utilizzare questi sistemi di coordinate per passare da una qualsiasi coppia di coordinate geografiche al corrispondente pixel. Le relazioni tra coordinate sono gestite da opportune trasformazioni, in particolare:
Riga 19: Riga 21:
: Pi = Wi - 256 * Ti (ad un determinato livello di zoom)
: Pi = Wi - 256 * Ti (ad un determinato livello di zoom)
 +
 +
 +
=== Cambio di zoom ===
 +
Può essere interessante, nota una specifica tile ad un determinato livello di zoom, sapere quale tile, al livello di zoom immediatamente precedente, rappresenterà quella medesima regione della mappa (si pensi ad esempio ad un programma che effettua il taglio delle tile a partire da una immagine ad un determinato livello di zoom - ad esempio il livello 10 - e che si voglia ottenere le tile anche per i livelli precedenti - cioè i livelli da 9 a zero - con la corretta numerazione delle tile secondo le coordinate delle tile).
 +
 +
Il conto è presto fatto, infatti indicando con n il livello, la nuova tile avrà coordinate pari a Tx(n-1)=int(Tx(n)/2)
 +
 +
Così, ad esempio la zona di mappa rappresentata dalla tile che a livello 10 è numerata con (512, 510) finirà, nel livello 9, nella tile (256, 255). Inoltre, poiché le divisioni sono senza resto, la tile finirà nel quarto in alto a sinistra.

Versione delle 22:40, 14 feb 2010

Coordinate Google Map

Come è noto GM richiede diversi sistemi di coordinate per svolgere il proprio compito, in particolare:

  • (Lat, Lng) le coordinate geografiche propriamente dette: viene utilizzata la proiezione di Mercatore per rappresentare su un piano il globo terrestre. Le coordinate vengono rappresentate in gradi decimali, ed oscillano tra -180 e +180 per la longitudine e -85 e +85 circa per la latitudine. Questa scelta consente di rappresentare il planisfero in un unica immagine quadrata (tile) di 256 pixel di lato.
  • (Px, Py) le coordinate interne di una tile in pixel: servono per identificare un pixel all'interno di una tile e poiché la tile tipica di GM è di 256 pixel di lato, queste coordinate oscillano tra 0 e 256 pixel. L'orientamento è quello classico delle viewport della programmazione con l'origine in alto a sinistra, quindi la x va da sinistra a destra e la y dall'alto verso il basso.
  • (Tx, Ty, Tz) le coordinate delle tile: tutte le tile sono numerate, per un livello di zoom assegnato, da una coppia di interi che indicano la posizione della tile nel layer. Al solito, le coordinate sono con l'angolo in alto a sinistra e le x da sinistra a destra e le y dall'alto verso il basso. Una tile è quindi identificata esattamente da tre interi: x, y, zoom. A livello di zoom pari a zero, tutto il mondo è disegnato su una unica tile di 256x256 pixel, numerata come 0,0. Al livello di zoom successivo, le tile diventano 4 e sono identificate dalle 4 coppie (0,0), (0,1), (1,0) e (1,1).
  • (Wx, Wy, Wz) le coordinate mondo: si tratta sostanzialmente delle coordinate in pixel che identificano ciascun punto grafico sulla mappa. Seguono il consueto orientamento con il vertice in alto a sinistra. I valori massimi che le coordinate x,y possono assumere dipendono, ancora una volta, dal livello di zoom. In particolare, per il livello zero i valori ammissibili vanno da 0 a 256 (a livello zero le coordinate mondo coincidono con le coordinate interne dell'unica tile), per il livello uno i valori ammissibili vanno da 0 a 512 (ci sono 4 tile). In buona sostanza, per un livello di zoom n, i valori ammissibili oscillano tra 0 e 256*2^n.


Trasformazioni di Coordinate

Le coordinate interne di una tile e quelle delle tile si rendono necessarie perché non è possibile per un computer lavorare con i numeri enormi previsti dai livelli di zoom più elevati: di seguito viene illustrato come utilizzare questi sistemi di coordinate per passare da una qualsiasi coppia di coordinate geografiche al corrispondente pixel. Le relazioni tra coordinate sono gestite da opportune trasformazioni, in particolare:

  • la trasformazione tra coordinate mondo e coordinate geografiche è assicurata dalla proiezione di Mercatore.
  • dalle coordinate mondo è possibile desumere la tile in cui si trova il punto (pixel) e la posizione del punto all'interno della tile. A livello teorico, usando per le coordinate la notazione illustrata sopra, valgono le seguenti relazioni:
Ti = int(Wi/256) (ad un determinato livello di zoom)
Pi = Wi - 256 * Ti (ad un determinato livello di zoom)


Cambio di zoom

Può essere interessante, nota una specifica tile ad un determinato livello di zoom, sapere quale tile, al livello di zoom immediatamente precedente, rappresenterà quella medesima regione della mappa (si pensi ad esempio ad un programma che effettua il taglio delle tile a partire da una immagine ad un determinato livello di zoom - ad esempio il livello 10 - e che si voglia ottenere le tile anche per i livelli precedenti - cioè i livelli da 9 a zero - con la corretta numerazione delle tile secondo le coordinate delle tile).

Il conto è presto fatto, infatti indicando con n il livello, la nuova tile avrà coordinate pari a Tx(n-1)=int(Tx(n)/2)

Così, ad esempio la zona di mappa rappresentata dalla tile che a livello 10 è numerata con (512, 510) finirà, nel livello 9, nella tile (256, 255). Inoltre, poiché le divisioni sono senza resto, la tile finirà nel quarto in alto a sinistra.


Strumenti personali
Translate
Facebook