栅格数据集的坐标文件
图像以栅格数据形式存储,在栅格数据中图像的每个像元都具有一个行号和列号。地理数据库中的要素类、shapefile 和 coverage 等矢量数据以真实世界坐标进行存储。要用此矢量数据显示图像,需要建立一个图像到坐标的变换以将图像坐标转换为真实世界坐标。此变换信息通常用图像进行存储。
一般情况下,ERDAS IMAGINE、BSQ、BIL、BIP、GeoTIFF 和格网等图像格式将地理配准信息存储在图像文件的文件头中。但是,一些图像格式(包括上面列出的格式)将此信息存储在单独的 ASCII 坐标文件中。地理配准信息的存储位置通常取决于用于生成文件的软件的功能或用户偏好。可使用任何编辑器创建坐标文件,也可使用导出栅格坐标文件工具为栅格数据集导出坐标文件。
坐标文件命名约定
对随附于图像文件的坐标文件识别过程非常容易:坐标文件的名称一般与图像名称相同,并会在最后添加字母 w。例如,图像文件 mytown.tif 的坐标文件为 mytown.tifw,redlands.jpg 的坐标文件将为 redlands.jpgw。但有时,命名约定可能与此不符,而是会使用图像文件后缀中的第一个字符和第三个字符,最后再添加字母 w 作为坐标文件的后缀。因此,对于 mytown.tif,坐标文件将为 mytown.tfw;对于 redlands.jpg,坐标文件将为 redlands.jgw。
对于没有扩展名或扩展名短于三个字符的图像,将在文件名末尾添加字母 w,而不做其他任何更改。因此,图像文件 terrain 的坐标文件将为 terrainw,而图像文件 floorpln.rs 的坐标文件将为 floorpln.rsw。
栅格数据文件 |
坐标文件 |
---|---|
image.tif |
image.tfw 或 image.tifw |
image.bil |
image.blw 或 image.bilw |
image.jpg |
image.jgw 或 image.jpgw |
image.raster |
image.rasterw |
image.bt |
image.btw |
从 ArcGIS 9.2 SP2 起,如果不能以坐标文件形式表示变换,“更新地理配准”会将变换写入 .aux.xml 文件,并将近似仿射变换写入文本文件或扩展名末尾为 x 的坐标文件。例如,含有此类近似仿射变换的 TIFF 图像的扩展名为 .tfwx。请切记,该变换不是准确变换;它只是近似变换。
但存在一种特殊情况:该文本文件中包含一个准确的仿射变换。如果对已经包含地图坐标的栅格数据集使用“更新地理配准”,准确变换将被写入扩展名为 x 的文本文件。例如,如果对包含地图坐标的 TIFF 文件执行地理配准,则“更新地理配准”命令将创建包含准确仿射变换的 .tfwx 文件。
如果 ArcGIS 9.1 和第三方软件需要此文本文件,则可将其用作坐标文件。要使用此文本文件,请删除坐标文件扩展名中的 x。由于此文本文件不是 ArcGIS 9.2 栅格数据集的一部分,因此在 ArcGIS 可以读取 .aux.xml 文件的版本(ArcGIS 9.2 和更高版本)中不应将其用作坐标文件。
如何访问地理配准信息
每次显示图像时都要访问图像到坐标的变换,例如,在进行平移或缩放时。该变换通过以下源信息(按优先级顺序列出)进行计算:
- 头文件(如果图像类型支持)
- 坐标文件(如果在“选项”对话框中选中了“使用坐标文件定义栅格坐标”复选框,则将先使用此文件。)
- 图像的行/列信息(恒等变换)
坐标文件内容
坐标文件的内容如下所示:
20.17541308822119 0.00000000000000 0.00000000000000 -20.17541308822119 424178.11472601280548 4313415.90726399607956
如果存在此文件,ArcView 将执行图像到坐标的变换。图像到坐标的变换是使用六个参数的仿射变换,变换形式如下
x1 = Ax + By + C y1 = Dx + Ey + F
其中,
x1 = 计算所得的地图上的像素的 x 坐标
y1 = 计算所得的地图上的像素的 y 坐标
x = 图像中某个像素的列号
y = 图像中某个像素的行号
A = x 比例因子;像素的 x 方向尺寸,采用地图单位
B、D = 旋转项
C、F = 平移项;左上角像素的中心点的 x,y 地图坐标
E = y 比例因子的负值;像素的 y 方向尺寸,采用地图单位
y 比例因子 (E) 为负值,因为图像的原点与地理坐标系的原点不同。图像的原点位于左上角,而地图坐标系的原点位于左下角。图像中的行值从原点开始向下逐渐增大,而地图中的 y 坐标值从原点开始向上逐渐增大。
变换参数按如下顺序存储在坐标文件中:
20.17541308822119 - A 0.00000000000000 - D 0.00000000000000 - B -20.17541308822119 - E 424178.11472601280548 - C 4313415.90726399607956 - F
各个系数可按下述方式进行定义
A = mx · cos t
B = my · (k · cos t - sin t)
D = mx · sin t
E = -1 · my · (k · sin t + cos t)
C = x 方向的平移量
F = y 方向的平移量
其中,
mx = x 方向的比例变化
my = y 方向的比例变化
k = 沿 x 轴的剪切因子 = tan(倾斜角度)(倾斜角度相对于 y 轴测得)
t = 旋转角度,以 x 轴为起点逆时针旋转所测的值
将 ArcGIS 设置为先读取坐标文件
ArcGIS 将自动读取一些文件格式(例如,GeoTIFF)的文件头信息中的地理配准信息,这将覆盖存储在坐标文件中的所有地理配准信息。可通过选中“选项”对话框中的“使用坐标文件定义栅格坐标”复选框来更改此设置。
- 单击主 菜单上的自定义,然后单击 ArcMap 选项(或“ArcCatalog 选项”,具体取决于所使用的应用程序)。
- 单击选项 窗口中的栅格选项卡。
- 在栅格选项卡中,单击栅格数据集并选中使用坐标文件定义栅格坐标复选框。
- 单击确定。