NAD83到WGS84使用Map Server

时间:2011-09-06 01:29:01

标签: google-maps mapserver coordinate-transformation wgs84

我正在为谷歌地图添加WAC叠加层。

地图图块以NAD83(lcc)投影,google地图为WGS84(mercator)。

WAC磁贴被分解为各个区域,如http://map.aeroplanner.com/mapping/chart/smartchart.cfm所示,因此有相当多的磁贴。也就是说,我目前在定位一块瓷砖时遇到了问题。

世界文件似乎已正确形成,因为ArcGIS使用关联的世界文件正确显示切片。

当使用LCC投影并设置其瓦片预期填充的纬度/经度时,构成WAC扇区的南北瓷砖相互正确对齐。

http://img716.imageshack.us/img716/1742/waclcc.jpg - 在此图片中,您可以看到CF16 A& B和CF17 A& B.投影看起来工作正常,但位置错误。必须指定绝对lat / long,因为它们不会导致MapServer抛出定位错误。

这是地图文件中产生上述输出的一段:

LAYER         TYPE RASTER         姓名“16_40_NORTH”         GROUP“wac”         数据“/ opt / fgs / www / htdocs / WAC / CF-16 WAC 40 North.tif”

    #projection of this layer
    PROJECTION
            "proj=lcc"
            "lat_2=49"
            "lat_1=44.5"
            "lat_0=40"
            "lon_0=-125"
            "x_0=0"
            "y_0=0"
            "ellps=GRS80"
            "datum=NAD83"
            "units=m"
            "no_defs"
    END

    OFFSITE 0 0 0
END


LAYER
    TYPE RASTER
    NAME "16_40_SOUTH"
    GROUP "wac"
    DATA "/opt/fgs/www/htdocs/WAC/CF-16 WAC 40 South.tif"

    #projection of this layer
    PROJECTION
            "proj=lcc"
            "lat_2=49"
            "lat_1=44.5"
            "lat_0=40"
            "lon_0=-125"
            "x_0=0"
            "y_0=0"
            "ellps=GRS80"
            "datum=NAD83"
            "units=m"
            "no_defs"
    END

    OFFSITE 0 0 0
END

其他类型的定位(例如UTM)提供不正确的投影(因为线条不是水平的)并且同样位置不正确。

为什么MapServer定位如此错误,尽管给定绝对值,ArcGIS使用world文件显示切片没有任何问题?

MapServer的版本是否有可能出错,或者它更可能是我们的mapfile?

1 个答案:

答案 0 :(得分:0)

我们在一个月前重新审视了这个问题,同时解决了一个完全不同的问题。

我们发现我们的旧版JavaScript(使用Google Maps API)未正确计算边界框。我们认为这很好,因为它已经生产了几年没有问题。

我研究了替代映射API,包括leaflet.js,并从头开始创建了一个示例解决方案。我们对内部JavaScript功能进行了一些调整,并且能够正确地映射项目。

就个人而言,我发现Leaflet.js和OSM在尝试解决谷歌地图问题时非常宝贵。