给栅格数据添加RasterFunction--自定义渲染方法
方法 -- 自定义 添加 渲染
2023-09-11 14:19:52 时间
<script type="text/javascript"> /** dojo.require("esri.map"); dojo.require("esri.layers.ArcGISImageServiceLayer"); dojo.require("esri.layers.TimeInfo"); dojo.require("esri.TimeExtent"); dojo.require("esri.dijit.TimeSlider"); dojo.require("dojo.dom");*/ require([ "esri/map", "esri/layers/ArcGISImageServiceLayer", "esri/TimeExtent", "esri/layers/TimeInfo","esri/dijit/TimeSlider","esri/layers/RasterFunction", "dojo/dom", "dojo/domReady!" ], function( Map, ArcGISImageServiceLayer, TimeExtent, TimeInfo,TimeSlider, dom ){ //$("#dataTable").height($(window).height()-255); if(dijit.byId("timeSliderDiv")){ dijit.byId("timeSliderDiv").destroy(); } timeSlider = new esri.dijit.TimeSlider({ style: "width: 100%;" }, dojo.byId("timeSliderDiv")); var imageService = Application.configData.imageServices.get("DBZ"); if(imageService && imageService.url){ // var colorRF = new esri.layers.RasterFunction(); colorRF.functionName = "Colormap"; colorRF.functionArguments = { "Colormap" : [ [4,0,159,245], [5,0,235,235], [6,0,215,0], [7,0,143,0], [8,254,254,0], [9,230,191,0], [10,254,143,0], [11,254,0,0], [12,213,0,0], [13,191,0,0], [14,254,0,239], [15,149,0,179], [16,172,143,239] ] }; // colorRF.variableName = "Raster"; // var imageServiceParameters = new esri.layers.ImageServiceParameters(); //imageServiceParameters.noData = 0; imageServiceParameters.renderingRule = colorRF; imageLayer = new esri.layers.ArcGISImageServiceLayer(imageService.url,{"imageServiceParameters":imageServiceParameters}); // // imageLayer.on("load",initSlider); var map = Application.map; var layer = map.addLayer(imageLayer); //layer.setRenderingRule(colorRF); } function initSlider() { Application.map.setTimeSlider(timeSlider); timeSlider.setThumbCount(1); // timeSlider.createTimeStopsByTimeInterval(timeExtent, 2, "esriTimeUnitsYears"); if(imageLayer.timeInfo){ timeSlider.createTimeStopsByTimeInterval(imageLayer.timeInfo.timeExtent,30,TimeInfo.UNIT_MINUTES); } timeSlider.setThumbMovingRate(1000); //timeSlider.singleThumbAsTimeInstant(true); timeSlider.setLoop(true); timeSlider.startup(); for(var i=0;i<timeSlider.timeStops.length;i++){ var date = timeSlider.timeStops[i]; $("#dataTableBody").append("<tr onClick='onClickDataRow(event)' time='"+date.getTime()+"'><td align='center'>"+(i+1)+"</td><td align='center'>"+date.format("yyyy-MM-dd hh:mm:ss")+"</td>"); } timeSlider.on("time-extent-change", function(evt) { //var startValString = evt.startTime.getUTCFullYear(); var endValString = evt.endTime.getTime(); //alert(endValString); //避免播放组件进入下一次循环播放 if(endValString == timeSlider.timeStops[timeSlider.timeStops.length-1].getTime()){ timeSlider.pause(); } $("#dataTableBody").children().removeClass("active"); //在列表中选中播放组件当前播放的影像 $.each($("#dataTableBody").children(),function(i,item){ if($(item).attr("time")==endValString){ $(item).addClass("active"); } }); }); //播放组件默认播放当前最新的一张影像 timeSlider.setThumbIndexes([timeSlider.timeStops.length-1]); } }); </script>
相关文章
- 【Mysql sql inject】POST方法BASE64编码注入write-up
- 【Python成长之路】Python爬虫 --requests库爬取网站乱码(xe4xb8xb0xe5xa)的解决方法【华为云分享】
- Spring容器关闭前执行销毁方法的几种方式
- numpy基本方法总结 --good
- usb设备运行不正常的解决方法(转)
- JavaScript中判断对象类型的种种方法
- SHELL 001 -- rpm命令常用方法
- SHELL 002 -- ps命令常用方法
- 新版 Scrapy 中 sys.conf.settings 的替代方法
- MFC控件指针公用释放方法[void* | 指针的引用]
- Java方法案例--比较两个值是否相等
- Java基础--通过反射获取私有的成员方法示例代码
- Atitit 提升开发进度大方法--高频功能与步骤的优化 类似性能优化
- Python编程语言学习:列表与字典互转的几大方法集锦、从列表中按顺序循环抽走一个元素输出剩余元素之详细攻略
- 使用jquery获取父元素或父节点的方法
- 【项目实战】处理并行编程的经典方法——Fork/Join模式
- 【华为云技术分享】LiteOS无法直接烧录或者烧录失败解决方法--ST-Link
- org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {解决方法
- spring boot 解决 跨域 的两种方法 -- 前后端分离
- Win10系统Ctrl键锁定无法使用解决方法
- 按键消抖的两种方法--中断延迟工作与定时器
- 第4代白盒測试方法介绍--理论篇
- Andoid自动判断输入是电话,网址或者Email的方法--Linkify
- 机器学习 不均衡数据的处理方法
- sc.textFile("file:///home/spark/data.txt") Input path does not exist解决方法——submit 加参数 --master local 即可解决
- 【设计模式】模板方法模式--让你的代码更具灵活性与可扩展性
- 超全面,盘点14 种数据异常值检验方法
- Google-GPU使用方法