关于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 ...
随机推荐
- 深入理解Thread构造函数
上一篇快速认识线程 本文参考汪文君著:Java高并发编程详解. 1.线程的命名 在构造现成的时候可以为线程起一个名字.但是我们如果不给线程起名字,那线程会有一个怎样的命名呢? 这里我们看一下Threa ...
- Handler处理机制
handler缺点:如果要运送两种类型的数据(比如一个Bitmap,一个Object)就不能运送,但可以用Bunder来传输 * 使用handler的步骤: * 1.创建一个handl ...
- vbox在共享文件夹设置链接报错Protocol error问题
环境: 基于VBox 的 vagrant (centos版本)开发环境. 问题: Virtualbox 虚拟机(centOS)中,在进行go程序编译的时候,需要设置一个链接符,然后得到了如下的错误: ...
- iOS -- SpriteKit框架之SKPhysicsBody的移动和连接
SKPhysicsBody的受力移动 SKPhysicsBody对象不同于SKSpriteNode对象.SKSpriteNode对象可以通过添加动作来进行移动,SKPhysicsBody对象却没有 ...
- paramiko获取远程主机的环境变量
本文的情况,不同的linux系统版本,表现可能不同. 问题:默认情况下,paramiko在远程主机上执行命令的时候,命令的搜索路径为(/usr/local/bin:/bin:/usr/bin),这样我 ...
- 三维场景如何嵌入到PPT中展示?
今天要跟大家一起交流的大体内容如标题所示,日常生活中,ppt已经成为人们工作学习生活中不可或缺的工具之一,那么三维场景是如何在ppt中加载展示的呢?请大家慢慢往下看. 1.创建命令按钮和web bro ...
- mySql 主从复制linux配置
总结: 主库(192.168.1.251): /etc/my.cnf.d/server.cnf [mysqld] log-bin=mysql-bin server-id=1 从库(192.168.1. ...
- 微信小程序制作商 业务流程
- VueJS参数绑定:v-bind:href,v-on:event
参数绑定HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- windown vs2012 编译ffplay
自己写的播放器播放有些文件出现问题,但ffplay播放都很正常,为方便调试,将ffplay.c编译成可执行文件. 一. 环境搭建 环境搭建前面已经有文章介绍,没有特殊的地方,不再赘述. 二.修改con ...