将 netCDF 文件显示到 Google 地图

Posted

技术标签:

【中文标题】将 netCDF 文件显示到 Google 地图【英文标题】:Display netCDF files to Google Maps 【发布时间】:2012-05-22 03:24:07 【问题描述】:

我有一些气象数据导出为netCDF 格式,我想在谷歌地图中显示它们。

我试用了Panoply软件,主要是按照http://marinedataliteracy.org/ops/pano_gridsvecs.htm这些说明,成功将数据导出到.kml文件中。

kml 文件在 Google 地球中显示正常,但在 Google 地图中加载时没有显示任何内容。

加载 kml 的 javascript 代码肯定是正确的,因为其他类型的 kml 显示正确。以防万一,这是代码:

var kmzLayer = new google.maps.KmlLayer("LINK_TO_KML");
kmzLayer.setMap(map);

这里还有一个名为netcdf2gmaps 的项目http://code.google.com/p/netcdf2gmaps/,但它似乎已被废弃并且没有任何反馈。

那么有没有办法将 netCDF 数据显示到谷歌地图?

【问题讨论】:

【参考方案1】:

我不知道你是否解决了你的问题,但为了参考问题标题,我想添加更多信息。

Panoply(或 IDV)以当前显示和经度/纬度边界的简单 PNG 快照的方式导出到 KMZ(压缩 KML),如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
    <GroundOverlay>
        <name>Maximum_temperature_Maximum_unwe in GEFS_Global_1p0deg_Ensemble_deri</name>
        <Icon>
            <href>Maximum_temperature_Maximum_unwe in GEFS_Global_1p0deg_Ensemble_deri.png</href>
        </Icon>
        <LatLonBox>
            <west>-29.1622</west>
            <north>55.0</north>
            <east>49.1622</east>
            <south>25.0</south>
        </LatLonBox>
    </GroundOverlay>
</kml>

这似乎是 Google 地球界面的唯一方式 - 位图图像。令人遗憾的是,Google 地球并非专为可视化或数值模型数据而设计,因为它无法代表各种其他功能。

如果在 Google 地球/地图中叠加位图是一项任务,那么您已经注意到,只需双击生成的 KMZ 文件即可:

或者对于谷歌地图,上传文件并将路径粘贴到谷歌地图搜索栏中:

【讨论】:

不,我还没有找到解决方案。另外我的问题是谷歌地图上没有显示 KMZ 文件。它只显示一个带有文件名的信息窗口,但根本不显示覆盖图像。我的 KML 文件与您的结构相同。 上传 KMZ 文件并在 Google 地图中粘贴路径不适合您吗?我不确定,但 AFAIK 这适用于除本地文件(带有“file://”前缀)以外的所有类型或 URL 是的,它适用于我上传到我的在线服务器(不是本地)的任何其他类型的 KMZ,但如果它有图像,则不会显示。

以上是关于将 netCDF 文件显示到 Google 地图的主要内容,如果未能解决你的问题,请参考以下文章

使用 r 包在地图上绘制 netcdf 变量轮廓的简单方法

如何将 GeoDataFrame 存储到 NetCDF 文件

如何隐藏或显示 Google 地图图层?

将 Google 地图添加到 Drupal 中的联系信息页面

将 Google 地图居中到当前用户位置

如何在 Android 中使用 Google 地图按类别隐藏/显示标记组?