Skip to content

Latest commit

 

History

History

ColorMapStyle

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Generador de rampas de color para representación de grillas en ArcGIS for Desktop y ArcGIS Pro

Keywords: ArcGIS Python 3 matplotlib sys datetime open() write() close() abs() append() range() zfill()

ColorMapStyle.png

Las rampas de color son utilizadas para representar los valores de celdas o pixeles contenidos dentro de una grilla o mapa raster. Esri ArcGIS for Desktop y ArcGIS Pro, disponen de múltiples estilos de representación y a partir de la versión Desktop 10.6, estos estilos pueden ser creados por el usuario a través del administrador de estilos disponible en el menú Personalización; sin embargo, la creación de estilos en versiones anteriores y el reescalamiento y representación de grillas interpolas de resultados en una serie temporal, requieren de la creación manual de archivos .clr que luego pueden ser asociados a cada grilla de salida, perimitiendo de esta forma representar un mismo valor de celda en diferentes grillas con un mismo color. El propósito principal de este microcontenido, es crear estilos personalizados que luego serán utilizados en las actividades relacionadas con la Interpolación y representación espacial de series de datos meteorológicos con simbología de rampa única.

Caso de estudio

Representar manualmente en múltiples estilos de color personalizados el mapa de precipitación media multianual de Colombia Suramérica, disponible en la base de datos HidroSIG 4.0 creada por la Facultad de Minas de la Universidad Nacional de Colombia - Sede Medellín.

Requerimientos

Funcionalidades

  • Generación de archivos de rampa de color .clr a partir de arreglos de colores definidos por el usuario en formato RGB.
  • Definición del número de colores discretos que contendrá la rampa de salida, p.ej, 128, 256, 512, 1024, 2048.
  • Archivo ColorMapStyleValue.py independiente con múltiples estilos de color de referencia personalizados.
  • Conversión de valores RGB a valores escalados entre 0 y 1 para representación en Python.
  • Generación y exportación a formato PNG de gráfica de rampa de color usando matplotlib.
  • Generación de registro de ejecución detallado en formado Markdown.
  • Visualización de rampa de colores en formato texto sobre la consola de ejecución.

Dependiendo de la combinación de los colores de referencia y del número de colores discretos, es posible que algunos valores RGB se repitan, p.ej, en una rampa de color de blanco a negro solo pueden existir 255 colores discretos y sin en la definición de generación del archivo .clr se han definido 512 colores, por cada color se crearan dos registros con diferente índice.

Ruta de ejecución

Para el desarrollo de este microcontenido se recomienda que los scripts y demás archivos requeridos se alojen en D:\R.GISPython\ColorMapStyle utilizando la siguiente estructura de directorios.

Directorio Descripción
/Data Directorio de datos del caso de estudio.
/Map Directorio con mapas de representación en ArcGIS for Desktop y ArcGIS Pro.
/Old Directorio con versiones antiguas del script.
/Output Directorio de salida con rampas de color .clr, previsualización en .png y registro de ejecución .md.
/Screenshot Capturas de pantalla con resultados de ejecución.

El directorio /Output contiene mapas ejemplo para cada rampa de color generada usando la grilla de precipitación mensual media multianual. Para la representación se generaron y utilizaron archivos .clr con 16000 colores.

Procedimiento para la obtención de la grilla de precipitación media

  1. Descargue e instale HidroSIG 4.0 y descomprima la Base de datos de Colombia, clic aquí.

HidroSIG4.0Descarga.png

HidroSIG 4.0 requiere de la instalación de MapWindow GIS 4.6.

  1. En MapWindow GIS, clic en el menú HidroSIG - Base de Datos - Conectar / Desconectar, seleccione el proveedor BD SQLite y defina la fuente de datos correspondiente al archivo Colombia.db.

HidroSIG4.0Conectar.png

  1. En MapWindow GIS, clic en el menú HidroSIG - Base de Datos - Explorar datos. En el panel derecho, expanda Conexiones - Data y de doble clic sobre Precipitación KDE, correspondiente a la precipitación analizada mediante el núcleo de estimación de densidad. Luego de dar doble clic el mapa será cargado automáticamente al visor de MapWindow GIS.

HidroSIG4.0Visualizar.png

  1. Exporte la grilla utilizando el botón Exportar que se encuentra en la esquina inferior derecha del Explorador de bases de datos, nombre como PrecipitacionKDE.asc en la carpeta D:\R.GISPython\ColorMapStyle\Data. La grilla será exportada en formato Ascii (.asc) y sin sistema de proyección de coordenadas embebido.

