首页 / 浏览问题 / WebGIS / 问题详情
web开发颜色表设置
7EXP 2021年04月10日

在设置发布的体元栅格缓存颜色时,创建色表并插入了色值,但一直显示为红色(代码和结果图如下),请问如何在web开发中创建类似桌面端完整颜色表

insert(value, color),请问插入颜色中这个value的解释是高度值,感觉有点抽象,请问有啥具体的解释不????
            function setHypsometric(hyp, layer) {
                //var hyp = new Cesium.HypsometricSetting();
                var minValue = layer.dataMinValue;
                console.log("minValue:", minValue);//控制台输出信息
                var maxValue = layer.dataMaxValue;
                console.log("maxValue:", maxValue);

                hyp.DisplayMode = Cesium.HypsometricSettingEnum.DisplayMode.FACE;//HypsometricSettingEnum分层设色枚举类,DisplayMode显示模式
                hyp.lineColor = new Cesium.Color(1.0, 0.0, 0.0, 1.0);//设置等值线的颜色
                hyp.LineInterval = 100.0;//设置等值线的间隔
                hyp.MaxVisibleValue = layer.dataMaxValue;//MaxVisibleValue设置最大可见值
                hyp.MinVisibleValue = layer.dataMinValue;
                hyp.ColorTableMinKey = minValue;//获取颜色表达的最小key值
                hyp.ColorTableMaxKey = maxValue;

                var colorTable = new Cesium.ColorTable();
                

                //insert(value, color),颜色表插入新的项,value为高度值
                colorTable.insert(0.0, new Cesium.Color(201 / 255, 23 / 255, 30 / 255));
                colorTable.insert(0.1, new Cesium.Color(231 / 255, 50 / 255, 15 / 255));
                colorTable.insert(0.2, new Cesium.Color(238 / 255, 118 / 255, 0 / 255));
                colorTable.insert(0.3, new Cesium.Color(255 / 255, 214 / 255, 0 / 255));
                colorTable.insert(0.4, new Cesium.Color(246 / 255, 236 / 255, 0 / 255));
                colorTable.insert(0.5, new Cesium.Color(157 / 255, 200 / 255, 22 / 255));
                colorTable.insert(0.7, new Cesium.Color(104 / 255, 185 / 255, 61 / 255));
                colorTable.insert(0.9, new Cesium.Color(18 / 255, 110 / 255, 183 / 255));
                colorTable.insert(1.0, new Cesium.Color(0 / 255, 64 / 255, 152 / 255));


                hyp.ColorTable = colorTable;
                //hypsometricSetting分层设色类,该类主要用于制定三维模型渲染显示方案,通过一定的颜色变化次序或色调深浅来表达和区别三维数据的不同属性。
                layer.hypsometricSetting = {
                    hypsometricSetting: hyp,
                    analysisMode: Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL//AnalysisRegionMode分析范围模式,ARM_ALL分析全部
                }
            };

1个回答

您好,我这边用您这个颜色表测试是正常的,有色彩分层,颜色表设置可以参考范例http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#flood,其中value表示高度,比如0.0-0.1的颜色是红-绿.....,可以这样理解

6,087EXP 2021年04月12日
这个高度的意思是高程的意思?还是说是不同的运用场景所代表的含义不一样,代表某一属性值的大小?????
...