El símbolo del marcador sobrevive a una ida y vuelta por KML, como imagen
Respuesta corta: el símbolo sigue ahí después de que exportás y volvés a abrir el archivo — la ilustración viaja por los dos caminos, Exportar KML y Exportar KMZ — pero vuelve como imagen en lugar de símbolo, así que el control Color del marcador ya no tiene nada sobre lo que actuar. El visor te lo avisa antes de exportar; este post es lo que ese aviso significa en los bytes.
Probado el 1 de octubre de 2026 en el visor de KMZ, con los archivos descargados como evidencia y no la pantalla. La muestra: cinco marcadores, tres de ellos dibujados con un símbolo del catálogo sobre dos ilustraciones distintas.
El aviso que aparece antes de exportar
Cargá un archivo con al menos un punto dibujado con símbolo y aparece una línea debajo del mapa: KML ahora también conserva el símbolo del marcador, como una imagen incrustada; no se puede volver a colorear como símbolo tras una reimportación.
Es condicional: el aviso se despliega solo mientras algo en el archivo lleve un símbolo del catálogo. Dos puntos simples nunca lo producen; una línea y un polígono con estilo y sin icono de punto tampoco, aunque esa muestra sí despliega la advertencia de CSV y WKT. Su ausencia significa que no hay símbolo sobre el que avisar, no que la exportación conserve todo.
Qué viaja: Exportar KMZ
unzip -l sobre la descarga lista cuatro entradas: una entrada de directorio icons/, después icons/4d5fba0a4a4db68a.png con 885 bytes, icons/e5c50b2e7afaf1da.png con 1.452 bytes y doc.kml con 1.655 bytes. Las dos entradas de imagen son PNG reales, número mágico 89504e470d0a1a0a.
Tres marcadores llevaban un símbolo sobre dos ilustraciones distintas, y el paquete guarda exactamente dos PNG: el par que comparte una ilustración comparte un archivo. El nombre de la entrada es un hash de la imagen, así que el paquete queda indexado por la figura y no por el marcador. Dentro de doc.kml, tres bloques <IconStyle> apuntan a esos dos archivos por ruta relativa — el primer nombre dos veces, el segundo una — y ningún <Icon><href> guarda una imagen en línea.
Lo que no viaja es la identidad del símbolo: doc.kml no lleva gdSymbol ni <ExtendedData>, así que el nombre Hospital no está en ninguna parte de él. Una advertencia: dos exportaciones de la misma capa no son el mismo archivo, porque cada entrada queda marcada con el reloj del momento en que hacés clic. Compará las entradas, nunca los paquetes.
Qué viaja: Exportar KML
Un KML simple no tiene contenedor donde poner un PNG, así que lo incrusta. Cada uno de los tres href de <IconStyle> empieza con data:image/png;base64, — dos valores distintos, el mismo colapso de tres en dos del KMZ. Decodificalos y obtenés los mismos dos PNG que el KMZ lleva como archivos, en los mismos dos tamaños. Un rasterizador, dos contenedores: el KMZ consigue un archivo porque puede, el KML consigue una URI data: porque no. Así que "KML o KMZ" no es la decisión acá — los dos llevan la figura, ninguno lleva el símbolo.
Por qué no se puede volver a colorear
Soltá cualquiera de las dos exportaciones de vuelta, seleccioná el primer punto, y el panel Estilos te dice lo que tenés. El selector Símbolo del marcador, que marcaba Hospital antes de la exportación, ahora marca Icono del archivo. El botón Quitar símbolo, que existe solo mientras hay un símbolo del catálogo definido, desapareció. Y Color del marcador sigue dibujado y no hace nada: el control está ahí y su casilla está deshabilitada. Está presente e inerte, no ausente.
La razón está en el archivo, no en la interfaz. Un símbolo del catálogo es un nombre, y un nombre se puede volver a dibujar en cualquier color; un PNG incrustado es píxeles que ya tienen uno. A la vuelta no hay identificador de símbolo sobre el que un control de color pueda actuar, así que el panel simplemente te muestra la ilustración, como una pequeña vista previa data:image/png;base64, al lado del selector.
El aviso desaparece en la reimportación, que es el mismo hecho visto del otro lado: sin símbolo del catálogo, no hay nada sobre lo que avisar. La figura, en cambio, sigue adelante — exportá KMZ otra vez desde el KMZ reimportado y las dos entradas de imagen vuelven con el mismo contenido y todavía sin gdSymbol. Nunca vuelve a ser un símbolo.
El límite: una ida y vuelta por GDAL es otra pregunta
No leás eso como "las idas y vueltas de KML conservan los estilos" — es la exportación de este visor, específicamente. Nuestra guía de KML y KMZ, en su sección Errores, decodificados, manda un KML con dos bloques <Style> y un <StyleMap> a GeoJSON con ogr2ogr y de vuelta, y reporta que grep -c '<Style' roundtrip.kml imprime 0. Ese número es de la guía, medido en una ida y vuelta por GDAL, no en la nuestra. Corré la misma conversión sobre la muestra de este post y GDAL responde 2 — pero los dos sobrevivientes son su propio contorno rojo por defecto y sin relleno, no los colores de la entrada, así que la conclusión de la guía sigue valiendo y solo su cuenta depende de la muestra. GDAL no lleva tus estilos al otro lado; resintetiza valores por defecto en la salida, y el símbolo se pierde en el instante en que se llega al GeoJSON.
La exportación del visor responde a la pregunta parecida de otra manera: los estilos pasan, y el símbolo pasa como ilustración. Para contarlo vos mismo usá grep -o '<Style' | wc -l, que da 5 en la exportación de arriba. Una exportación de acá es una sola línea muy larga, así que grep -c '<Style' responde 1 por más estilos que haya dentro. La sección La estructura que importa de la guía tiene el orden de color aabbggrr si vas a leer el hexadecimal a mano.
Qué hacer al respecto
- Mantené un maestro con estilos en KML y tratá cada exportación como salida. Reexportá cuando cambie el estilo, en vez de editar una exportación y mandarla de vuelta al origen.
- Reaplicá el símbolo después de importar. La ilustración sigue siendo un
Icono del archivoutilizable, y volver a elegir un símbolo del catálogo enElegir símbolodevuelve un marcador que acepta color. - Decidí qué necesitás. Si el punto solo tiene que parecer un hospital en la pantalla de otra persona, la imagen incrustada hace eso por los dos caminos.
Archivos de prueba que podés usar
Nada está alojado; la muestra son unas pocas líneas que pegás en un symbols.kml en UTF-8. Abrí con <?xml version="1.0" encoding="UTF-8"?>, después <kml xmlns="http://www.opengis.net/kml/2.2"><Document><name>Symbol test</name>, los marcadores, y después </Document></kml>. Un símbolo del catálogo viaja en datos extendidos, así que cada punto dibujado con símbolo necesita un bloque <ExtendedData><Data name="gdSymbol"><value>hospital</value></Data></ExtendedData>. Las coordenadas son grados decimales a 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>
Dos puntos en un símbolo y uno en otro es lo que hace visible la entrada compartida. Soltá el archivo en el visor y fijate que el aviso aparezca antes de exportar — si no aparece, nada lleva símbolo y no hay nada que incrustar. Después unzip -l geodocs-export.kmz debería listar una entrada icons/ por ilustración distinta: dos, no tres.
Para equipos
Dar estilo a los puntos a mano no sobrevive a un traspaso: quien eligió los símbolos tiene el maestro, todos los demás tienen una exportación, y una exportación es una figura. Geodocs conserva el símbolo como símbolo, porque los datos viven en un mapa compartido en vez de en un archivo que circula por correo, así que no hay ida y vuelta que sobrevivir.