博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于ArcGIS动态图层空间内栅格数据,JS前端显示颜色不正确的解决方案
阅读量:4977 次
发布时间:2019-06-12

本文共 992 字,大约阅读时间需要 3 分钟。

ArcGIS的动态空间,可承载Table,Shp,Raster等数据。

 

我们的需求是,每天客户有新的卫星数据,但是不同类型,有多波段Landsat卫星数据,有Modis数据等。不定期更新到共享文件夹,BS程序要能读取并显示。

首先想到的MapService的动态图层空间功能。但遇到的问题是,动态空间的栅格数据无法正确的设置拉伸参数。

官方文档描述的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"
}
} }]

 

 

 

 

转载于:https://www.cnblogs.com/wigis/p/11065631.html

你可能感兴趣的文章
友情链接
查看>>
laravel入门-CSRF解决
查看>>
数据库 chapter 17 数据仓库与联机分析处理技术
查看>>
Hdu4547CD操作离线lca
查看>>
jquery的基本事件大全
查看>>
git打tag
查看>>
Docker容器中安装vim
查看>>
前言:学习自动化之前需要知道的
查看>>
HTML5 - Canvas动画样例(谷歌弹跳球)
查看>>
Spring注解注入
查看>>
hdu 1045 Fire Net dfs深搜或者二分匹配
查看>>
sqlserver 时间转换
查看>>
多态、接口
查看>>
浅拷贝 深拷贝
查看>>
Linux系统部署samba服务记录
查看>>
bzoj 1068: [SCOI2007]压缩
查看>>
python检查是否是闰年
查看>>
15、vue项目封装axios并访问接口
查看>>
TopCoder SRM 570 题解
查看>>
oracle数据库中的异常处理
查看>>