c - 将纬度和经度值分配给像素

标签 c geocoding latitude-longitude

这是我一段时间以来一直试图解决的问题。我有一个二进制文件,经过处理后,我得到一个二进制 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.5552641320.529 是 UTM 中的东向和北向坐标。 (印度钢铁城附近?)

不过,您需要再次转换才能获得纬度/经度。

关于c - 将纬度和经度值分配给像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15888230/

相关文章:

java - 致命异常 : Async Task #1 with geocoder

geocoding - 使用 google geocoding api jquery 从经度和纬度获取城市名称

C/Java - 读取 2 个文件写入一个文件

c - 遍历字符数组以查找字母表中每个字母的出现

javascript - 尝试使用 google api v3 从地址获取位置

google-maps-api-3 - 谷歌地图 api 给出的纬度/经度单位

Mysql 5.7 st_distance_sphere 每次返回null

将 uint8_t* 转换为 uint64_t

c - 为什么用 C 中的 && 对值和条件进行位移后表达式为真

android获取当前位置名称