HidroSIG4.0Exportar.png

Complementaria a la grilla de precipitación KDE, se ha incluido en la carpeta /Datos, una capa vectorial en formato Shapefile (Country.shp) con el límite de Colombia - Suramérica, el cual ha sido creado a partir de la delimitación de Subzonas Hidrográficas - SZH realizada por el Instituto de Hidrología, Meteorología y Estudios Ambientales - IDEAM de Colombia y es utilizado para ejemplificar el límite de la zona de estudio. Más información acerca de las SZH en Zonificación hidrográfica de Colombia - Análisis de forma y densidad usando Python.

Procedimiento para la generación de rampas utilizando el script

  1. Utilizando GitHub, clone el presente repositorio o manualmente realice la descarga los scripts en Python y cree la estructura de directorios recomendada en D:\R.GISPython\ColorMapStyle.

MicrosoftWindowsFolder.png

  1. En PyCharm, abra y explore el archivo de definición de rampas de color denominado ColorMapStyleValue.py, encontrará múltiples estilos predefinidos.

PyCharmColorMapStyleValue.png

En caso de que quiera crear un nuevo estilo, al final de este script, agregue un nuevo arreglo continuando con el número consecutivo de la secuencia definida, p.ej, ColorMap14 = [].

  1. En PyCharm, abra el script ColorMapStyle.py y modifique las líneas de código asociadas al arreglo definido en la definición de estilos realizada en el archivo ColorMapStyleValue.py. Por ejemplo, para generar o actualizar la rampa de color 13, defina baseRGBColors = cmsv.ColorMap13 con styleNumber = 13 y establezca el número total de valores discretos que contendrá el archivo de color .clr, p.ej, 256.
baseRGBColors = cmsv.ColorMap13
styleNumber = 13
numColor = 256

PyCharmColorMapStyleParameter.png

  1. Ejecute el script, verifique los resultados detallados en la consola de ejecución y los archivos generados. Para los parámetros establecidos en el ejemplo, automáticamente se crearán en la carpeta \Output los siguientes archivos:
Archivo Descripción
ColorMapArcGIS256s13.clr Archivo de rampa de color no codificado.
ColorMapArcGIS256s13.png Previsualización de la rampa de color.
ColorMapArcGIS256s13.md Registro detallado de ejecución en formato Markdown.

PyCharmColorMapStyleRun1.png PyCharmColorMapStyleRun2.png PyCharmColorMapStyleRun3.png PyCharmColorMapStyleRun4.png

Asociación de rampa de color y visualización en ArcGIS for Desktop y ArcGIS Pro

  1. Utilizando el procedimiento anterior, para el estilo 13 cree una rampa de 16 mil colores, obtendrá en \Output un archivo denimonado ColorMapArcGIS16000s13.clr.

  2. Copie el archivo ColorMapArcGIS16000s13.clr en la carpeta \Data y renombre con el nombre actual de la grilla de precipitación como PrecipitacionKDE.clr.

  3. En ArcGIS for Desktop, agregue la capa denominada Country.shp correspondiente al límite de Colombia - Suramérica y establezca el borde en color blanco, grosor 3 y sin relleno; agregue la grilla de precipitación y guarde el mapa como ColorMapStyle.mxd en la carpeta \Map.

Una vez cargada la grilla de precipitación al mapa, podrá observar que automáticamente se representa con el estilo de color creado y asociado.

El sistema de referencia de coordenadas - CRS contenido en la capa geográfica Country.shp corresponde a MAGNA Colombia para la franja Bogotá o WKID 3116. Cargue primero esta capa o defina el sistema de proyección del mapa a partir de su archivo .prj.

ArcGISDesktop10.2.2ColorMapStyle.png

  1. En ArcGIS Pro, cree un proyecto nuevo y nómbrelo en la carpeta \Map como ColorMapStyle, agregue la capa denominada Country.shp correspondiente al límite de Colombia - Suramérica y establezca el borde en color blanco, grosor 3 y sin relleno, para finalizar agregue la grilla de precipitación. Podrá observar que en la versión Pro se mantiene la representación de color definida.

ArcGISPro2.9.0ColorMapStyle.png

Rampas disponibles

