FDO——世界文件

在处理栅格数据时,有时会碰到一些不具备地理位置信息的栅格文件,例如BMP格式的栅格数据,或者发现栅格文件中包含的地理位置不正确。此时,如果希望Raster ProviderGDAL Provider能够正确处理这些栅格数据,用户必须为这些这些栅格文件提供一个世界文件(World File)。

那么,什么是世界文件呢?世界文件是一个为栅格图像指定地理位置信息的文本文件,该文本文件共有6行,描述了栅格图像的比例尺、旋转信息和插入位置。但是,世界文件并没有指定地理位置所使用的坐标系。

世界文件的文件名有两种命名规范,这两种规范都是利用相关联的栅格文件进行命名。第一种规范是在栅格文件名称之后添加一个字母“w”,第二种规范使用栅格文件扩展名的最后一个字符替换扩展名中的第二个字母,将扩展名的第三个字母替换为“w”。给定一个栅格文件“filename.jpg”,与之相关联的世界文件可以命名为“filename.jpgw”或“filename.jgw”。通常,我们使用第二种命名规范,并且将世界文件和栅格文件放在同一个目录下。

下面,我们来看看世界文件中每一行的含义。

l 第一行A:在栅格图像所使用的坐标单位下,每个像素代表的X轴的单位长度

l 第二行D:栅格图像Y轴的旋转

l 第三行B:栅格图像X轴的旋转

l 第四行E:在栅格图像所使用的坐标单位下,每个像素代表的Y轴的单位长度

l 第五行C:栅格图像左上角像素中心点的X坐标值

l 第六行F:栅格图像左上角像素中心点的Y坐标值

从上往下数,给定栅格图像的第x行,从左往右数,给定栅格图像的第y列,该像素中心点的坐标值(x’, y’)可以使用如下的公式进行计算:

x’ = Ax + By + C

y’ = Dx + Ey + F

其中,E通常为一个负数值,因为栅格图像的行号是从上往下来计数的。

假设栅格文件“filename.jpg”是一个800´600的栅格文件,它所关联的世界文件“filename.jgw”内容如下:

32.0

0.0

0.0

-32.0

691200.0

4576000.0

那么,给定像素点x=171y=347,那么使用前面所提供的公式我们可以计算得到该像素点中心位置的坐标值为(6966724565024)。

你可能感兴趣的:(C++,c,F#,C#)