这是我一段时间以来一直试图解决的问题。我有一个二进制文件,经过处理后,我得到一个二进制 bmp 文件,即像素只有两个值。现在,我有以下 HDR 文件:
ENVI
description = {
PolSARpro File Imported to ENVI}
samples = 2618
lines = 2757
bands = 1
header offset = 0
file type = ENVI Standard
data type = 4
interleave = bsq
byte order = 0
map info = {UTM, 1, 1, 399711.555, 2641320.529, 12.500, 12.500, 45, North, WGS-84}
wavelength units = meters
band names = {
SPF_L1.bin }
由 ENVI 和 PolSARPro 生成。我面临的问题是像 ENVI 这样的软件计算每个像素的纬度和经度值,而我无法找到任何方法在我的程序中复制相同的值(我使用 C,使用 PolSARPro 的源文件作为基础)。如果有人可以帮助我解释如何分配位置信息,我将不胜感激!
P.S:从我的角度来看, map 信息 - 按照投影名称(UTM)的顺序列出地理坐标信息,文件坐标中的引用像素x位置,像素y,x像素大小,y像素大小,投影区,北或南仅适用于 UTM。
最佳答案
看起来所有的信息都可以做你想做的事。
你有一个像素大小(我猜是米)和一个引用。获取特定像素的坐标涉及将引用坐标偏移适当的量(12.5 米乘以像素数)。看起来两个方向都是一样的。
399711.555
和 2641320.529
是 UTM 中的东向和北向坐标。 (印度钢铁城附近?)
不过,您需要再次转换才能获得纬度/经度。
关于c - 将纬度和经度值分配给像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15888230/