Style 1

  • Name: ColorMap1 - Grayscale
  • RGB Color values: 2
  • Colors: White - Black
  • Deep color file (.clr): 128, 256.
  • Log de ejecución (.md): 128, 256.
Sample ramp Sample map
512 1024

Style 2

  • Name: ColorMap2 - Grayscale invert
  • RGB Color values: 2
  • Colors: Black - White
  • Deep color file (.clr): 128, 256.
  • Log de ejecución (.md): 128, 256.
Sample ramp Sample map
512 1024

Style 3

  • Name: ColorMap3 - Pantone 2
  • RGB Color values: 2
  • Colors: Blue - Red
  • Deep color file (.clr): 128, 256.
  • Log de ejecución (.md): 128, 256.
Sample ramp Sample map
512 1024

Style 4

  • Name: ColorMap4 - Pantone 3
  • RGB Color values: 3
  • Colors: Blue - Red - Green
  • Deep color file (.clr): 128, 256.
  • Log de ejecución (.md): 128, 256.
Sample ramp Sample map
512 1024

Style 5

  • Name: ColorMap5 - Pantone 4
  • RGB Color values: 4
  • Colors: Blue - Red - Green - Yellow
  • Deep color file (.clr): 256, 512.
  • Log de ejecución (.md): 256, 512.
Sample ramp Sample map
512 1024

Style 6

  • Name: ColorMap6 - Laser print
  • RGB Color values: 7
  • Colors: Orange - Light BLue - Magenta - Dark Blue - Yellow - Green - Red
  • Deep color file (.clr): 256, 512, 1024.
  • Log de ejecución (.md): 256, 512, 1024.
Sample ramp Sample map
512 1024

Style 7

  • Name: ColorMap7
  • RGB Color values: 7
  • Colors: Yellow - Pink - Green - Blue
  • Deep color file (.clr): 256, 512, 1024.
  • Log de ejecución (.md): 256, 512, 1024.
Sample ramp Sample map
512 1024

Style 8

  • Name: ColorMap8
  • RGB Color values: 7
  • Colors: Gray - Aquamarine - Sea Blue
  • Deep color file (.clr): 256, 512, 1024.
  • Log de ejecución (.md): 256, 512, 1024.
Sample ramp Sample map
512 1024

Style 9

  • Name: ColorMap9
  • RGB Color values: 13
  • Colors: Dark Pink - Mercury - Lime - Green
  • Deep color file (.clr): 256, 512, 1024.
  • Log de ejecución (.md): 256, 512, 1024.
Sample ramp Sample map
512 1024

Style 10

  • Name: ColorMap10 - HKS Color
  • RGB Color values: 15
  • Colors: Green to yellow to red
  • Deep color file (.clr): 256, 512, 1024.
  • Log de ejecución (.md): 256, 512, 1024.
Sample ramp Sample map
512 1024

Style 11

Sample ramp Sample map
512 1024

Style 12

Sample ramp Sample map
512 1024

Style 13

  • Name: ColorMap13
  • RGB Color values: 42
  • Colors: Green Sea - Blue Sea - Purple - Red - Orange - Yellow - Green to yellow to red to purple
  • Deep color file (.clr): 256, 512, 1024, 2048.
  • Log de ejecución (.md): 256, 512, 1024, 2048.
Sample ramp Sample map
512 1024

Scripts

# -*- coding: UTF-8 -*-
# Script name: ColorMapStyle.py, ColorMapStyleValue.py
# Description: Color ramp style generator
# Requirements: Python 3+

# Libraries
import ColorMapStyleValue as cmsv
import sys
from datetime import datetime
import matplotlib
import matplotlib.pyplot as plt

# Python rgb color changing text function
def colorrgb(r, g, b, text):
    return "\033[38;2;{};{};{}m{} \033[38;2;255;255;255m".format(r, g, b, text)

# Markdown header separator table function
def tableseparatormarkdown(n=2):
    lineSep = '|---'
    printlog(lineSep * n + '|', True)

# Print and or show log in screen
def printlog(txtPrint, onScreen=True):
    if onScreen: print(txtPrint)
    fileLog.write(txtPrint + '\n')

