4 votos

Obtener un color de fondo constante para la transparencia

Estoy creando una serie de archivos tif a escala 1:10k sobre un área extensa (760 baldosas) usando arcpy.mapping.ExportToTIFF y luego los coso para crear un solo ecw. El resultado se ve bien, pero cuando intento activar la transparencia me encuentro con que el "blanco" del fondo no es blanco puro (255,255,255), sino valores que "parecen blancos" como "254,254,252" o "254, 251, 250".)

¿Existe la posibilidad de establecer una tolerancia en la exportación para que cualquier valor entre, por ejemplo, 250 y 255) se vuelva a describir como 255,255,255? o cualquier área sin datos se convierta en 255,255,255?

Alternativamente, ¿poniendo un color de fondo (como el verde de la pantalla) que no está en el mxd funcionaría mejor que mantener el fondo indefinido?

Estoy publicando esto y también investigando las opciones anteriores y otras que se me ocurran ya que esto es urgente.

EDITAR 1 Cuando pruebo con jpg2000 obtengo mejores resultados pero algunos blancos no son correctos. Estoy ejecutando el siguiente comando para crear el tif

arcpy.mapping.ExportToTIFF(mxd,r"tests\SF\100k\SF100k_" + str(ddp.pageRow.PageName) + ".tif",df,9306,9306*ar,1800,True)

El problema es con los tifs generados, ya que el "blanco" cambia entre los mosaicos, así que cuando los coso en Global Mapper el "blanco" es diferente en cada archivo. ¿Podría una operación de cálculo de trama limpiar esto? o ¿puedo arreglarlo en la generación del tif (idealmente)? Tengo que realizar un proceso similar en otras 16 series de mapas a diferentes escalas, por lo que se trata de más de 10.000 mosaicos tif individuales en 16 grupos, por lo que es preferible esta última opción. enter image description here

EDITAR 2:

Imagen PNG enter image description here

Imagen TIF de la misma zona enter image description here

¿Alguna idea de por qué se ven tan diferentes cuando son exactamente los mismos datos? Es interesante que la simbología del PNG se basa en la vista de datos mientras que el TIF se basa en la vista de diseño. El PNG se acerca mucho más a la simbología prevista.

¿Puede Geoserver tratar la transparencia de una manera diferente a la de ArcGIS, donde las cuestiones anteriores se vuelven irrelevantes.

Gracias a todos,

4voto

auramo Puntos 161

Este problema tiene dos partes:

  • ECW es un formato comprimido con pérdidas, lo que significa que no puede representar con precisión los valores originales de los píxeles individuales, sino que utiliza compresión wavelet para aproximar los colores de los trozos de la imagen. Lamentablemente, este tipo de compresión no sirve para representar áreas continuas de colores idénticos.
  • La versión 3 de ECW no admite un canal alfa que permite especificar áreas de transparencia. La versión 4 de ECW admite canales alfa, pero la compatibilidad con ECW integrada en ArcGIS es para la versión 3, más antigua.

Las dos soluciones que veo son:

  • Cambiar a JPEG2000, que es similar a ECW pero que también admite la compresión sin pérdidas así como los canales alfa
  • Utilice otro paquete de software como ERDAS para crear el ECW con canal alfa, pero utilice el Plugin ERDAS ECW para ArcGIS para poder leer correctamente los canales alfa en ArcGIS

Véase también: Eliminar el collar del archivo ECW (mosaico de ortofotos)

Actualización:

Aunque el propio formato TIFF admite la transparencia del canal alfa, ni las funciones de exportación TIFF interactivas ni las de arcpy la admiten.

Sin embargo, puede utilizar PNG en su lugar (utilizando arcpy.mapping.ExportToPNG() que sí admite la transparencia del canal alfa. Simplemente establezca el color de fondo y el color transparente con el mismo valor y obtendrá un PNG con canal alfa, que debería poder convertir a JPEG2000 y (con suerte) conservar el canal alfa.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X