我正在做一个需要我使用正射镶嵌图的项目。此地图为 .tiff 格式。我想从该地图中提取地理信息,以便可以将其正确覆盖在谷歌地图上。我正在为这个项目使用平均堆栈。
所以我的最后一个问题是:有没有办法使用 javascript 从 tiff 图像中提取地理标签?
编辑:当我使用 Maptiler(https://www.maptiler.com/)时,它会自动将 .tif 文件正确放置在谷歌地图上。我想知道它如何提取信息并将其放置在地图上,以便我自己做。
我正在做一个需要我使用正射镶嵌图的项目。此地图为 .tiff 格式。我想从该地图中提取地理信息,以便可以将其正确覆盖在谷歌地图上。我正在为这个项目使用平均堆栈。
所以我的最后一个问题是:有没有办法使用 javascript 从 tiff 图像中提取地理标签?
编辑:当我使用 Maptiler(https://www.maptiler.com/)时,它会自动将 .tif 文件正确放置在谷歌地图上。我想知道它如何提取信息并将其放置在地图上,以便我自己做。
有一个名为 open layers https://openlayers.org/的开源库。这是覆盖 tiff 图像的最佳方式,一旦在此图层上包含 tiff 图像,您就可以提取所需的任何信息。
您可以将 Angular 与 typescript 或 java script 一起使用,这是更可取的。基本上,您可以使用此库以坐标方式从 tiff 图像中获取每个细节。
设置这个库是一个复杂的项目,我只是给你一个想法,你可以如何完成。我想在这件事上帮助你。我知道这不是我解释的太多,我不能给你太多细节,因为我不知道这个问题的细节。如果您需要任何帮助,请与我联系。
tiff - 是一种光栅图像格式。因此,要从中获取信息(纯图形除外),例如,谷歌地图的屏幕截图是不可能的,也许可以使用一些复杂的库,如OpenCV。
但我想你是为了获得EXIF信息,这些信息可以出现在照片中。为此,您可以使用exif npm 库
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);
}