O símbolo do marcador sobrevive à ida e volta do KML, como imagem
Resposta curta: o símbolo continua lá depois de você exportar e reabrir o arquivo — a arte viaja nos dois caminhos, Exportar KML e Exportar KMZ — mas ele volta como imagem em vez de símbolo, então o controle Cor do marcador não tem mais nada em que agir. O visualizador avisa isso antes de você exportar; este post é o que esse aviso significa nos bytes.
Testado em 1º de outubro de 2026 no visualizador de KMZ, com os arquivos baixados como evidência, não a tela. A amostra: cinco marcadores, três deles desenhados com um símbolo do catálogo sobre duas artes distintas.
O aviso que aparece antes de exportar
Carregue um arquivo com pelo menos um ponto desenhado com símbolo e uma linha aparece embaixo do mapa: O KML agora também mantém o símbolo do marcador, como uma imagem incorporada — ele não pode ser recolorido como símbolo após uma reimportação.
Ele é condicional: o aviso só aparece enquanto algo no arquivo carrega um símbolo do catálogo. Dois pontos simples nunca o produzem; uma linha e um polígono estilizados sem ícone de ponto também não, embora essa amostra ainda mostre o alerta de CSV e WKT. A ausência dele significa que não há símbolo sobre o qual avisar, não que a exportação mantém tudo.
O que viaja: Exportar KMZ
unzip -l no download lista quatro entradas: uma entrada de diretório icons/, depois icons/4d5fba0a4a4db68a.png com 885 bytes, icons/e5c50b2e7afaf1da.png com 1.452 bytes e doc.kml com 1.655 bytes. As duas entradas de imagem são PNGs reais, número mágico 89504e470d0a1a0a.
Três marcadores carregavam um símbolo sobre duas artes distintas, e o pacote guarda exatamente dois PNGs: o par que compartilha uma arte compartilha um arquivo. O nome da entrada é um hash da imagem, então o pacote é indexado pela figura, não pelo marcador. Dentro de doc.kml, três blocos <IconStyle> apontam para esses dois arquivos por caminho relativo — o primeiro nome duas vezes, o segundo uma — e nenhum <Icon><href> guarda imagem embutida.
O que não viaja é a identidade do símbolo: doc.kml não carrega gdSymbol nem <ExtendedData>, então o nome Hospital não está em lugar nenhum dele. Uma ressalva: duas exportações da mesma camada não são o mesmo arquivo, porque cada entrada é marcada com o relógio do momento em que você clica. Compare as entradas, nunca os pacotes.
O que viaja: Exportar KML
Um KML simples não tem contêiner onde colocar um PNG, então ele embute a imagem. Cada um dos três hrefs de <IconStyle> começa com data:image/png;base64, — dois valores distintos, o mesmo colapso de três em dois do KMZ. Decodifique-os e você obtém os mesmos dois PNGs que o KMZ carrega como arquivos, nos mesmos dois tamanhos. Um rasterizador, dois contêineres: o KMZ ganha um arquivo porque pode, o KML ganha uma URI data: porque não pode. Então "KML ou KMZ" não é a decisão aqui — os dois levam a figura, nenhum leva o símbolo.
Por que não dá para recolorir
Solte qualquer uma das exportações de volta, selecione o primeiro ponto, e o painel Estilos mostra o que você tem. O seletor Símbolo do marcador, que marcava Hospital antes da exportação, agora marca Ícone do arquivo. O botão Remover símbolo, que só existe enquanto um símbolo do catálogo está definido, desapareceu. E Cor do marcador continua desenhado e não faz nada: o controle está ali e sua caixa de seleção está desabilitada. Ele está presente e inerte, não ausente.
A razão está no arquivo, não na interface. Um símbolo do catálogo é um nome, e um nome pode ser redesenhado em qualquer cor que você pedir; um PNG incorporado é pixel que já tem uma. Na volta não existe identificador de símbolo sobre o qual um controle de cor possa agir, então o painel simplesmente mostra a arte, como uma pequena prévia data:image/png;base64, ao lado do seletor.
O aviso desaparece na reimportação, que é o mesmo fato visto do outro lado: sem símbolo do catálogo, não há nada sobre o que avisar. A figura, porém, segue adiante — exporte KMZ de novo a partir do KMZ reimportado e as duas entradas de imagem voltam com as mesmas cargas e ainda sem gdSymbol. Ele nunca volta a ser símbolo.
O limite: uma ida e volta pelo GDAL é outra pergunta
Não leia isso como "idas e voltas de KML preservam estilos" — é a exportação deste visualizador, especificamente. Nosso guia de KML e KMZ, na seção Erros, decodificados, manda um KML com dois blocos <Style> e um <StyleMap> para GeoJSON com ogr2ogr e de volta, e relata grep -c '<Style' roundtrip.kml imprimindo 0. Esse número é do guia, medido numa ida e volta pelo GDAL, não na nossa. Rode a mesma conversão sobre a amostra deste post e o GDAL responde 2 — mas os dois sobreviventes são o contorno vermelho padrão dele sem preenchimento, não as cores da entrada, então a conclusão do guia continua valendo e só a contagem depende da amostra. O GDAL não leva seus estilos adiante; ele ressintetiza padrões na saída, e o símbolo acaba no instante em que o GeoJSON é alcançado.
A exportação do visualizador responde à pergunta parecida de outro jeito: os estilos passam, e o símbolo passa como arte. Para contar isso você mesmo use grep -o '<Style' | wc -l, que dá 5 na exportação acima. Uma exportação daqui é uma linha só bem longa, então grep -c '<Style' responde 1 por mais estilos que existam dentro. A seção A estrutura que importa do guia tem a ordem de cores aabbggrr se você for ler o hexadecimal na mão.
O que fazer a respeito
- Mantenha um mestre estilizado em KML e trate toda exportação como saída. Reexporte quando a estilização mudar, em vez de editar uma exportação e mandá-la de volta para a origem.
- Reaplique o símbolo depois de importar. A arte continua sendo um
Ícone do arquivoutilizável, e escolher de novo um símbolo do catálogo emEscolher símbolodevolve um marcador que aceita cor. - Decida do que você precisa. Se o ponto só tem que parecer um hospital na tela de outra pessoa, a imagem incorporada faz isso nos dois caminhos.
Arquivos de teste que você pode usar
Nada está hospedado; a amostra são algumas linhas que você cola num symbols.kml em UTF-8. Abra com <?xml version="1.0" encoding="UTF-8"?>, depois <kml xmlns="http://www.opengis.net/kml/2.2"><Document><name>Symbol test</name>, os marcadores, e então </Document></kml>. Um símbolo do catálogo viaja em dados estendidos, então cada ponto desenhado com símbolo precisa de um bloco <ExtendedData><Data name="gdSymbol"><value>hospital</value></Data></ExtendedData>. As coordenadas são graus decimais de propósito.
<Placemark><name>H1</name><ExtendedData><Data name="gdSymbol"><value>hospital</value></Data></ExtendedData><Point><coordinates>-46.633,-23.550,0</coordinates></Point></Placemark><Placemark><name>H2</name><ExtendedData><Data name="gdSymbol"><value>hospital</value></Data></ExtendedData><Point><coordinates>-46.631,-23.548,0</coordinates></Point></Placemark><Placemark><name>A1</name><ExtendedData><Data name="gdSymbol"><value>airport</value></Data></ExtendedData><Point><coordinates>-46.656,-23.627,0</coordinates></Point></Placemark>
Dois pontos num símbolo e um em outro é o que torna a entrada compartilhada visível. Solte o arquivo no visualizador e confira se o aviso aparece antes de exportar — se não aparecer, nada carrega símbolo e não há nada para incorporar. Depois unzip -l geodocs-export.kmz deve listar uma entrada icons/ por arte distinta: duas, não três.
Para times
Estilizar pontos na mão não sobrevive a uma passagem de bastão: quem escolheu os símbolos tem o mestre, todos os outros têm uma exportação, e uma exportação é uma figura. O Geodocs mantém o símbolo como símbolo, porque os dados vivem num mapa compartilhado em vez de num arquivo circulando por e-mail, então não há ida e volta para sobreviver.