Alguém pode me fornecer um link (ou alguns detalhes) sobre a proporção real em relação aos valores do "nível de zoom" do Google Maps?
por exemplo, Google Maps Nível 13 = 1: 20000
google-maps
scale
zoom
mlo55
fonte
fonte
Zoom level set meters: ${meters}
); var zoomfactor = 1; if (metros <1128) {zoomfactor = 15; } caso contrário, se ((metros> 1128) && (metros <2256)) {zoomfactor = 14; } caso contrário, se ((metros> 2256) && (metros <4513)) {zoomfactor = 13; } caso contrário, se ((metros> 4513) && (metros <9027)) {zoomfactor = 12; } senão se ((metros> 9027) && (metros <18055)) {zoomfactor = 11; } senão se ((metros> 18055) && (metros <36111)) {zoomfactor = 10; } else if ((metros> 36111) && (metros <72Respostas:
Se você estiver projetando um mapa, planeja sobrepor sobre o Google Maps ou o Virtual Earth e criar um esquema de ladrilhos, então acho que o que você está procurando são as escalas para cada nível de zoom, use estas:
Fonte: http://webhelp.esri.com/arcgisserver/9.3/java/index.htm#designing_overlay_gm_mve.htm
fonte
Encontrei esta resposta - escrita por um funcionário do Google - provavelmente seria a mais precisa:
retirado de: https://groups.google.com/forum/#!topic/google-maps-js-api-v3/hDRO4oHVSeM
BTW - Estou supondo que:
fonte
Para ajudar você a entender a matemática (não é um cálculo preciso, é apenas uma ilustração):
digamos que o monitor do seu computador tenha 100 pixels por polegada (PPI). Isso significa que 256 pixels têm aproximadamente 6,5 cm de comprimento. E isso é 0,065 m .
no nível de zoom 0 , os 360 graus de longitude são visíveis em um único bloco . Você não pode observar isso no Google Maps, pois ele se move automaticamente para o nível de zoom 1, mas pode ser visto no mapa do OpenStreetMap (ele usa o mesmo esquema de mosaicos).
360 graus no equador são iguais a circunferência da Terra, 40,075.16 km, que é 40.075.160 m
divida 40075160 m com 0,065 me você obterá 616313361 , que é uma escala de nível de zoom 0 no Equator para um monitor de computador com 100 DPI
Verifique também: http://wiki.openstreetmap.org/wiki/FAQ#What_is_the_map_scale_for_a_particular_zoom_loom_of_the_map.3F
fonte
591657550.500000
é o nível 0, de acordo com esta resposta. Mas, de acordo com @CaptDragon, é o nível 1. Devo considerar começar no nível 1 para calcular com o Google Maps?Não tão fácil. Dada a projeção, o tamanho dos pixels do bloco depende da latitude da área em que você está interessado. Depois, em termos de transformação do tamanho do pixel do bloco no tamanho da tela, depende da tela e da resolução em que os dados são exibidos. dpi que sua tela está usando.
fonte
Resposta correta autoritativa direta:
fornece a tabela acima, inserindo o nível de zoom.
Experimente ao vivo em jsfiddle.net
Como a pergunta é apenas para o Google MAPS, não para a TERRA, o OP não se importa com a geometria 3D. Os mapas do Google JÁ estão achatados, de modo que 1 pixel está sempre à mesma distância (em GRAUS, que é o que diz respeito a um mapa do Google), aqui e no ecuador como nos pólos.
A propósito, você percebeu que em algum lugar dentro da primeira linha de pixels do mapa de um mundo, a escala é de 1: 1?
fonte
Existe uma tabela na documentação do Virtal Earth Tile System da Microsoft . Mas, como disse GuillaumeC, os valores dependem da latitude e da resolução da tela. A tabela fornece os valores medidos no Equador e com uma resolução de tela de 96 dpi.
PS: Não tenho certeza disso, mas os níveis de zoom da Microsoft podem ser alterados em 1 em comparação com os níveis de zoom do Google. Mas eles definitivamente usam a mesma projeção para que os valores permaneçam corretos para o Google.
fonte
Raio @ Equador 6.378.137 metros exatos (WGS-84)
Circunferência no Equador = 40.075.017 metros (2πr)
O nível de zoom 24 usa 2 aos 32 pixels de potência (4.294.967.296) na circunferência.
Circunferência Equatorial / 2 32 = 0,009330692 metros por pixel
Unidade na latitude = (cosseno da latitude) X (unidade no equador)
O nível de zoom dobra cada incremento.
1 pé (Internacional) = 0,3048 metros
Editar
Bem, não é realmente uma pergunta legítima para começar. As proporções de escala são relativas aos documentos impressos e não às telas dos computadores. O que você precisa para que essas imagens sejam usadas com precisão é conhecer a dimensão de cada pixel e escalar a imagem de acordo com a sua sobreposição.
Então, de 15 a 20 anos atrás, alguém usava o WGS-84 como dados base. (note em uma postagem anterior, alguém usou o valor 40.075.160. Vi isso na Wikipedia alguns lugares e está incorreto. O valor correto é 40.075.017
Eles então pegaram e dividiram por um número inteiro de 32 bits. Essa é uma escolha lógica, pois fornece precisão global de cerca de um centímetro, o que é suficiente para imagens aéreas. Inteiros de 32 bits também são eficientes para armazenar e processar.
Por que esse nível 24 foi escolhido? Eu não sei, no entanto, como alguém aqui trabalhou 0 leva você a um bloco de 256 pixels para a Terra.
Agora, um exemplo de como usar os dados acima. Digamos que eu tenho uma imagem no nível de zoom 20 (o zoom que eles permitem atualmente) Tire 0,009330692 (Zoom 24 no equador) dobre para o zoom 23, novamente para o zoom 22, novamente para o zoom 22, novamente para o zoom 21 e uma última vez para o zoom 20 Agora você deve ter 0,149231071.
Agora vamos dizer que nossa imagem está na latitude 45. Pegue o cosseno disso (0,707106781) e multiplique-o pelos nossos 0,149231071 e ele fornecerá 0,105564729 metros. Esse é o comprimento e a altura de um pixel de uma imagem na latitude 45 no nível de zoom 20. Se você capturar na tela uma imagem de 1000 x 1000 pixels dessa área, a dimensão é de 105,56 metros quadrados. Se você quer pés dividir esse 0,3048
Quanto às fontes, eu essencialmente fiz engenharia reversa há cerca de 5 anos, a partir de várias informações e documentação que encontrei na web, incluindo sites de suporte a mapas do Google e MS.
Eu usei essa centena de tempo e sobrepondo-a com dados de pesquisa de campo, e isso sempre foi correto. Compare com qualquer uma das tabelas postadas aqui e os números corresponderão.
fonte
Apenas fiz alguns cálculos e obtive os seguintes resultados:
O Google Maps mostra uma régua de 1 km (canto inferior esquerdo do mapa) com 90 pixels de comprimento, no nível de zoom 13. O que significa o seguinte:
Supondo que a resolução da tela seja 96 dpi ou 36 dpcm, no nível de zoom 13, temos 0,4 km (de 36/90) em 1 cm, o que gera uma escala de mapa de 1: 40.000 para uma tela de 96 dpi.
Para várias operações na tela, o melhor é tomar 90px como base, pois todos os números serão arredondados em todos os níveis de zoom, ou seja,
e assim por diante.
Observe que essa é uma aproximação que deve funcionar mais ou menos bem em escalas menores, em vez de grandes.
(E o Google gosta de números redondos no final ...)
fonte
Com base em todas as informações fornecidas, criei uma função que fornece o melhor z aplicado a um mapa quando você deseja ter uma linha horizontal que representa N% do mapa exibido.
O mapa exibido é caracterizado por sua própria largura de pixel.
fonte
Ainda não posso adicionar um comentário, mas esta é uma possível fonte da resposta de Pete acima: https://developers.google.com/maps/documentation/javascript/maptypes#MapCoordinates
fonte
Calculei as escalas para quatro níveis de zoom:
Nível de zoom | Escala 20 1: 500 19 1: 1000 18 1: 2000 17 1: 4000
Parece que a escala é dobrada à medida que o nível de zoom aumenta em um passo. Espero que a escala do nível de zoom 16 seja de 1: 8000 e assim por diante.
fonte
Olá, acho que calculei que 1 pixel = 11,627 km em linha reta; sem levar em consideração o raio da terra. Aqui está o link do vídeo que explica como: https://www.youtube.com/watch?v=Y3cvTeiMJqE&feature=youtu.be . Espero que isso esclareça sua mente.
fonte