Perguntas frequentes sobre o KML


O que é KML?

KML é um formato de arquivo usado para exibir dados geográficos em um navegador da Terra, como Google Earth, Google Maps e Google Maps para celular. É possível criar arquivos KML para indicar locais, adicionar superposições de imagem e expor dados complexos de novas maneiras. KML é um padrão internacional mantido pelo Open Geospatial Consortium, Inc. (OGC).

Quem usa KML?

A comunidade de KML é ampla e variada, como você verá ao visitar o fórum da comunidade do Google Earth. Usuários casuais criam arquivos KML para marcar suas residências, documentar viagens e planejar aventuras de caminhada e ciclismo pelo país. Cientistas usam KML para fornecer mapeamentos detalhados de recursos, modelos e tendências, como erupções vulcânicas, padrões climáticos, atividade sísmica e depósitos de minerais. Profissionais imobiliários, arquitetos e agências de desenvolvimento urbano usam KML para propor planos de construção e visualização. Estudantes e professores usam KML para explorar pessoas, lugares e eventos, históricos e atuais. Organizações como National Geographic, UNESCO e Smithsonian usaram KML para exibir seus ricos conjuntos de dados globais.

Como eu crio arquivos KML?

Há três ferramentas principais para a criação de arquivos KML.

  • Google Earth. Esta é a ferramenta mais importante que você pode usar para criar arquivos KML. Com o Google Earth, você pode criar
    • Marcadores
    • Caminhos
    • Polígonos
    • Superposições de imagem
    • Links de rede
    • Modelos de locais
    • Pastas de todos os itens acima
    • PhotoOverlays
  • Depois de criar um desses objetos, clique com o botão direito do mouse sobre ele no painel "Locais" e selecione "Copiar". Em seguida, é possível colar em um editor de texto ou um editor XML e começar a editar.

  • Editor de texto. Depois de criar um objeto no Google Earth, cole-o em um editor de texto e comece a editá-lo.
  • Editor de XML. KML é uma linguagem XML para descrever conteúdo geográfico. Editor de XML é um editor de texto elaborado que fornece muitas ferramentas para a criação de documentos XML, como o preenchimento de tags, que garante o fechamento de seus elementos KML com as tags de fechamento apropriadas.

Também há muitas ferramentas criadas por usuários na comunidade do Google Earth. Confira o Grupo de suporte ao desenvolvedor de KML do Google.

Como eu abro um arquivo KMZ?

Os arquivos KMZ são coleções compactadas de um ou mais arquivos para visualização no Google Earth. Eles são compactados no formato zip e podem ser abertos usando qualquer ferramenta zip comum, como "WinZip", "7-Zip" ou a ferramenta padrão de pastas compactadas do Windows XP (para Windows), "Stuffit" (para Mac OS) ou "zip" (para Mac OS ou Linux). Talvez seja necessário alterar a extensão de arquivo de .kmz para .zip para que o arquivo seja reconhecido por uma ferramenta zip. Lembre-se de alterar de volta para .kmz antes de usar o arquivo novamente.

Como eu crio KML para dados de astronomia?

O KML pode ser usado para representar dados astronômicos e carregá-los no Google Sky ou no WorldWide Telescope da Microsoft. Para obter mais informações, confira o artigo Dados do céu em KML.

Quais tags KML são suportadas pelo Google Earth?

Todas as tags KML são suportadas pelo Google Earth. Para obter uma lista de todas as tags, consulte a Especificação de KML.

Quais tags KML são suportadas pelo Google Maps?

O Google Maps suporta um subconjunto de tags KML. Confira a lista aqui.

Onde posso encontrar o Guia do desenvolvedor?

O Guia do desenvolvedor pode ser encontrado em https://developers.google.com/kml/documentation/topicsinkml.html.


Por que minhas linhas desaparecem?

Quando uma LineString tem uma clampToGround, ela segue a curva do globo sem problemas. No entanto, se ela for "relativeToGround", talvez seja necessário adicionar mais pontos, ou ela desenhará linhas mais longas em um caminho reto pelo globo ou terreno.

Por exemplo, esta LineString passará pela Terra, desaparecendo efetivamente:

<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
    <name>Untitled Path</name>
    <LineString>
      <tessellate>0</tessellate>
      <altitudeMode>absolute</altitudeMode>
      <coordinates>-115.415105,40.669016 -37.752364,34.879979</coordinates>
    </LineString>
  </Placemark>
</kml>

A adição de mais pontos reduz a quantidade da linha que está sob o solo. <tessellate> também deve ser "1" para garantir que a linha siga o terreno.

