[数据处理] FVCOM结果在Google Earth中的可视化

[复制链接]

这次我尝试把一个FVCOM淹水模型的结果显示在Google Earth中,效果不错,作为第一篇推文的内容,与大家分享与讨论。

先上最终的效果图吧:

2288f1abf31d18a1e9ec28827eae74f2.jpeg

上图为最终KMZ文件在GE(Google Earth)中的截图,图中颜色代表在飓风来临时被淹没的区域,算例中假设海平面上升一定高度(0-6 feet),不同海面抬升值的淹没区域用不同颜色表示。

为完成上图,我们首先要对FVCOM输出结果进行处理,即找出被淹没的区域。算例应该打开WET/DRY进行编译和运行。首先,在结果nc文件中,我们可以通过水深h变量来判断某一三角形是否为陆地。然后,通过wet_cells来判断在某一时刻,某一三角形是否被水淹没。当一个三角形同时满足这两个条件,我们就认为这个三角形是被海水淹没的陆地区域,它将被填色画在GE中。

接下来,我们把找出的被淹没的陆地三角形画在GE中,即编写KML文件。KML文件使用的语言是Keyhole

www.52ocean.cn)。通常,有两种方法可以实现上图的效果。

第一种是Overlay,即事先使用其他画图软件将填色图画好,然后通过给定位置信息把图片平铺(Overlay)在地球上。画图时,应将坐标轴、刻度、标题等信息删去不画,并把背景色设置为透明。上图中的legend是通过这种方法实现的。具体代码如下:

dac79442afe5a5086412031f3398e172.png

第二种方法是PlaceMark。上图中的淹没区域就是这种方法实现的。这种方法类似于MATLAB中的patch,使用三角形顶点坐标,直接在GE中对相应三角形填色。以下是编辑一个三角形的示例:

4b4ad7eb4469ff67fd65cdb4c83171dc.png

编辑内容依次包括名称,颜色,属性和位置等。

最后,KML文件做好后,我们可以通过zip压缩和更改后缀名,将文件转成KMZ文件,这样可以将文件大大缩小。以上图文件为例,KML为13.7MB,而KMZ文件只有675KB。同时,KMZ还可以将Overlay中相关的外部文件(比如上图中的legend)一起打包进来。

& f: T$ c3 W# k) f" G9 d4 D
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
宿命轮回
活跃在3 天前
快速回复 返回顶部 返回列表