相对于等值线,等值面可以更加直观地展示不同值的分布区域。在webgis中等值面生成的方法可分成2种,一种是由后台生成结果,前端获取结果进行渲染。第二种是在web前端生成,然后渲染。从格式上看,也有分2种,一种是矢量多边形,一种是图片。

本文主要记录在实现由arcgis 工具生成等值面过程中遇到的一些问题,主要是采用模型构建器,利用现有的工具构建模型,总体流程是:输入点要素(带需要计算的字段,如雨量,水深)-【IDW】生成栅格-根据分类规则用【栅格计算器】对生成的栅格进行重分类,如0-10,10-20,最后使用【栅格转多边形】生成相应的多边形并输出。详细过程见参考博客。

本次实现过程采用的arcgis版本为10.4.1。不同版本可能会遇到不同的问题,仅供参考。

1.在完成IDW计算后,使用栅格计算器时报错:Python2.7未安装。解决方法:用arcgis-desktop的安装程序重新安装或者修复python27。

2.发布后,在前端调用服务时报错:“error 000867: output cell size: contains invalid cell size or dataset”。因为参考的博客中说到IDW中可以不必特意设置cell size。确实,在arcmap中运行时确实可以通过。但发布成服务由前端调用时出现该错误。解决方法:设置cell size 重新发布服务。

3.发布后,在前端调用时报错:‘the coordinates or measures are out of bounds.’参考博客中说到”“设定的输出范围要素放到左侧图层栏,这样可以在Environment Settings—Pricessing Extent中直接选择”。而一开始考虑到通用性,不想用因为某个范围限制了计算范围,所以没有设置,在arcmap中运行没有问题,但发布成服务后出错。解决方法:在【环境设置】-【处理范围】设置中设定相应的范围,测试发现选择【输入并集】或者【输入的交集】也会出错。

4.发布时,注意选择调用方式是同步还是异步,同时在前端调用时也应该注意是以相应的方式进行调用。在测试过程中发现使用异步会报错,内容大概就是“任务失败”但没有更详细的信息,所以后面主要采用的是同步的方式。

2020-7-6更新:

1.IDW生成栅格后也可以用Reclassify栅格【重分类工具】进行重分类,相比【栅格计算器】使用更加方便。

2.使用tif进行前端渲染。生成多边形因为需要重分类,栅格转矢量等步骤,所以相对比较耗时。而解决这个问题的一个办法就是把重分类及渲染都放在前端进行,即只需要将IDW工具发布成服务,然后调用IDW的服务生成插值后的tif,之后获取对应的tif,在前端根据要求进行动态重分类,并进行渲染。这边需要用到前端tif解析的库,详情参考tiff.js官网。具体渲染步骤是:

a.使用tiff.js获取栅格并将栅格转成png;因为生成的tif为单波段,而png为4波段,所以png中RGB的值一般相同,且A波段为255。

b.根据分类需求对png的值进行重新分类,比如当rgb的值在区间[0,10)内时,设置其颜色设置为蓝色。则只需判断0<=r=g=b<10,时,设置r=0;b=255;g=0;这样png中该点就由原来的值变成了相应的颜色值,还可以通过设置不同的a实现半透明效果。

c:将该图片作为图层加载到地图中,当然需要有相应的范围坐标,一般这个范围可以是固定的。将图片图层在常见的地图框架中都支持。最后完成将等值面叠加到地图中。

注意:tif的像素深度不能超过8位,如果超过255需要在服务中用【int】工具将其转成整形的栅格,否则tifjs无法解析。

参考博客:

https://blog.csdn.net/rrrrroy_ha/article/details/79461388

https://blog.csdn.net/rrrrroy_Ha/article/details/79451614

