/* * This file is part of JGrasstools (http://www.jgrasstools.org) * (C) HydroloGIS - www.hydrologis.com * * JGrasstools is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.jgrasstools.gears.utils.colors; import java.util.HashMap; public class DefaultTables { private static HashMap<String, String> map = new HashMap<String, String>(); public DefaultTables() { String rainbow = "255 255 0\n" + // "0 255 0\n" + // "0 255 255\n" + // "0 0 255\n" + // "255 0 255\n" + // "255 0 0\n"; map.put(EColorTables.rainbow.name(), rainbow); String extRainbow = "255 255 0\n" + // "128 255 0\n" + // "0 255 0\n" + // "0 255 128\n" + // "0 255 255\n" + // "0 128 255\n" + // "0 0 255\n" + // "128 0 255\n" + // "255 0 255\n" + // "255 0 128\n" + // "255 0 0\n"; map.put(EColorTables.extrainbow.name(), extRainbow); String aspect = "255 255 255\n" + // "0 0 0\n" + // "255 255 255"; map.put(EColorTables.aspect.name(), aspect); String bath = "-30000 0 0 0 -20000 0 0 0 \n" + // "-20000 0 0 0 -10000 0 0 59 \n" + // "-10000 0 0 59 -9000 0 0 130\n" + // "-9000 0 0 130 -8000 0 0 202\n" + // "-8000 0 0 202 -7000 0 18 255\n" + // "-7000 0 18 255 -6000 0 90 255\n" + // "-6000 0 90 255 -5000 0 157 255\n" + // "-5000 0 157 255 -4000 0 227 255\n" + // "-4000 0 227 255 -3000 43 255 255\n" + // "-3000 43 255 255 -2000 115 255 255\n" + // "-2000 115 255 255 -1000 184 255 255\n" + // "-1000 184 255 255 0 250 255 255\n" + // "0 0 128 0 500 133 5 0 \n" + // "500 133 5 0 1000 255 128 0 \n" + // "1000 255 128 0 2000 255 255 0 \n" + // "2000 255 255 0 3000 255 255 127\n" + // "3000 255 255 127 4000 255 255 244\n" + // "4000 255 255 255 10000 255 255 255"; map.put(EColorTables.bathymetric.name(), bath); String elev = "0 191 191 \n" + // "0 255 0 \n" + // "255 255 0 \n" + // "255 127 0\n" + // "191 127 63 \n" + // "20 21 20\n"; map.put(EColorTables.elev.name(), elev); String flow = "1 255 255 0\n" + // "2 0 255 0\n" + // "3 0 255 255\n" + // "4 255 0 255\n" + // "5 0 0 255\n" + // "6 160 32 240\n" + // "7 255 165 0\n" + // "8 30 144 255\n" + // "10 255 0 0\n"; map.put(EColorTables.flow.name(), flow); String loga = "-1.0 255 255 255 0 255 255 255\n" + // "0.0 255 255 0 1 0 255 0\n" + // "1 0 255 0 10 0 255 255\n" + // "10 0 255 255 100 0 0 255\n" + // "100 0 0 255 1000 255 0 255\n" + // "1000 255 0 255 10000 255 0 0\n" + // "10000 255 0 0 100000 110 0 0\n" + // "100000 110 0 0 1000000 0 0 0\n"; map.put(EColorTables.logarithmic.name(), loga); String tca = "1 255 255 255\n" + // "10 0 255 0\n" + // "100 0 255 255\n" + // "1000 0 0 255\n" + // "10000 255 0 255\n" + // "100000 255 0 0\n" + // "1000000 110 0 0\n" + // "10000000 0 0 0\n"; map.put(EColorTables.tca.name(), tca); String sea = "-30000.0 255 255 255 -8000.0 255 255 255\n" + // "-8000.0 0 0 255 -2500.0 30 144 255\n" + // "-2500.0 30 144 255 -2000 162 208 252\n" + // "-2000 162 208 252 -1500 250 117 117\n" + // "-1500 250 117 117 0.0 255 0 0\n"; map.put(EColorTables.sea.name(), sea); String radiation = "198 198 224\n" + // "0 0 115\n" + // "0 100 210\n" + // "90 183 219\n" + // "0 255 255\n" + // "40 254 100\n" + // "80 131 35\n" + // "160 190 0\n" + // "255 255 100\n" + // "255 180 0\n" + // "255 0 0\n"; map.put(EColorTables.radiation.name(), radiation); String net = "2 255 0 0 2 255 0 0"; map.put(EColorTables.net.name(), net); String greyscale = "0 0 0 \n" + // "255 255 255\n"; map.put(EColorTables.greyscale.name(), greyscale); String greyscaleInverse = "255 255 255\n" + // "0 0 0\n"; map.put(EColorTables.greyscaleinverse.name(), greyscaleInverse); String shalstab = "1.0 255 0 0 1.0 255 0 0\n" + // "2.0 0 255 0 2.0 0 255 0\n" + // "3.0 255 255 0 3.0 255 255 0\n" + // "4.0 0 0 255 4.0 0 0 255\n" + // "8888.0 77 77 77 8888.0 77 77 77\n"; map.put(EColorTables.shalstab.name(), shalstab); String slope = " -5.0 255 0 0 -2.0 255 0 128 \n" + // " -2.0 255 0 128 -1.0 255 0 255 \n" + // " -1.0 255 0 255 -0.7 128 0 255 \n" + // " -0.7 128 0 255 -0.5 0 0 255 \n" + // " -0.5 0 0 255 -0.3 0 128 255 \n" + // " -0.3 0 128 255 -0.1 0 255 255 \n" + // " -0.1 0 255 255 -0.07 0 255 128 \n" + // "-0.07 0 255 128 -0.03 0 255 0 \n" + // "-0.03 0 255 0 -0.01 128 255 0 \n" + // "-0.01 128 255 0 0 255 255 0 \n" + // // invert "0 255 255 0 0.01 128 255 0\n" + // "0.01 128 255 0 0.03 0 255 0\n" + // "0.03 0 255 0 0.07 0 255 128\n" + // "0.07 0 255 128 0.1 0 255 255\n" + // "0.1 0 255 255 0.3 0 128 255\n" + // "0.3 0 128 255 0.5 0 0 255\n" + // "0.5 0 0 255 0.7 128 0 255\n" + // "0.7 128 0 255 1.0 255 0 255\n" + // "1.0 255 0 255 2.0 255 0 128\n" + // "2.0 255 0 128 5.0 255 0 0"; map.put(EColorTables.slope.name(), slope); String geomorphon = "1000.0 127 127 127\n" + // "1001.0 108 0 0\n" + // "1002.0 255 0 0\n" + // "1003.0 255 165 0\n" + // "1004.0 255 219 61\n" + // "1005.0 255 255 0\n" + // "1006.0 143 203 44\n" + // "1007.0 50 189 160\n" + // "1008.0 0 0 255\n"; map.put(EColorTables.geomorphon.name(), geomorphon); } /** * Method to add a table at runtime to the tables available. * * @param name the name of the table. * @param palette the colors and values. */ public static void addRuntimeTable(String name, String palette){ map.put(name, palette); } public String getTableString( String name ) { return map.get(name); } }