# Variables
baseRGBColors = cmsv.ColorMap13  # ✓✓✓ User can change ✓✓✓ - Style values from ColorMapStyleValue.py
styleNumber = 13  # ✓✓✓ User can change ✓✓✓
numColor = 256  # ✓✓✓ User can change ✓✓✓
filePath = r'D:/R.GISPython/ColorMapStyle'  # r'.' for relative path
fileName = 'ColorMapArcGIS'+str(numColor)+'s'+str(styleNumber)
fileNameOutput = filePath+'/Output/'+fileName+'.clr'
fileLog = open(filePath+'/Output/'+fileName+'.md', 'w+')
urlGitHub = 'https://github.com/rcfdtools/R.GISPython/blob/main/ColorMapStyle'
fileColorName = open(fileNameOutput, 'w+')
cutRamp = len(baseRGBColors)-1
discreteCutValue = int(numColor/cutRamp)
moduleEval = numColor % cutRamp
xVal, yVal, pyRBG = [], [], []
rgbSampleResolution = 96
printCutOnScreen = False  # Only for code review and not for print
printPyRGBOnScreen = True
printPlotOnScreen = True

# Header
printlog('## Color ramp style generator - Reference style # ' + str(styleNumber))
printlog('![' + str(fileName) + '.png](' + urlGitHub + '/Output/' + str(fileName) + '.png)', True)
printlog('* Execution date & time: ' + str(datetime.now()) +
         '\n* Script compatibility: Python 3'
         '\n* Python version: ' + str(sys.version) +
         '\n* Python path: ' + str(sys.path[0:5]) +
         '\n* matplotlib version: ' + str(matplotlib.__version__) +
         '\n* Repository: https://github.com/rcfdtools/R.GISPython/tree/main/ColorMapStyle'
         '\n* License and conditions: https://github.com/rcfdtools/R.GISPython/wiki/License'
         '\n* Credits: r.cfdtools@gmail.com\n')

# Parameters
printlog('### General parameters')
printlog('\n* Reference style #: ' + str(styleNumber) +
         '\n* Colors: ' + str(numColor) +
         '\n* Cuts: ' + str(cutRamp) +
         '\n* Module operator: ' + str(numColor % cutRamp) +
         '\n* Colors per cut: ' + str(discreteCutValue) +
         '\n* Output file: ' + str(fileNameOutput) +
         '\n* GitHub: ' + urlGitHub + '/Output/' + str(fileName) + '.clr' +
         '\n* GitHub sample: ' + urlGitHub + '/Output/' + str(fileName) + '.png\n')

printlog('### Reference RGB with ' + str(len(baseRGBColors)) + ' color values\n')
printlog('| #    | R   | G   | B   |')
tableseparatormarkdown(4)
iAux = 0
for i in baseRGBColors:
    printlog('| ' + str(iAux) + ' | ' + str(i[0]) + ' | ' + str(i[1]) + ' | ' + str(i[2]) + ' |')
    iAux += 1
printlog('\n')

