Como funciona o Google Earth

Como funciona o Google Earth

Google Earth começa com a fotografia - muito disso. O Google mistura imagens de satélite de seus parceiros com mais de cenas aéreas convencionais e tricotaram em uma enorme "textura virtual" que cobre o globo. A fotografia usada nesta "camada base" varia.As resoluções chegarão a 0.15m por pixel nas áreas mais detalhadas. A Inglaterra está agora abaixo de 0.5m por pixel, mas a Antártica é capturada com um décimo dessa fidelidade.

As imagens são atualizadas regularmente, à medida que novos provedores ou satélites entram on -line, mas podem levar um a três anos antes que uma imagem seja processada e adicionada à camada base. A parte inteligente é como essa imagem é mapeada para o globo virtual no seu PC. Mapear a terra não é pouca façanha. De acordo com os cálculos de um dos engenheiros que construíram o Google Earth, se você armazenou apenas um pixel de dados de cores para cada km quadrado da superfície da Terra, você ainda acabaria com um 2.Imagem de 4 GB medindo 40.000 x 20.000 pixels, e isso só seria capaz de resolver recursos de 2 km de largura. Nenhuma placa de PC ou gráfico poderia lidar com algo desse tamanho e, quando você tem em mente que o Google Earth precisa resolver recursos de menos de um metro, você começa a compreender a escala do armazenamento, streaming e processamento.

Então, como o Google Earth gerencia? O software pega a textura gigante da camada de base multi-terabytes e usa um recurso derivado do mapeamento de MIP para transmitir apenas os elementos mais relevantes para o seu PC. O mapeamento de MIP surgiu nos primeiros dias dos gráficos 3D como uma maneira de salvar a largura de banda e o poder de processamento durante o processo de renderização em tempo real. Quando você vê uma superfície mapeada de MIP, você vê a textura em toda a sua glória de alta resolução. No entanto, à medida que a superfície recua para a distância, o processo troca a textura para menos variantes detalhadas, salvando a placa gráfica de desenhar uma textura que você não veria corretamente de qualquer maneira.

O Google Earth faz algo semelhante, usando uma pilha de mapas MIP representando a superfície da Terra, como visto de diferentes distâncias, e apenas desenhando uma coluna estreita dessa pilha a qualquer momento. Ao redor do ponto focal da janela, você obtém a textura de maior resolução ao aprofundar, mas fora desse ponto focal, ele usa de maneira inteligente os mapas MIP de baixa resolução de uma maneira que equilibre a qualidade e o desempenho da imagem. À medida que seu ponto de vista se move pelo planeta, o algoritmo funciona onde você precisa das maiores texturas virtuais e as páginas do servidor para o disco rígido à memória do sistema para textura a memória. Isso garante que apenas os níveis de detalhe mais úteis sejam enviados para a placa gráfica a qualquer momento.

Enquanto isso está acontecendo, o Google Earth se sobrepõe aos gráficos de vetores, texto e bitmap contidos nas várias camadas de dados. Essas sobreposições são controladas pela KML, uma variante de XML com a mesma estrutura baseada em tags, elementos aninhados e atributos. A KML pode especificar ícones e etiquetas, locais e até pontos de vista, e pode dizer ao aplicativo Google Earth para sobrepor uma imagem, buscar dados de um banco de dados ou página da Web on -line ou exibir um objeto 3D texturizado. Esses recursos permitem que o Google integre dados de seus próprios bancos de dados de pesquisa, mas também permitem que terceiros trabalhem com seus próprios bancos de dados ou conteúdo on -line. Como o KML não é um grande salto para aqueles que costumavam trabalhar com XML, também permite que os usuários avançados empregem o Google Earth como base para seus próprios sistemas de informação geográfica, aplicativos ou mashups. Veja http: // terra.Google.com/galeria/índice.HTML para alguns exemplos.