关于ArcGIS动态图层空间内栅格数据,JS前端显示颜色不正确的解决方案
ArcGIS的动态空间,可承载Table,Shp,Raster等数据。

我们的需求是,每天客户有新的卫星数据,但是不同类型,有多波段Landsat卫星数据,有Modis数据等。不定期更新到共享文件夹,BS程序要能读取并显示。
首先想到的MapService的动态图层空间功能。但遇到的问题是,动态空间的栅格数据无法正确的设置拉伸参数。https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html#DynamicDataLayer
官方文档描述的Renderer只针对,Shp,Table数据,对Raster的渲染无法进行,当然ImageService服务是可以的。但那个不符合我们需求。
最佳实践
经过多轮测试,发现动态空间文件夹的栅格数据,ArcGISServer仅仅做最基础的显示:对多波段数据,不拉伸,且只认为是RGB波段,相当于Stretch为None,如下图;另外,ArcGISServer对索引颜色的TIF可正确识别,比如南北极海冰数据。

这样,就要求我们把各种多波段,各种数据处理好(拉伸好)再转为RGB波段的TIF,放入动态图层的共享空间。

勾选Use Renderer和Force RGB,会使转出的TIF为RGB。
Compression Type,可选,无所谓。

然后,再对导出的图做下金字塔。 这样,放置在动态图层文件夹的数据,前端就能正确显示了。
注意,制作完金字塔后,会有ovr和aux.xml,2个文件。其中ovr为金字塔本身。aux.xml要注意,仅仅1K大小才正确。

因为若点击了Calculate Statistics统计数据功能,则aux.xml文件就会变大,因为此功能会写入一些数据在aux文件。
变大后的aux.xml文件,会影响ArcGISServer读取动态突出文件夹TIF时的行为,导致BS端显示出一些拉伸特性。

现在可以验证结果了:
在Export页面,Dynamic Layers:输入如下内容,即可看到动态图层空间的显示。注意Bonding Box。
[{
"id": 501,
"source":
{
"type": "dataLayer",
"dataSource": {
"dataSourceName": "m1.tif",
"workspaceId": "WS1",
"type": "raster"
}
} }]


关于ArcGIS动态图层空间内栅格数据,JS前端显示颜色不正确的解决方案的更多相关文章
- ArcGIS Server 动态图层发布调用图解
目录 1 前言 1.1 简介 1.2 适用场景 2 动态图层 2.1 共享地图服务 2.2 动态工作空间添加 2.2.1 企业级数据库 2.2.2 shapefile文件夹 2.2.3 栅格文件夹 2 ...
- ArcGIS JavaScript API动态图层
矢量动态图层 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Typ ...
- arcgis server 10.1 发布动态图层展示海量及频繁更新的数据步骤
Arcgis server 发布动态图层及调用动态图层 做这个动态图层功能的原由是 有一个30万的数据需要通过arcgis GP工具转成shp然后渲染加载进地图,原来的做法是遍历生成shp面要素,读 ...
- ArcGIS api for javascript——合并切片和动态图层
描述 这个示例加入一个通过ArcGISTiledMapServiceLayer表示的cachedArcGIS Server地图服务,和一个通过ArcGISDynamicMapServiceLayer表 ...
- ArcGIS Server10.1 动态图层服务
动态图层的应用场景: 1 改变现有图层:符号,渲染方式和版本,这些都可以通过客户端请求的时候给定相应的参数来进行设置,从而来达到轻易改变地图的效果. 2 添加地图服务中没有的图层 添加的数据可以是矢量 ...
- ArcGIS Server 10.1新特性系列---动态图层
ArcGIS Server 10.1新特性里面有几个新功能是非常棒的,其中有一个就是动态图层.动态图层不是一种新发明的图层,而是说在arcgis server的web应用中可以动态的配置其渲染和内容功 ...
- arcgis api for silverlight开发系列之二:缓存图层与动态图层及图层总结 .
本文摘自:http://blog.csdn.net/leesmn/article/details/6916458(很优秀的博客) 作为ESRI的平台的一份子arcgis api for silve ...
- Arcgis javascript api 动态图层自图层可见性设置
Arcgis javascript api 动态图层自图层可见性设置 子图层管理 rest服务 sublayers sublayer ArcGISDynamicMapServiceLayer 本文主要 ...
- 【转】ArcGIS Server 10.1 动态图层—添加栅格
本文将介绍如何通过arcgisserver10.1动态图层添加栅格影像.与添加矢量数据不同的是,天际栅格用到了RasterDataSource接口,如下所示 <esri:DynamicLayer ...
随机推荐
- Linux下Shell的快捷键(转)
下述所有命令在Linux/Unix的shell下有效,这里以bash为主.如有出入,以你自己的服务器为准.本文所指的Linux主要指RHEL/CentOS,Unix指的是FreeBSD,这也是Unix ...
- 常见编码bug
1.result.replace("abc","bcd");错误 改成result= result.relace("abc","b ...
- 谈Objective-C block的实现(转)
前言 这里有关于block的5道测试题,建议你阅读本文之前先做一下测试. 先介绍一下什么是闭包.在wikipedia上,闭包的定义)是: In programming languages, a clo ...
- 阿里云云服务器ubuntu配置nginx+uwsgi+django记录文档
1 安装ssh 1 sudo apt-get update 2 sudo apt-get install openssh-server 3 sudo ps -e |grep ssh 有sshd ...
- POJ 1017 Packets(积累)
[题意简述]:这个是别人的博客,有清晰的题意描写叙述.和解题思路,借助他的想法,能够非常好的解决问题! [分析]:贪心?模拟?见代码 //216K 16Ms #include<iostream& ...
- iOS 推送 获取手机设备的 deviceToken
第一步:申请证书: 第二步:申请app ids,应用名字必须一致.然后再进入进行编辑.使其enable,绿灯. 第三步:申请provisioning profile,生成.mobileprovisio ...
- sql的一些知识_高级
1.视图 http://www.cnblogs.com/wang666/p/7885934.html 2.存储过程 http://www.cnblogs.com/wang666/p/7920748.h ...
- 百科知识 华为手机P7如何更换电池
参考下面 教程 https://item.jd.com/3265516.html
- Python遍历列表
#循环遍历列表 nums = [ss,gg,e,fff,bb] #while循环遍历,但是不推荐使用,因为还要把列表的元素数出来 i = 0 while i<5: print(nums[i]) ...
- Python中cv2库和matplotlib库色彩空间排布不一致
今天在python中读如图片时发现以下问题: 1.在from matplotlib import pyplot as plt之后,再import cv2 cv2.imshow()不能正常使用,还不知道 ...