0

我对如何将世界文件转换为左上角和右下角坐标以在 MapKit 中使用有点困惑。我正在尝试将 NOAA 雷达图像放在地图上。

这是一个世界文件的例子:

0.0147268399325284
0.000000
0.000000
-0.0147268399325284
-166.284681479714
64.8355168290572

这是所有世界文件的关键:

Line 1: x-dimension of a pixel in map units
Line 2: rotation parameter
Line 3: rotation parameter
Line 4: NEGATIVE of y-dimension of a pixel in map units
Line 5: x-coordinate of center of upper left pixel
Line 6: y-coordinate of center of upper left pixel

我知道如果我有图片的左上角和右下角(反之亦然)坐标,我将能够在 MKMapView 上显示它。但我不确定如何在 MKMapView 上执行世界文件,或者如何转换它。任何帮助将不胜感激!

4

2 回答 2

3

第 5 行和第 6 行提供的 (x,y) 坐标不是图像左上边界的坐标。这是图像最左上角像素中心的坐标。所以给定第 1 到 6 行的值:

Line 1: x-dimension of a pixel in map units                      = dx
Line 2: rotation parameter                                       
Line 3: rotation parameter
Line 4: NEGATIVE of y-dimension of a pixel in map units          = dy
Line 5: x-coordinate of center of upper left pixel               = centerOfULX
Line 6: y-coordinate of center of upper left pixel               = centerOfULY

您可以按如下方式计算左上角和右下角坐标:

upperLeftX = centerOfULX - dx/2
upperLeftY = centerOfULY + (-dy/2)

lowerRightX = (centerOfULX - dx/2) + imageWidth * dx
lowerRightY = (centerOfUL + (-dy/2)) - imageHeight * (-dy)
于 2013-01-16T06:09:36.337 回答
0

我能够找到等式,使其成为左上角(NW)和右下角(SW)的纬度和经度。这是方程式。

0.017971305190311 A
0.000000000000000 B
0.000000000000000 C
-0.017971305190311 D
-127.620375523875420 E
50.406626367301044 F

RESOLUTION OF PICTURE 3400 G x 1600 H pixels

CALCULATION:
E + (G*A) = EASTERN POINT
F + (H*D) = SOUTHERN POINT

RESULTS:
Lower left coordinate: 21.652538062803, -127.620375523875420
Upper right coordinate: 50.406626367301044, -66.517937876818
于 2012-12-23T21:55:20.120 回答