webgis中等值面生成技术之-arcgis 用自带工具生成等值面并其发布成gp服务相关推荐

  1. gp服务发布服务的地图,web客户端显示的位置跟arcgis中显示的位置不一致,不相符(我的是等值面发布的gp服务)

    gp服务发布服务的地图,web客户端显示的位置跟arcgis中显示的位置不一致,不相符(我的是等值面发布的gp服务) 我发布的结果跑到非洲去了. 解决办法: 发布的服务设置环境:processing ...

  2. arcgis xml 下载 切片_切片文件发布成切片服务

    一.需求背景: 最近碰到这样的需求,就是手头拥有他人给的切片文件,但是想在自己服务器中将该切片文件发布成切片服务.如何实现? 二.解决办法: 此类需求是非常常见的,arcgis server 提供了S ...

  3. arcgis怎么生成一个html,arcgis desktop 10.x怎么生成1:100万、1:50万等标准图幅经纬网格...

    arcgis desktop 10.x怎么生成1:100万.1:50万,1:25万.1:10万.1:5万.1:2.5万.1:1万等标准图幅经纬度网格,只需要在记事本里粘贴下面的脚本,另存为fishne ...

  4. arcgis api for js入门开发系列十二地图打印(GP服务)

    上一篇实现了demo的地图统计图,本篇新增地图打印,截图如下: (1)地图打印实现的思路如下:首先在创建好地图打印GP模型,设置好模型的参数:其次是验证模型运行模型:然后是发布地图打印的GP服务:最后 ...

  5. Android 自带工具生成图标

    今天给大家介绍的一个Android开发的神兵利器就是Android Studio自带的图标制作利器 Image Asset Studio. Image : 英语"图像"的意思. A ...

  6. 用MyEclipse自带工具生成WebService客户端代码

    本文章主要是介绍如何利用已经发布了的Webservice的wsdl来自动生成java的客户端代码.注意:本方法需要你采用的java版本是1.5或者以上的版本,采用MyEclipse来自动生成代码. w ...

  7. 【完整的WebGIS教程】6.1 使用ArcGIS Server发布要素服务

    前言:在前面的文章中,我在[完整的WebGIS教程]5WebGIS目录树管理中,使用了捷泰发布好的服务,在第六章,我们将要自己发布服务,进而在网页上使用我们的数据. 我发布服务时候参考的是大佬的教程, ...

  8. arcgis中如何导出奥维可识别的图_如何在奥维中加载ArcGIS发布的地图服务

    在工作中,您可能有大量的航拍图需要在奥维中加载显示,但直接导入航拍图的数据处理量较大.对电脑硬件的要求较高.因此,您可以通过ArcGIS将航拍图发布成地图服务,在奥维中以在线自定义地图的形式加载. 1 ...

  9. ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试

    ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发布.测试 原文:ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发 ...

  10. ArcGIS Maritime 发布海图切片服务详解

    本章导读 ArcGIS Maritime 作为ArcGIS海图解决方案,进入行业视野已经有相当一段日子了,每一次更新都给人带来一些惊喜,从最近几个版本来看,已经逐渐趋向成熟,并且提供了好用的工具辅助实 ...

最新文章

  1. oracle字典表导出,oracle 如何导出数据字典
  2. vue 请求多个api_vue 一个input同时请求两个接口
  3. 题目1076:N的阶乘
  4. NOIP2018普及组复赛解析
  5. java queue使用_使用Java使用Amazon Simple Queue Service
  6. 在Linux和Mac OS X系统上运行.NET
  7. oracle 11g r2 rac到单实例的dg
  8. java正则 链接_Java使用正则表达式匹配获取链接地址的方法示例
  9. [PAT] 02-线性结构2 Reversing Linked List(单向链表的逆转) - C语言实现
  10. eclipse C/C++开发环境配置全过程
  11. [转]Linux下用gcc/g++生成静态库和动态库(Z)
  12. C语言从入门到精通——初阶6 指针
  13. 老杜java_老杜最新Java零基础视频教程(适合Java 0基础,Java初学入门)
  14. mybatis-plus 多条件下关键字查询
  15. 干货 | 什么是ABCDE轮融资?
  16. centos7 安装docker-ce社区版 ,最新版本docker,docker阿里云加速
  17. Python爬虫入门一(爬虫基础)
  18. 一些奇奇怪怪小问题汇总
  19. Oracle存储过程基本语法介绍-存储过程
  20. 《Android》Chap.11 网络技术

热门文章

  1. oracle 统计每天新增订单数量
  2. 微信语音识别_微信 语音识别_微信语音识别api - 云+社区 - 腾讯云
  3. UWP应用解除网络限制
  4. 如何导出带有dn值的栅格影像(方便arcgis处理)
  5. 计算机mod函数,MOD函数的公式语法及使用方法实例
  6. Email应用,SMTP协议,POP协议
  7. js 数组Array的常用方法 es3 es5 es6
  8. feign.RetryableException: xxx executing POST
  9. html网页头部图片,网页头图设计技巧
  10. android 常见面试题以及答案