地理处理服务重分类参数的写法

本文介绍了一种使用ArcGIS API实现地图重分类服务的方法。通过具体示例展示了如何设置地图基本参数、添加图层及调用地理处理服务,并通过字符串形式的参数进行重分类操作。

曾经觉得这个参数好难写,因为是一个映射关系,哪知道不存在的。就是一个字符串,怎么分类写在字符串里面,就完事了。关键代码如下:

<script>
      require([         
      "dijit/layout/BorderContainer",
      "dijit/layout/ContentPane",
      "dijit/layout/AccordionContainer",
      "esri/Map",
      "esri/views/MapView",
      "esri/widgets/Search",
      "esri/views/ui/DefaultUI",
      "esri/layers/MapImageLayer",
      "esri/layers/FeatureLayer",
      "esri/tasks/Geoprocessor",
      "esri/widgets/BasemapToggle",
      "esri/widgets/BasemapGallery"      
    ], function(BorderContainer,ContentPane,AccordionContainer,Map,MapView,Search,DefaultUI,MapImageLayer,FeatureLayer,Geoprocessor,BasemapToggle, BasemapGallery) {

      var map = new Map({
        basemap: "topo-vector"
      });
      
      var view = new MapView({
        container: "mapview",
        map: map,
        center: [106.51,26.41],
        zoom: 12
      });
      //beijing:116.387, 39.909
      //贵安:[106.51,26.41]
      //sample:-118.80543,34.02700
      ////////////////////////////////////////////////////////////////////////
      //先添加MapImageLayer 做地理处理服务的实验
      var imagelayer = new MapImageLayer({url: "http://localhost:6080/arcgis/rest/services/GAND208/MapServer"});
          map.add(imagelayer);
          //以下是地理处理代码段
          // initialize geoprocessor task 初始化地理处理任务
        var gpUrlOrigin ="https://sampleserver6.arcgisonline.com/arcgis/rest/services/911CallsHotspot/GPServer/911%20Calls%20Hotspot";
        //var gpUrl="http://localhost:6080/arcgis/rest/services/LandUseAccess/GPServer";
        //="http://localhost:6080/arcgis/rest/services/LandAccess1016Use/GPServer";
       //     var gpUrl="http://localhost:6080/arcgis/rest/services/LandAccess1016Use/GPServer/LandAccess1016UseName"
            var gpUrl="http://localhost:6080/arcgis/rest/services/UseReclass/GPServer/UseReclass"
        var gp = new Geoprocessor({
         url: gpUrl,
          outSpatialReference: {
            wkid: 3857
          }
        });
        //gp.submitJob().then();
         var params = {
            ReclassMap:"1029.212890625 1221.2645325903673 1;1221.2645325903673 1293.8694216260549 2;1293.8694216260549 1333.6850059359481 3;1333.6850059359481 1626.4466552734 4"
          };//Key Code Key Code Key Code important things say three times!
        gp.submitJob(params);
       //以上代码是用参数调用重分类服务。怎么分都写在那个上面的大字符串里。
        //以下是提交job提交等的代码
    //    geoprocessor.submitJob(params).then(function(jobInfo) { 
        //var jobid = jobInfo.jobId;
    //    var options = {interval: 1500,
    //    statusCallback: function(j) {console.log("Job Status: ", j.jobStatus);}
    //    };
    //   geoprocessor.waitForJobCompletion(jobid, options).then(function() {
    //    var resultlayer = geoprocessor.getResultMapImageLayer(jobid);
     //    map.add(resultlayer);
 // }); 
          //以上是地理处理代码段
      
      
      
      
      //***添加搜索微件和底图切换微件***//
      var searchWidget = new Search({ view: view });
      var bmToggleWidget = new BasemapToggle({
          view: view,
          nextBasemap: "hybrid"
      });

      view.ui.add(searchWidget, "bottom-left");
      view.ui.add(bmToggleWidget, "bottom-right");
      
      
      //*** Add div element to show coordates:在视图区的右下角显示坐标 ***//
      var coordsWidget = document.createElement("div");
      coordsWidget.id = "coordsWidget";
      coordsWidget.className = "esri-widget esri-component";
      coordsWidget.style.padding = "7px 15px 5px";
      view.ui.add(coordsWidget, "bottom-right");
      view.ui._removeComponents(["attribution"]);// 去掉power by esri 

      //*** Update lat, lon, zoom and scale ***//
      function showCoordinates(pt) {
        var coords = "Lat/Lon " + pt.latitude.toFixed(3) + " " + pt.longitude.toFixed(3) + 
            " | Scale 1:" + Math.round(view.scale * 1) / 1 +
            " | Zoom " + view.zoom;
        coordsWidget.innerHTML = coords;
      }
      
      //*** Add event and show center coordinates after the view is finished moving e.g. zoom, pan ***//
      view.watch(["stationary"], function() {
        showCoordinates(view.center);
      });

      //*** Add event to show mouse coordinates on click and move ***//
      view.on(["pointer-down","pointer-move"], function(evt) {
        showCoordinates(view.toMap({ x: evt.x, y: evt.y }));
      });
      
      ///////////////////////////////////////////////////////////////////////
       });
      ////////////////////////////////////////////////////////////////////////
      //
      
      
      
      
      ////////////////////////////////////////////////////////////////////////
    </script>

