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"
}
} }]

最新文章

  1. d3 scale 学习笔记
  2. PHP用mb_string函数库处理与windows相关中文字符
  3. 2016HUAS暑假集训题1 H - N皇后问题
  4. ODOO从哪里开始??OpenERP的第一根线头儿
  5. android 学习资料
  6. PHP 查询时区与设置时区
  7. iOS开发——根据Url 获取图片尺寸
  8. centos nginx
  9. 【转】android官方侧滑菜单DrawerLayout详解
  10. 《JavaScript设计模式与开发实践》读书笔记之单例模式
  11. 流水线技术原理和Verilog HDL实现(转)
  12. 为什么说android UI操作不是线程安全的
  13. mysql 字符集更改与导入数据
  14. 【Spring源码解读】bean标签中的属性(一)你可能还不够了解的 scope 属性
  15. [jzoj]5257.小X的佛光
  16. 谷歌机翻英文字幕输出(Subtitle Edit)
  17. 最接近的三数之和(java实现)
  18. python常见错误
  19. 自定义指令(v-check、v-focus)的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?
  20. hdu 4964 恶心模拟

热门文章

  1. Java 8 Streams的简单使用方法
  2. Ext 上传文件
  3. Spring MVC中@RequestParam/@RequestBody/@RequestHeader的用法收集(转)
  4. indy9在程序关闭时出现terminate thread timeout的BUG解决办法
  5. 给button添加长按手势并侦测到此button
  6. Git学习0基础篇(下)
  7. git 怎样删除远程仓库的最近一次错误提交?
  8. windows pipe
  9. mysql freeing items 状态
  10. SDUT 1068-Number Steps(数学:直线)