Lo que descubrí es que utilidades cpt (paleta de colores) se ha utilizado para convertir un número de gradientes de todo el lugar. Hay un cptutils-online herramienta de conversión. Las cptutils se han utilizado para crear el Sitio cpt-city - Un archivo de gradientes de color . Esto también explica por qué hay una [qgis_install_dir]/apps/qgis/resources/cpt-city-qgis-min/
directorio. Estos archivos son del sitio cpt-city. El sitio cb
es donde se encuentran los archivos de color-brewer. Estos son todos .svg
archivos. Mirando el spectial11.svg
verá que <creator name="cptutils" version="1.46"/>
creó el archivo. Lo que tendrías que hacer es entrar y revertir manualmente todos los <stop offset ... />
pasos para lograr su rampa de color invertida.
Eso no es divertido. He instalado el plugin SVG2ColoR qgis. Genera paradas con valores numéricos y en un formato qgis_style. Intercambiando los dos colores en el archivo
<prop k="color1" v="94,79,162,255"/>
<prop k="color2" v="158,1,66,255"/>
no invirtió la rampa en el gestor de color. Pero este fue el primer paso del proceso. A continuación, cambié la línea de paradas a tres líneas.
<prop k="stops" v="
0.0909...
"/>
He estado utilizando el editor vim en este proceso. En la línea que comienza con 0.0909, he utilizado este comando. El ^M tiene que ser introducido con controlQcontolM en MS Windows o controlVcontrolM en otras plataformas.
:s/:/:'::text as map_step^Munion all select '/g
Las líneas modificadas deben llevar el prefijo
select '
La última línea de las líneas modificadas debe tener
:'::text as map_step
adjunta a la línea. Todo lo que esto hizo fue crear un conjunto de sentencias selectas unidas como se muestra a continuación. La sentencia sql de abajo fue probada en PostgreSQL. Todo lo que hace es preservar el orden original de las líneas del archivo qgis_style con una rampa invertida. Los nuevos pasos fueron puestos en un nuevo archivo llamado Spectral_113.xml -- el tercer intento. Se ha adjuntado a continuación.
La respuesta se refería más bien a la alegría de la exploración y la comprensión. Espero que sirva de ayuda.
El sql para invertir la rampa.
with color_map as (
--
-- Begin place your ramp that you want to reverse here.
--
select '0.0909;158,1,66,255:'::text as map_step
union all select '0.0909;213,62,79,255:'::text as map_step
union all select '0.1818;213,62,79,255:'::text as map_step
union all select '0.1818;244,109,67,255:'::text as map_step
union all select '0.2727;244,109,67,255:'::text as map_step
union all select '0.2727;253,174,97,255:'::text as map_step
union all select '0.3636;253,174,97,255:'::text as map_step
union all select '0.3636;254,224,139,255:'::text as map_step
union all select '0.4545;254,224,139,255:'::text as map_step
union all select '0.4545;255,255,191,255:'::text as map_step
union all select '0.5455;255,255,191,255:'::text as map_step
union all select '0.5455;230,245,152,255:'::text as map_step
union all select '0.6364;230,245,152,255:'::text as map_step
union all select '0.6364;171,221,164,255:'::text as map_step
union all select '0.7273;171,221,164,255:'::text as map_step
union all select '0.7273;102,194,165,255:'::text as map_step
union all select '0.8182;102,194,165,255:'::text as map_step
union all select '0.8182;50,136,189,255:'::text as map_step
union all select '0.9091;50,136,189,255:'::text as map_step
union all select '0.9091;94,79,162,255:'::text as map_step
--
-- End place your ramp that you want to reverse here.
--
), cm_ordered as (
-- Assign a number to preserve the stop order.
select row_number() over() as rn,
map_step
from color_map cm
), cm_parsed as (
-- Parse the step order and color at the semicolon.
-- vim broke out the lines at the colon separator.
select rn, map_step as orig_map_step,
substr( map_step, 1, strpos( map_step, ';' ) ) as step_num,
substr( map_step, strpos( map_step, ';' ) + 1,
length( map_step ) ) as step_color
from cm_ordered
), orig_ramp_order as (
-- Create one of two tables for the final join.
select rn, orig_map_step, step_num, step_color
from cm_parsed
order by rn
), new_ramp_order as (
-- Now we assign a reverse order number.
-- This also creates the second of two tables for the final join
select row_number() over( order by rn desc ) as rev_rn, rn as orig_rn,
orig_map_step as orig_map_stepn, step_num as orig_step_num,
step_color as orig_step_color
from cm_parsed
order by rn desc
)
-- Now the two tables are joined back together.
-- The original step number order is used.
-- The colors in reversed order are concatenated with the original step order.
select step_num || orig_step_color as new_ramp
from (
select oro.*, nro.*
from orig_ramp_order oro, new_ramp_order nro
where rn = rev_rn
order by rn
) finish_reverse;
El conjunto de resultados con los colores invertidos.
new_ramp
0.0909;94,79,162,255:
0.0909;50,136,189,255:
0.1818;50,136,189,255:
0.1818;102,194,165,255:
0.2727;102,194,165,255:
0.2727;171,221,164,255:
0.3636;171,221,164,255:
0.3636;230,245,152,255:
0.4545;230,245,152,255:
0.4545;255,255,191,255:
0.5455;255,255,191,255:
0.5455;254,224,139,255:
0.6364;254,224,139,255:
0.6364;253,174,97,255:
0.7273;253,174,97,255:
0.7273;244,109,67,255:
0.8182;244,109,67,255:
0.8182;213,62,79,255:
0.9091;213,62,79,255:
0.9091;158,1,66,255:
El nuevo archivo Spectral_113.xml.
<!DOCTYPE qgis_style>
<qgis_style version="1">
<symbols/>
<colorramps>
<colorramp type="gradient" name="Spectral_113">
<prop k="color1" v="94,79,162,255"/>
<prop k="color2" v="158,1,66,255"/>
<prop k="discrete" v="0"/>
<prop k="stops" v="0.0909;94,79,162,255:0.0909;50,136,189,255:0.1818;50,136,189,255:0.1818;102,194,165,255:0.2727;102,194,165,255:0.2727;171,221,164,255:0.3636;171,221,164,255:0.3636;230,245,152,255:0.4545;230,245,152,255:0.4545;255,255,191,255:0.5455;255,255,191,255:0.5455;254,224,139,255:0.6364;254,224,139,255:0.6364;253,174,97,255:0.7273;253,174,97,255:0.7273;244,109,67,255:0.8182;244,109,67,255:0.8182;213,62,79,255:0.9091;213,62,79,255:0.9091;158,1,66,255"/>
</colorramp>
</colorramps>
</qgis_style>