<think>我们正在设计一个三维系统监测周报模板,需要简单易懂,同时适用于周报和月报。根据用户描述,系统包含以下核心部分: 1. 主界面汇总:监测与报警信息概览 2. 左下:实时监测与报警新消息(滚动) 3. 中间:地图显示区域内的设备监测的隐患场地(可点击查看设备信息) 4. 右边栏:监测设备列表、屏显信息、实时设备画面(可点击进入详情) 同时,用户提供了三个引用,但主要关注的是如何编写报告模板。我们参考引用[1]中可视化专家的背景,以及引用[2]中关于维度表的概念(用于组织数据),引用[3]中关于时间维度的处理(周统计、小时统计)。 设计思路: 1. 模板结构清晰,分为几个固定模块,周报和月报使用同一模板,只是时间范围不同(周报按周,月报按月)。 2. 内容以可视化图表和关键指标为主,文字描述简洁。 3. 利用星型架构思想(引用[2])组织数据:以“监测事件”为事实表,关联设备维度、时间维度、地理维度等。 模板框架: # 三维系统监测报告(周报/月报) **报告周期:** [自动填充周期,例如:2025年第X周 或 2025年X月] **生成时间:** [报告生成的时间] --- ## 1. 核心指标概览 用几个关键指标卡片展示本周(或本月)整体情况: - **监测设备总数:** 85台(在线80台,离线5台) - **报警事件总数:** 120起(已处理110起,处理中10起) - **平均响应时间:** 2.3小时 - **系统可用率:** 99.8% > 提示:这些指标应通过图表(如趋势图)展示变化,例如报警事件数对比上周/上月的变化率(+5%或-3%)。 --- ## 2. 实时报警动态 滚动显示最新报警信息(类似于系统左下角的实时消息),但报告中只展示最近5条或摘要: ``` 12:05:23 | 设备A-001 | CPU过载 (95%) | 高优先级 11:30:45 | 车辆B-002 | 超速报警 (120km/h) | 中优先级 ... [其他报警] ``` > 注:月报中可替换为“本月报警高峰时段分析”等摘要信息。 --- ## 3. 地图分布与热点区域 使用三维地图截图(或静态热力图)展示设备分布和报警密集区域,并标注重点隐患场地。例如: - **区域A(工业区):** 本周报警15起(主要类型:设备温度异常) - **区域B(交通枢纽):** 本周报警8起(主要类型:车辆超速) > 提示:地图部分在周报中可附上本周的汇总截图,月报中可提供多张截图(如每周热点变化)。 --- ## 4. 设备状态详情 右边栏的设备信息汇总成表格,按设备类型分类: | 设备类型 | 总数 | 正常 | 警告 | 故障 | 本周报警次数 | |------------|------|------|------|------|--------------| | 监控摄像头 | 50 | 45 | 3 | 2 | 12 | | 传感器节点 | 20 | 18 | 2 | 0 | 8 | | 车辆终端 | 15 | 14 | 1 | 0 | 5 | | ... | ... | ... | ... | ... | ... | > 点击可查看详情的功能在纸质报告中无法实现,但可以提供“详情见附件”或二维码链接到系统。 --- ## 5. 重点问题分析 针对本周/本月突出事件进行分析: 1. **高频报警设备TOP3:** - 设备ID:DEV-001(报警10次)→ 原因:散热故障,建议更换风扇。 - 设备ID:VEH-005(报警8次)→ 原因:频繁超速,建议检查限速设置。 2. **隐患场地跟踪:** - 场地X:连续3周出现温度异常,需现场检查。 --- ## 6. 附件:实时画面截图(可选) 提供1-3张典型设备的实时监控画面截图(如右边栏显示的实时画面),并附简要说明: - 图1:设备A-001温度异常时的实时画面(温度曲线峰值95℃)。 - 图2:区域B的交通监控画面(车辆超速抓拍)。 --- ### 模板使用说明 - **周报 vs 月报调整:** - 周报侧重“实时动态”和“短期趋势”,月报增加“月度趋势对比”和“长期问题跟踪”。 - 时间维度处理参考引用[3],确保统计周期一致(如周报按周一至周日,月报按自然月)。 - **数据可视化:** - 利用引用[1]的可视化技术,生成交互式三维地图(在线报告),静态报告则用截图替代。 - 关键指标用折线图展示趋势(如每周报警事件数变化)。 - **自动化集成:** - 从数据库(星型架构[^2])自动拉取数据填充模板,例如用SQL按周/月聚合(参考引用[3]的SQL示例)。 > 通过此模板,运维团队可快速掌握系统状态,聚焦重点问题。实际应用中,建议先用Markdown或HTML生成基础版本,再结合工具(如Grafana)定制可视化仪表盘。 §§相关问题§§ 1. 如何自动化生成三维监测系统的周报? 2. 在报告中如何有效展示三维地图信息? 3. 针对车辆超速报警,如何优化告警策略以减少误报? 4. 月报中需要增加哪些分析维度? [^1]: 周宁奕等专家的可视化技术可提升报告交互性。 [^2]: 星型架构便于组织设备、时间等多维数据。 [^3]: 时间维度处理需统一统计逻辑(如周起始日)。</think>以下是根据您的需求设计的**三维系统监测周报/月报模板**,结合可视化专家经验(引用[1])和维度表设计理念(引用[2]),采用简洁直观的结构,适配周报和月报场景: ```markdown # 三维系统监测报告 **周期:** ◼ 周报(第X周) ◼ 月报(X月) **日期:** YYYY-MM-DD 至 YYYY-MM-DD **生成时间:** YYYY-MM-DD HH:MM --- ## 一、核心指标看板 > 主界面核心数据汇总(通过星型架构聚合[^2]) | **指标** | **本周值** | **环比变化** | **状态** | |--------------------|------------|--------------|-----------| | 监测设备总数 | 85台 | +2% ↑ | ◼ 正常 | | 触发告警车辆数 | 12辆 | -15% ↓ | ◼ 改善中 | | 隐患场地数量 | 5处 | 持平 | ◼ 需关注 | | 平均响应时间 | 1.2小时 | -0.3小时 ↓ | ◼ 优化中 | **趋势图:** ```mermaid %% 自动生成折线图(示例) graph LR A[设备在线率] -->|97% → 99%| B(↑) C[告警事件数] -->|38 → 12| D(↓) ``` --- ## 二、实时监测动态 > 左下角实时消息流摘要(保留最新5条) ``` [HH:MM] 设备A-001:温度超阈值(78℃ → 85℃) ▣ 高优先级 [HH:MM] 车辆B-203:超速告警(限速80→实测112km/h) [HH:MM] 区域C:粉尘浓度异常(PM2.5=198) ... ``` **处理建议:** - 高优先级告警需15分钟内响应[^1] - 车辆类告警自动推送交管平台 --- ## 三、三维地图分析 > 中间区域隐患分布(点击可下钻) ```mermaid %% 地理热力图示例 graph TD A[区域总图] --> B[热点区域1] A --> C[热点区域2] B -->|点击查看| D[设备清单] C -->|点击查看| E[实时画面] ``` **关键区域统计:** | 区域 | 设备数 | 告警次数 | 主要风险类型 | |--------|--------|----------|--------------| | 工业区 | 32 | 8 | 温度/粉尘 | | 交通枢纽 | 18 | 9 | 车辆超速 | | 仓储区 | 12 | 2 | 烟雾监测 | --- ## 四、设备详情面板 > 右侧栏设备状态(支持分级下钻) ### 1. 监测设备清单 | 设备ID | 类型 | 状态 | 最后告警时间 | |----------|------------|--------|--------------| | CAM-001 | 摄像头 | ◉ 正常 | 08-03 14:22 | | SEN-205 | 温感传感器 | ▲ 警告 | 08-04 09:15 | | VEH-738 | 车载终端 | ▼ 故障 | 08-04 11:30 | ### 2. 屏显信息快照 ```mermaid %% 设备状态分布饼图 pie title 设备状态分布 “正常” : 68 “警告” : 12 “故障” : 5 ``` ### 3. 实时画面摘要 **▶ 工业区设备A-001(点击查看直播流)** ![温度趋势图](data:image/svg+xml;base64,...) *当前参数:温度$T=82℃$,阈值$T_{\max}=80℃$* --- ## 五、行动建议 1. **紧急处理**:工业区温度告警设备(3台需立即检修) 2. **优化建议**:调整车辆超速判定算法(引用[3]时间维度) 3. **预防措施**:仓储区增加湿度传感器(预算:$ \$2,800 $) --- **生成说明:** - 周报侧重**短期趋势**(如环比变化),月报增加**累积分析**(如设备月故障率) - 地图区域支持点击下钻,通过维度表关联设备详情[^2] - 实时数据采用时间窗口统计(按周/月聚合,引用[3]方法)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值