# Calculation
printlog('### Generated RGB color values table\n')
i = 0
iAux = 0
printlog('| #    | R    | G   | B   | Cut |', False)
print('| #    | R    | G   | B   | Sample')
tableseparatormarkdown(5)
while i < cutRamp:
    redColorFrom = baseRGBColors[i][0]
    redColorTo = baseRGBColors[i+1][0]
    redColorJump = abs((redColorFrom-redColorTo)/discreteCutValue)
    redColorRampValue = redColorFrom
    greenColorFrom = baseRGBColors[i][1]
    greenColorTo = baseRGBColors[i+1][1]
    greenColorJump = abs((greenColorFrom-greenColorTo)/discreteCutValue)
    greenColorRampValue = greenColorFrom
    blueColorFrom = baseRGBColors[i][2]
    blueColorTo = baseRGBColors[i+1][2]
    blueColorJump = abs((blueColorFrom-blueColorTo)/discreteCutValue)
    blueColorRampValue = blueColorFrom
    if printCutOnScreen: # Only for code review and not for print
        print('Red color from ' + str(redColorFrom) + ' To ' + str(redColorTo) + ' with ' + str(redColorJump) + ' variation')
        print('Green color from ' + str(greenColorFrom) + ' To ' + str(greenColorTo) + ' with ' + str(greenColorJump) + ' variation')
        print('Blue color from ' + str(blueColorFrom) + ' To ' + str(blueColorTo) + ' with ' + str(blueColorJump) + ' variation')
    for j in range(1, discreteCutValue+1):
        if iAux < numColor:
            if iAux == numColor-1:
                printTxt = '| ' + str(iAux).zfill(4) + ' |  ' + str(int(redColorTo)).zfill(3) + ' | ' + str(int(greenColorTo)).zfill(3) + ' | ' + str(int(blueColorTo)).zfill(3) + ' |'
                printTxtMd = str(iAux) + ' ' + str(int(redColorTo)) + ' ' + str(int(greenColorTo)) + ' ' + str(int(blueColorTo))
            else:
                printTxt = '| ' + str(iAux).zfill(4) + ' |  ' + str(int(redColorRampValue)).zfill(3) + ' | ' + str(int(greenColorRampValue)).zfill(3) + ' | ' + str(int(blueColorRampValue)).zfill(3) + ' |'
                printTxtMd = str(iAux) + ' ' + str(int(redColorRampValue)) + ' ' + str(int(greenColorRampValue)) + ' ' + str(int(blueColorRampValue))
            printSample = ' ■■■■■■■■■■■'
            print(colorrgb(0,0,0, printTxt) + colorrgb(int(redColorRampValue), int(greenColorRampValue), int(blueColorRampValue), printSample))
            printlog(printTxt, False)
            fileColorName.write(printTxtMd + '\n')
            if redColorFrom < redColorTo:
                redColorRampValue += redColorJump
                if redColorRampValue > redColorTo:
                    redColorRampValue = redColorTo
            else:
                redColorRampValue -= redColorJump
                if redColorRampValue > redColorFrom:
                    redColorRampValue = redColorFrom
            if greenColorFrom < greenColorTo:
                greenColorRampValue += greenColorJump
                if greenColorRampValue > greenColorTo:
                    greenColorRampValue = greenColorTo
            else:
                greenColorRampValue -= greenColorJump
                if greenColorRampValue > greenColorFrom:
                    greenColorRampValue = greenColorFrom
            if blueColorFrom < blueColorTo:
                blueColorRampValue += blueColorJump
                if blueColorRampValue > blueColorTo:
                    blueColorRampValue = blueColorTo
            else:
                blueColorRampValue -= blueColorJump
                if blueColorRampValue > blueColorFrom:
                    blueColorRampValue = blueColorFrom
            pyRBG.append((abs(redColorRampValue / 255.00000001), abs(greenColorRampValue / 255.00000001),
                          abs(blueColorRampValue / 255.00000001)))
            iAux += 1
    if moduleEval >= 1 and iAux < numColor:
        if iAux == numColor - 1:
            printTxt = '| ' + str(iAux).zfill(4) + ' |  ' + str(int(redColorTo)).zfill(3) + ' | ' + str(int(greenColorTo)).zfill(3) + ' | ' + str(
                int(blueColorTo)).zfill(3) + ' |'
            printTxtMd = str(iAux) + ' ' + str(int(redColorTo)) + ' ' + str(int(greenColorTo)) + ' ' + str(
                int(blueColorTo))
        else:
            printTxt = '| ' + str(iAux).zfill(4) + ' |  ' + str(int(redColorRampValue)).zfill(3) + ' | ' + str(int(greenColorRampValue)).zfill(3) + ' | ' + str(int(blueColorRampValue)).zfill(3) + ' |'
            printTxtMd = str(iAux) + ' ' + str(int(redColorRampValue)) + ' ' + str(int(greenColorRampValue)) + ' ' + str(int(blueColorRampValue))
        printSample = ' ■■■■■■■■■■■'
        print(colorrgb(0,0,0, printTxt) + colorrgb(int(redColorRampValue), int(greenColorRampValue), int(blueColorRampValue), printSample) + str(i+1) + ' cut')
        printlog(printTxt + str(i+1) + ' cut |', False)
        fileColorName.write(printTxtMd + '\n')
        pyRBG.append((abs(redColorRampValue / 255.00000001), abs(greenColorRampValue / 255.00000001),
                      abs(blueColorRampValue / 255.00000001)))
        iAux += 1
    i += 1
fileColorName.close()
print('\n')