<Placemark>
  <name>Untitled Path</name>
  <LineString>
    <tessellate>1</tessellate>
    <altitudeMode>relativeToGround</altitudeMode>
    <coordinates>
      -134.148103,37.752967 -128.917074,38.803008
      -125.166954,39.583592 -122.137625,39.656880
      -120.421783,40.036311 -118.298157,40.235316
      -114.348386,40.631532 -112.670431,40.761033
      -111.916045,40.681939 -110.177711,40.653055
      -109.544331,40.619327 -107.155697,40.642007
      -105.410526,40.421505 -103.192299,40.430138
      -102.853712,40.427904 -98.168302,40.363524
      -97.093391,40.308754 -94.831304,40.479175
      -93.760070,40.395392 -84.913828,39.466651
      -84.414888,39.387332 -81.380660,39.188551
      -80.276261,38.977744 -77.811560,38.872542
      -75.062267,38.521146 -72.006956,38.101733
      -66.67819,37.664687
    </coordinates>
  </LineString>
</Placemark>
Posso desenhar um círculo em KML?

Não há geometria de círculo em KML; no entanto, é possível criar algo muito próximo aos círculos usando LineStrings com muitas coordenadas próximas. Veja um exemplo.

Posso alterar uma LineString para tracejada ou com setas?

<LineStyle> permite alterar a cor, a opacidade e o tamanho das linhas. No entanto, neste momento, o KML não suporta a alteração dos tipos de linhas em KML.

Como oculto os rótulos dos marcadores?

O rótulo que aparece próximo a um marcador no Google Earth baseia-se no elemento <name>. A definição do elemento de escala em LabelStyle como 0 oculta o rótulo.

<Style id="hideLabel">
  <LabelStyle>
    <scale>0</scale>
  </LabelStyle>
</Style>
Por que estou recebendo um erro de análise?

Há duas causas principais para erros de análise:

  1. Capitalização da letra: o formato KML, assim como todas as linguagens XML, diferencia maiúsculas de minúsculas. Ele exige que todos os nomes de elementos estejam com a capitalização correta. Por exemplo: <Placemark> e não <PLACEMARK>, <href> e não <Href>, <Link> e não <lInk>
  2. Tags incompletas: todos os elementos devem começar e terminar com a mesma tag. Às vezes, as pessoas esquecem de fechar uma tag ou esquecem um colchete angular (< ou >)

    Por exemplo:
    <name>Atlanta</​​name> está correto
    <name>Atlanta não está correto
    <nameAtlanta</name> não está correto
    <nameAtlanta<name> não está correto
Como posso saber se um arquivo KML que escrevi é um arquivo KML válido?

KML é uma linguagem de marcação XML. É possível validá-lo de várias maneiras:

  • Você pode obter um editor XML, como, por exemplo, Oxygen ou Netbeans, e usá-los para validar o documento. Verifique a documentação do editor XML de sua escolha. Você precisará do esquema KML para fazer a validação.
  • É possível verificá-lo usando um validador on-line, como FeedValidator.org ou KML Validador da Galdos, que mostrará os erros cometidos e oferecerá também algumas sugestões de estilo.
  • Alguns editores de texto permitem validar o XML. Por exemplo, é possível usar jEdit para validar seu KML. Confira este tutorial da equipe do Google Earth Outreach.
Há uma forma de controlar o que aparece na tela, de modo que mais detalhes sejam exibidos quando o usuário está mais próximo da superfície da Terra?

A tag "Region" é usada para controlar quais elementos você exibirá ao usuário. Os melhores recursos para encontrar mais informações sobre as regiões são

Posso atribuir cores/estilos diferentes a diferentes geometrias em um elemento MultiGeometry?

O elemento MultiGeometry agrupa geometrias no mesmo elemento Placemark. Isso permite que as geometrias compartilhem o mesmo estilo e apareçam como um item na lista, como o painel "Meus locais" do Google Earth.

Os estilos são definidos no nível do marcador, usando um elemento styleUrl ou Style. Portanto, geometrias individuais nesse marcador não podem ter estilos diferentes.

Uma solução usada com frequência é criar um marcador separado para cada geometria, permitindo que cada um tenha um estilo diferente. Para impedir uma proliferação de itens em uma lista, coloque-os em uma Pasta que tenha um ListStyle com um listItemType com checkHideChildren. No Google Earth, por exemplo, isso coloca todos os marcadores no mesmo elemento de pasta em "Meus Locais" e impede que o usuário abra-o para exibir um grande número de elementos.


Posso abrir um balão quando abro um arquivo KML?

No momento, o KML não suporta a habilidade de abrir um balão quando o arquivo KML é aberto. No entanto, se você usar uma âncora de elemento, poderá criar um link em um balão, que abrirá um segundo arquivo KML ou um balão diferente.

