WebGIS多维栅格时态动画——从数据到前端(1)

0
分享 2025-07-21

在开始之前

具备以下条件,才能完整实践这一工作流程。
具有GeoScene Pro 4.0及以上版本。
具有GeoScene Enterprise 4.0及以上版本并带有影像服务器许可。
具备GeoScene Maps SDK for JavaScript的开发经验。

从多维天气数据集中提取数据

在地理空间分析领域,尽管可以将单个变量或 2D数据打包到 shapefile 或 GeoTIFF 中,但更复杂的多维数据需要更复杂的数据结构。 天气数据集就是这种情况,它通常包含整个地理区域、多个变量以及多个时间点的数据。气象和气候学中最常见的数据结构为 GRIB、netCDF 和 HDF,GeoScene Pro 可在其格式化为世界气象组织 (WMO) 或气候与预报 (CF)标准时进行读取。
本文使用的 GRIB 文件来自高分辨率快速刷新(HRRR)数据集。 HRRR 由美国国家海洋和大气管理局 (NOAA) 提供,是一个每小时刷新一次的全美天气模型。 它包含许多变量,可提供有关温度、风速、降水以及其他气象数据的信息。 本文演示的子集包含整个阿拉斯加地区于 2019年 12 月 24 日 UTC 时间上午 6:00至晚上 8:00 之间每小时的数据。使用其他时间的数据亦可。(下载地址
数据下载网站示意
示例用的天气数据
由于 HRRR 数据包含如此多的信息,因此难以同时查看所有信息。当前,我们将聚焦于查看库克湾地区 2019 年 12 月 24 日的阵风数据变化。 阵风是指风速的突然增加。 高风速可能会损坏海上装置设施,因此需要对其进行监测。
接下来要做的事情是从 每小时一个GRIB 文件中提取阵风数据,并将其放入多维镶嵌数据集中以将其添加至您的地图。 镶嵌是一种将多维或数据(时间、空间、变量、波段等)组织到地理数据库的单一组成部分中的方法。
首先,您将创建一个空的镶嵌数据集以用作数据的容器。
1、在一个GeoScene Pro工程的新建空白地图中,在上方功能区,点击分析选项卡,在地理处理组中点击工具
打开工具
2、在随即显示的地理处理窗格中,搜索并选择创建镶嵌数据集
创建镶嵌数据集工具
3、在创建镶嵌数据集工具中,输入以下参数:
对于输出位置,单击浏览。 在随即显示的窗口中,单击数据库,选择 MyProject.gdb,然后单击确定。
对于镶嵌数据集名称,键入 WindGust。 对于坐标系,选择当前地图的坐标系。
创建镶嵌数据集
4、单机运行,接下来将阵风数据添加到此镶嵌容器中。在地理处理窗格中,单击后退箭头。搜索并选择添加栅格至镶嵌数据集
在添加栅格至镶嵌数据集工具中,选择以下参数: 对于镶嵌数据集,选择 WindGust
对于栅格类型,选择 GRIB
对于输入数据,在下拉列表中选择文件夹。 单击浏览并浏览至 HRRR 教程数据文件夹。 将其选中并单击确定。
随即将文件夹添加到数据框。 选择该文件夹后,可以指定要从多维 GRIB 数据集中获取的变量。
5、单击栅格类型旁边的属性按钮,将显示栅格类型属性窗口,其中包含有关文件夹中 GRIB 文件的信息。
添加栅格至镶嵌数据集
6、单击变量选项卡并选中代表风速的GUST@SFC复选框。单击确定。
栅格类型属性
栅格类型字段将更新为带有GUST@SFC变量的文件路径。
7、展开栅格处理并选中计算统计数据,详见步骤5的截图。然后点击运行。数据将添加到镶嵌数据集并在地图上绘制。
由于在第4步选择了整个 HRRR 文件夹(而非特定 GRIB 文件,类似于针对 Temperature 图层执行的操作),因此HRRR 文件夹中存在的所有 15 小时的数据已添加至镶嵌。接下来,将其可视化为随着时间推移的动画。
可视化阵风数据

以动画形式呈现并符号化多维阵风图层

WindGust 镶嵌图层包含阿拉斯加地区 2019 年 12 月 24 日 15 个小时的风速数据。 在本部分中,您将以此动画形式查看此数据,并选择适当的符号化。 首先,您将检查有关镶嵌内容的信息。
1、在内容窗格中,展开 HRRR 镶嵌图层并双击影像。如上面步骤7截图。
随机出现图层属性窗口。该窗口包含有关镶嵌影像的信息。
2、在图层属性窗口中,单击选项卡并展开多维信息。对于变量,展开gust@sfc (StdTime = 15) StdTime
图层属性:影像
将提供数据集的描述,包括测量单位(单位)、时间间隔(间隔)和时间范围(范围)。 计数为 15 表示镶嵌内存在 15 个数据图层(或剖切片),每小时一个。
关闭图层属性窗口。接下来,以时间动画的形式查看阵风数据。
3、由于地图中的某些数据可以随时间显示,因此时间滑块已添加到地图顶部。 在功能区上,还将显示时间选项卡。 设置时间滑块以随时间正确显示 WindGust 多维栅格。
在地图顶部,将鼠标悬停在时间滑块上以将其激活。
在时间滑块的左侧,单击禁用时间以将其更改为启用时间。
启用时间滑块
4、在时间选项卡,可以看到当前时间滑块自动从WindGust图层中读取了时间间隔和时间范围信息。
时间选项卡
5、在时间滑块上,单击播放。你将会看到地图动画,并且该动画会在数据覆盖的 15 个小时内变化。
当前的彩虹色带可能会产生误导,因此,可以选择连续的色带来更好地对阵风较强的区域进行符号化。
时间动画演示
6、在左侧的内容窗格中,根据需要展开 影像图层并右键单击它的色带。
色带设置
7、展开下拉列表,点击显示名称、显示全部,然后下拉找到并选择 紫蓝(连续)色带。
选择紫蓝(连续)色带
8、再次右键单击该色带,然后单击反向配色方案以深蓝色显示最强的阵风。注意需要再次点击界面空白处,该设置才能生效。
反向配色方案
地图随即更新,以深蓝色显示较高的阵风,而以浅紫色阴影显示较低的阵风。
紫蓝连续色带符号化
9、在时间滑块上,再次单击播放以查看经过最终符号化的动画。
阵风动画

准备用来发布影像服务的数据

现在我们已经在桌面端取得了非常良好的效果,为了把这个可视化效果搬到WebGIS浏览器端,还需要准备影像数据以发布服务。
镶嵌数据集是一个适用于桌面端管理多维影像的格式,它的操作非常简单,功能十分强大,前面的实践中已经深有体会。但在WebGIS场景下,基于文件型地理数据库(gdb)和企业级地理数据库(SDE)建立的镶嵌数据集通过HTTP协议在浏览器端读取和操作存在一定障碍。
GeoScene支持另一种用来存储多维影像数据的格式——云栅格格式 (Cloud Raster Format)。这种格式针对在分布式处理和存储环境中读写大文件进行了优化。 在 CRF 文件中,较大栅格将被分解为较小的切片包,允许多个进程同时写入单个栅格。其文件的结构及扩展名为:
目录 - 扩展名 *.crf
包文件 - 扩展名 *.bundle
云栅格格式 (Cloud Raster Format) 支持多波段 支持压缩 支持色彩映射表。支持各种影像的数据类型包括:8 位、16 位和 32 位无符号/有符号整数、32 位浮点型以及 64 位复数型。
接下来,把前一章节得到的镶嵌数据集转换为CRF。
1、从分析选项卡 -工具 调出 地理处理窗口,搜索复制栅格工具并打开。
查找复制栅格工具
2、在复制栅格工具的参数设置中,输入栅格选择前一章节使用的镶嵌数据集WindGust格式选择为云栅格格式输出栅格数据集命名为WindGust.crf。点击运行。结果自动添加到当前地图中。


复制栅格工具参数
3、CRF格式同样具有时间动画的功能。但是原来的镶嵌数据集设置的紫蓝连续色带的样式,没有保留到新的crf格式文件中。
可以选择重新配图,通过导出栅格函数,发服务时选择复用栅格函数。
crf格式具有相同功能
4、右键这个crf图层,点击符号系统,在符号系统中,依然采用紫蓝连续色带,另存为栅格函数模板。后续发布时使用。
导出配图的栅格函数模板
5、确保软件界面右上角为已登录了GeoScene Enterprise的状态。
登录状态
6、在右侧找到目录窗格,右键WindGust.crf,共享为web图层。注意不是在左侧的内容窗格
共享为Web图层


7、填写服务发布的基本信息,选择 复制所有数据
服务发布
8、将切片方案文件conf.xml从这个crf里复制出来,放在别的文件夹。
切片方案文件
9、回到第7步的界面,共享为web图层的窗口,配置影像图的属性
配置影像图的属性
10、在 影像服务属性 - 栅格函数 - 处理模板,配置刚才导出的栅格函数模板。并将默认模板由None设置为配置的栅格函数模板。
配置栅格函数模板
11、在 影像服务属性 - 图层绘制 选择 使用新缓存中的切片,切片方案文件选择第8步拷贝到另一个文件夹的conf.xml文件。
选择手动缓存。
选择切片方案
注意手动缓存
12、点击发布即可。发布完成后,在门户中查看这个影像服务。
在门户中查看
13、打开自带有时间条。可以直接播放,和桌面端效果一致。
网页播放

总结

实际操作中会发现,这时如果是5.0的GeoScene Enterprise,门户自动走的是ImageryLayer,带有动态渲染的自定义栅格函数。动态出图会较慢。如果手动操作走ImageryTileLayer,则无法带有预定义的紫蓝连续色带。
我们将在前段调用时尝试通过代码调用方式解决效率问题。
由于篇幅受限,之后在下一篇文章中再更新前端调用的内容。
未完待续......

文章来源:https://www.jianshu.com/p/90150923438c

0 个评论

要回复文章请先登录注册