# Matplotlib sample
printlog(colorrgb(0,0,0,'### Matplotlib color style sample'))
if printPyRGBOnScreen:
    printlog(colorrgb(0,0,0,'\nPython value conversion'))
    printlog(colorrgb(0,0,0,'| #    | pyR   | pyG   | pyB   |'))
    tableseparatormarkdown(n=4)
    iAux = 0
    for i in pyRBG:
        # printlog('| ' + str(iAux) + ' | ' + str(round(i[0],3)) + ' | ' + str(round(i[1],3)) + ' | ' + str(round(i[2],3)) + ' |')  # Python 2 y 3
        printlog(colorrgb(0,0,0, '| ' + str(iAux) + ' | ' + (f'{round(i[0], 3):.3f}') + ' | ' + str(f'{round(i[1], 3):.3f}') + ' | ' + str(f'{round(i[2], 3):.3f}') + ' |'))  # Python 3
        iAux += 1
for i in range(1,numColor+1):
    xVal.append(-i)
    yVal.append(1)
matplotlib.rcParams.update({'font.size': 8})
plt.figure(figsize=(5, 6), dpi=rgbSampleResolution)
plt.box(False)
plt.xticks([])
plt.title(fileName+'.clr' + '\n' + urlGitHub)
plt.tight_layout(pad=1.5)
plt.yticks([0, -numColor/4, -numColor/2, -numColor*3/4, -numColor])
plt.barh(xVal, yVal, color=pyRBG, height=1, align='center')
plt.savefig(filePath+'/Output/'+fileName+'.png')
if printPlotOnScreen: plt.show()
fileLog.close()
# Color map style arrays

# Style 1
# Name: ColorMap1 - Grayscale
# RGB Color values: 2
# Colors: White - Black
# Deep: 128, 256
ColorMap1 = [[255, 255, 255],
              [0, 0, 0]]

# Style 2
# Name: ColorMap2 - Grayscale invert
# RGB Color values: 2
# Colors: Black - White
# Deep: 128, 256
ColorMap2 = [[0, 0, 0],
              [255, 255, 255]]

# Style 3
# Name: ColorMap3 - Pantone 2
# RGB Color values: 2
# Colors: Blue - Red
# Deep: 128, 256
ColorMap3 = [[97, 169, 220],
             [211, 108, 118]]

# Style 4
# Name: ColorMap4 - Pantone 3
# RGB Color values: 3
# Colors: Blue - Red - Green
# Deep: 128, 256
ColorMap4 = [[97, 169, 220],
             [211, 108, 118],
             [83, 193, 177]]

# Style 5
# Name: ColorMap5 - Pantone 4
# RGB Color values: 4
# Colors: Blue - Red - Green - Yellow
# Deep: 256, 512
ColorMap5 = [[97, 169, 220],
             [211, 108, 118],
             [83, 193, 177],
             [254, 205, 130]]

# Style 6
# Name: ColorMap6 - Laser print
# RGB Color values: 7
# Colors: Orange - Light BLue - Magenta - Dark Blue - Yellow - Green - Red
# Deep: 256, 512, 1024
ColorMap6 = [[245, 134, 52],
             [0, 175, 239],
             [236, 38, 143],
             [62, 64, 149],
             [255, 242, 18],
             [0, 168, 89],
             [237, 50, 55]]

# Style 7
# Name: ColorMap7
# RGB Color values: 7
# Colors: Yellow - Pink - Green - Blue
# Deep: 256, 512, 1024
ColorMap7 = [[204, 204, 0],
             [255, 128, 128],
             [0, 255, 128],
             [64, 128, 128],
             [64, 64, 128],
             [0, 102, 204],
             [0, 0, 255]]

# Style 8
# Name: ColorMap8
# RGB Color values: 7
# Colors: Gray - Aquamarine - Sea Blue
# Deep: 256, 512, 1024
ColorMap8 = [[224, 224, 224],
             [229, 255, 204],
             [153, 255, 204],
             [51, 255, 255],
             [0, 204, 204],
             [0, 102, 102],
             [0, 76, 153]]

# Style 9
# Name: ColorMap9
# RGB Color values: 13
# Colors: Dark Pink - Mercury - Lime - Green
# Deep: 256, 512, 1024
ColorMap9 = [[174, 104, 157],
              [201, 183, 205],
              [233, 97, 141],
              [215, 95, 144],
              [242, 113, 126],
              [246, 151, 89],
              [246, 196, 70],
              [247, 192, 113],
              [239, 226, 0],
              [204, 209, 55],
              [214, 223, 70],
              [170, 216, 47],
              [124, 199, 57]]