Posso manter um balão aberto quando um NetworkLink é atualizado?

No momento, o KML não suporta a preservação do status do balão quando o NetworkLink é atualizado.

Posso ver um KML criado por meus usuários?

No momento, não é possível usar um NetworkLink para capturar o KML criado por um usuário no Google Earth ou no Google Maps. No entanto, é possível usar a API do Google Earth ou a API do Google Maps como uma ferramenta de criação de KML e capturar essas informações de volta para o servidor. Para ver um exemplo, consulte GeoDataStore.

Posso controlar o controle deslizante de tempo a partir do KML?

O controle deslizante de tempo no KML abre assim que um arquivo KML com um elemento TimeStamp ou TimeSpan é aberto. O controle deslizante de tempo encontra todos os elementos TimeStamp e TimeSpan selecionados no momento e ajusta para acomodar todas as datas representadas. Atualmente, o KML não permite mais controle sobre o controle deslizante de tempo, como a configuração do horário atual selecionado ou a seleção de como um período de tempo é representado. Para obter mais informações sobre como usar tempo, confira o artigo Tempo e animação.

Como integro interatividade ao KML? Posso colocar formulários no HTML em balões de descrição KML?

No momento, o KML no Google Earth suporta apenas um subconjunto de HTMLs, que descreve apresentação, não interação. KML com formulários funciona no Google Maps.

No entanto, é possível incorporar formulários em Flash ao KML usado no Google Earth. Para fazer isso, incorpore um aplicativo Flash ao HTML em um balão de descrição KML. Eles não funcionarão no Google Maps.


Posso criar KML automaticamente a partir de uma planilha?

Há algumas maneiras básicas de se fazer isso.

  • Programaticamente, usando seu aplicativo para analisar um arquivo CSV e criar KML fora dele. Para ver um exemplo, confira Como converter arquivos CSV em KML.
  • Use uma planilha on-line. Por exemplo, a equipe do Google Earth Outreach criou um Mapeador de planilhas, com base nas Planilhas do Google.
  • Use uma das ferramentas de criação de Excel para KML, como por exemplo [link to tek's thread]
  • Use o Google Earth Plus ou Pro para carregar os arquivos e salve-os como arquivos KML ou KMZ
Por que o download dos meus arquivos KML não é concluído corretamente em meu servidor da Web?

Os servidores da Web precisam ser instruídos sobre quais tipos de arquivos eles estão fornecendo. Alguns navegadores, como o Firefox, tentam adivinhar o tipo de arquivo. Outros, como o Internet Explorer, dependem das configurações do Tipo MIME do servidor da Web.

Para um servidor Apache, inclua estas duas linhas em httpd.conf:

AddType application/vnd.google-earth.kml+xml .kml
AddType application/vnd.google-earth.kmz .kmz

Para o Microsoft Internet Information Server, siga estas orientações:

IIS versão 6.0:

http://support.microsoft.com/kb/326965

IIS 4.0 e 5.0:

http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/maintain/featusability/mimeiis.mspx

Se você gerencia seu próprio servidor da Web, precisará alterar sua configuração. Caso contrário, entre em contato com seu serviço de hospedagem de site da Web e peça para eles fazerem essas alterações.


Por que o conteúdo do meu balão afirma que talvez esteja usando URLs de imagem formatados incorretamente?

Uma alteração recente no Google Earth muda a forma como os links são processados para o conteúdo de um balão de elementos a fim de tornar mais claro um comportamento não especificado anteriormente. Como resultado, clicar em um link em um KMZ que tem uma estrutura de link inválida levará os usuários para uma página afirmando "O link enviado para cá pode estar formatado incorretamente. Clique no link abaixo para tentar usar o modo herdado." Se essa mensagem aparecer, altere a estrutura de seu conteúdo KML/KMZ a fim de assegurar a compatibilidade completa com as versões futuras do Google Earth.

Consulte este artigo para obter mais informações, incluindo detalhes sobre como reestruturar seu conteúdo KMZ de forma adequada.

Qual conteúdo é afetado pelas novas regras de caminho relativo?

Atualmente, somente links (URLs) no conteúdo do balão de elemento são afetados por essa alteração. Isso inclui as tags <description> e <text> em <BallonStyles>. No entanto, versões futuras do Google Earth podem se aproximar de um estado mais consistente e, portanto, o uso do diretório pai como o URL básico para um link relativo no conteúdo KMZ deve sempre ser evitado.


O KML em "Meus Locais" do Google Earth é enviado aos servidores do Google?

Não. O KML criado no Google Earth ou carregado no Google Earth pelo usuário não é enviado ao Google. Todo o processamento e armazenamento de dados é realizado na máquina local.

Voltar ao início