【问题标题】:Is there a way to extract geographical tags from a tiff image using javascript?有没有办法使用 javascript 从 tiff 图像中提取地理标签?
【发布时间】:2017-12-23 09:58:58
【问题描述】:

我正在做一个需要我使用正射镶嵌图的项目。此地图为 .tiff 格式。 我想从该地图中提取地理信息,以便可以将其正确覆盖在谷歌地图上。 我正在为这个项目使用平均堆栈。

所以我的最后一个问题是: 有没有办法使用 javascript 从 tiff 图像中提取地理标签?

编辑: 当我使用 Maptiler(https://www.maptiler.com/) 时,它会自动将 .tif 文件正确放置在谷歌地图上。 我想知道它是如何提取信息并将其放在地图上以便我自己完成的。

【问题讨论】:

  • 你能提供你的“tiff”例子吗?

标签: javascript angular google-maps-api-3 tiff maptiler


【解决方案1】:

tiff - 是一种光栅图像格式。因此,要从中获取信息(纯图形除外),例如无法截取谷歌地图的屏幕截图,可能需要使用一些复杂的库,如 OpenCV

但我想你是想获得EXIF 信息,这些信息可以出现在照片中。 为此,您可以使用exif npm library

var ExifImage = require('exif').ExifImage;

try {
    new ExifImage({ image : 'your.tiff' }, function (error, exifData) {
        if (error)
            console.log('Error: '+error.message);
        else {
            let location = exifData.gps || 'who knows, maybe somwhere else :(';
            console.log(location); // pass location to google maps after some transforming 
        } 
    });
} catch (error) {
    console.log('Error: ' + error.message);
}

【讨论】:

  • 我使用了这个库,它显示图像中没有 exif 数据。但是当我使用 Maptiler(maptiler.com) 时,它会自动将 .tif 文件正确放置在谷歌地图上。我想知道它是如何提取信息并将其放置在地图上以便我自己完成的。
  • @mistletoe,请提供您的示例图像和您如何使用 lib 的代码示例,maptiler 似乎是其他类型的应用程序,不确定它实际上在做什么,似乎只是在图块上破坏图像或搜索平铺在更大的图像上...
【解决方案2】:

有一个名为 open layers https://openlayers.org/ 的开源库。这是覆盖 tiff 图像的最佳方式,一旦在此图层上包含 tiff 图像,您就可以提取所需的任何信息。

您可以将 Angular 与 typescript 或 java script 一起使用,这是更可取的。基本上,您可以使用此库以坐标方式从您的 tiff 图像中获取每个细节。

设置这个库是一个复杂的项目,我只是给了你一个想法,你可以如何完成。我想在这件事上帮助你。我知道这不是我解释的太多,我不能给你太多细节,因为我不知道这个问题的细节。如果您需要任何帮助,请联系我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    相关资源
    最近更新 更多