# Style 10
# Name: ColorMap10 - HKS Color
# RGB Color values: 15
# Colors: Green to yellow to red
# Deep: 256, 512, 1024
ColorMap10 = [[174, 176, 145],
             [163, 187, 152],
             [152, 205, 151],
             [164, 216, 142],
             [175, 217, 133],
             [185, 227, 136],
             [247, 235, 168],
             [241, 236, 124],
             [249, 238, 104],
             [248, 224, 104],
             [255, 217, 111],
             [255, 186, 116],
             [255, 160, 112],
             [255, 155, 129],
             [248, 127, 119]]

# Style 11
# Name: ColorMap11 - HKS Colors Extend
# RGB Color values: 22
# Colors: Green to yellow to red to purple
# Deep: 256, 512, 1024, 2048
ColorMap11 = [[174, 176, 145],
             [163, 187, 152],
             [152, 205, 151],
             [164, 216, 142],
             [175, 217, 133],
             [185, 227, 136],
             [247, 235, 168],
             [241, 236, 124],
             [249, 238, 104],
             [248, 224, 104],
             [255, 217, 111],
             [255, 186, 116],
             [255, 160, 112],
             [255, 155, 129],
             [248, 127, 119],
             [236, 123, 125],
             [244, 106, 126],
             [245, 96, 116],
             [226, 79, 120],
             [208, 82, 132],
             [211, 73, 143],
             [199, 67, 151]]

# Style 12
# Name: ColorMap12
# RGB Color values: 20
# Colors: Green Sea - Blue Sea - Purple - Red - Orange - Yellow
# Deep: 256, 512, 1024, 2048
ColorMap12 = [[164, 203, 194],
              [38, 116, 109],
              [0, 55, 75],
              [0, 31, 89],
              [0, 45, 116],
              [20, 17, 87],
              [80, 21, 124],
              [111, 29, 144],
              [137, 37, 112],
              [169, 40, 88],
              [216, 52, 61],
              [254, 78, 38],
              [254, 107, 75],
              [255, 139, 84],
              [255, 170, 124],
              [255, 201, 124],
              [254, 216, 167],
              [253, 228, 167],
              [253, 241, 208],
              [255, 252, 219]]

# Style 13
# Name: ColorMap13
# RGB Color values: 42
# Colors: Green Sea - Blue Sea - Purple - Red - Orange - Yellow - Green to yellow to red to purple
# Deep: 256, 512, 1024, 2048
ColorMap13 = [[164, 203, 194],
              [38, 116, 109],
              [0, 55, 75],
              [0, 31, 89],
              [0, 45, 116],
              [20, 17, 87],
              [80, 21, 124],
              [111, 29, 144],
              [137, 37, 112],
              [169, 40, 88],
              [216, 52, 61],
              [254, 78, 38],
              [254, 107, 75],
              [255, 139, 84],
              [255, 170, 124],
              [255, 201, 124],
              [254, 216, 167],
              [253, 228, 167],
              [253, 241, 208],
              [255, 252, 219],
              [174, 176, 145],
              [163, 187, 152],
              [152, 205, 151],
              [164, 216, 142],
              [175, 217, 133],
              [185, 227, 136],
              [247, 235, 168],
              [241, 236, 124],
              [249, 238, 104],
              [248, 224, 104],
              [255, 217, 111],
              [255, 186, 116],
              [255, 160, 112],
              [255, 155, 129],
              [248, 127, 119],
              [236, 123, 125],
              [244, 106, 126],
              [245, 96, 116],
              [226, 79, 120],
              [208, 82, 132],
              [211, 73, 143],
              [199, 67, 151]]

Referencias

Compatibilidad

  • ArcGIS for Desktop 10 o superior.
  • ArcGIS Pro.
  • Python 3.

Control de versiones

Versión Descripción Autor Horas
2022.01.09 Documentación y ejemplos. rcfdtools 8
2022.01.08 Optimización de código. rcfdtools 8
2022.01.07 Incorporación nuevas rampas de color. rcfdtools 8
2022.01.06 Versión inicial sobre Python 3. rcfdtools 8

Licencia, cláusulas y condiciones de uso

R.GISPython es de uso libre para fines académicos, conoce nuestra licencia, cláusulas, condiciones de uso y como referenciar los contenidos publicados en este repositorio dando clic aquí.

¡Encontraste útil este repositorio!, apoya su difusión marcando este repositorio con una ⭐ o síguenos dando clic en el botón Follow de rcfdtools en GitHub.

Anterior 🏠 Inicio 🔰 Ayuda / Colabora Siguiente