[Portugal] Calcular BBOX de tiles vindos do tilecache

Hugo hfpmartins gmail.com
Segunda-Feira, 20 de Fevereiro de 2012 - 12:51:30 EST


Faltou um pouco do código de openlayers que queria mostrar para o cálculo
das referências em X e Y. Aqui vai a parte que falta:

function zeroPad(number, length) {
            number = String(number);
            var zeros = [];
            for(var i=0; i<length; ++i) {
                zeros.push('0');
            }
            return zeros.join('').substring(0, length - number.length) +
number;
        }
        var components = [
            this.layername,
            zeroPad(tileZ, 2),
            zeroPad(parseInt(tileX / 1000000), 3),
            zeroPad((parseInt(tileX / 1000) % 1000), 3),
            zeroPad((parseInt(tileX) % 1000), 3),
            zeroPad(parseInt(tileY / 1000000), 3),
            zeroPad((parseInt(tileY / 1000) % 1000), 3),
            zeroPad((parseInt(tileY) % 1000), 3) + '.' + this.extension
        ];

2012/2/20 Hugo <hfpmartins at gmail.com>

> Olá Joaquim,
>
> Para construir um request para tilecache usam-se os seguintes parâmetros:
> 1- O zoom com 2 casas decimais (00; 01; etc)
> 2-  A referência em X com 3 casas (ex: /000/000/000/)
> 3-  A referência em Y com 3 casas decimais (ex: /000/000/001)
> 4- A extensão da imagem (.png)
>
> As fórmulas de cáluco para a referência em X e Y consegui através do
> OpenLayers que mostra o seguinte:
> var tileX = Math.round((bounds.left - bbox.left) / (res * size.w));
> var tileY = Math.round((bounds.bottom - bbox.bottom) / (res * size.h));
> var tileZ = this.serverResolutions != null
> ? OpenLayers.Util.indexOf(this.serverResolutions, res) :
> this.map.getZoom();
>
> Assim, um request final seria qq coisa como:
> http://localhost/tilecache/Cartas_militares/00/000/000/000/000/000/001.png
>
> Já consegui encontrar as fórmulas que permitem, através de uma bounding
> box, calcular os tiles que a contêm. O que quero fazer agora é precisamente
> o oposto, isto é, tendo por base cada tile, calcular o seu bounding box.
> Aliás, uma vez que tenho as resoluções e o tamanho em pixeis do tile,
> apenas me bastaria calcular uma coordenada de um canto qualquer e a partir
> daí conseguiria derivar o bbox. É aqui que estou com problemas!
>
> Abc,
> Hugo
>
>
> 2012/2/20 Joaquim Luis <jluis at ualg.pt>
>
>> On 20-02-2012 17:09, Hugo wrote:
>>
>>> Olá a todos,
>>>
>>> Por acaso ninguém sabe de alguma referência que indique as fórmulas de
>>> cálculo do bounding box para cada tile gerado pelo tilecache?? Estou farto
>>> de andar à procura disto mas até agora nao consegui encontrar nada.
>>>
>>> Abc,
>>> Hugo
>>>
>>>
>> Hugo,
>>
>> Eu ainda não experimetei o tilecache mas possivelmenet ele usa uma
>> numenclatura tipo "árvore de quadrados" (liberal para Quadtree).
>> Os nomes dos ficheiros (tiles) são compostos por repetições de 4
>> caractéres? Tipo 'qrst' (numenclatura da Google) ou '0123' (Bing)?
>>
>> Joaquim
>>
>
>
>
> --
> Hugo Martins
> LabNT - ISEGI UNL
> Campus de Campolide
> 1070-312 Lisboa
> N 38°43'56.84", W 9°9'35.74"
>



-- 
Hugo Martins
LabNT - ISEGI UNL
Campus de Campolide
1070-312 Lisboa
N 38°43'56.84", W 9°9'35.74"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/portugal/attachments/20120220/a8769749/attachment.html


Mais informações acerca da lista Portugal