Google maps 使用地图服务器将NAD83连接到WGS84

Google maps 使用地图服务器将NAD83连接到WGS84,google-maps,mapserver,coordinate-transformation,wgs84,Google Maps,Mapserver,Coordinate Transformation,Wgs84,我正在为谷歌地图添加WAC覆盖 地图分幅投影在NAD83(lcc)中,谷歌地图投影在WGS84(墨卡托)中 WAC瓷砖被分解成单独的区域,如图所示:因此有相当多的瓷砖。也就是说,我目前在定位一块瓷砖时遇到了问题 当ArcGIS使用关联的世界文件正确显示分幅时,世界文件的格式似乎正确 当使用LCC投影并设置瓷砖预计填充的lat/long时,组成WAC扇区的南北瓷砖相互正确对齐 -在此图像中,您可以看到CF16 A&B和CF17 A&B。投影看起来工作正常,但位置错误。必须指定绝对lat/long,

我正在为谷歌地图添加WAC覆盖

地图分幅投影在NAD83(lcc)中,谷歌地图投影在WGS84(墨卡托)中

WAC瓷砖被分解成单独的区域,如图所示:因此有相当多的瓷砖。也就是说,我目前在定位一块瓷砖时遇到了问题

当ArcGIS使用关联的世界文件正确显示分幅时,世界文件的格式似乎正确

当使用LCC投影并设置瓷砖预计填充的lat/long时,组成WAC扇区的南北瓷砖相互正确对齐

-在此图像中,您可以看到CF16 A&B和CF17 A&B。投影看起来工作正常,但位置错误。必须指定绝对lat/long,因为忽略它们会导致MapServer抛出定位错误

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

层 类型光栅 名称“北纬16度40度” “wac”组 数据“/opt/fgs/www/htdocs/WAC/CF-16 WAC 40 North.tif”

其他类型的定位(如UTM)提供了不正确的投影(因为线不是水平的),并且同样定位错误

为什么MapServer在给定绝对值的情况下仍然定位不正确,ArcGIS使用world文件显示分幅时没有任何问题


是否可能是MapServer的版本有故障,或者更可能是我们的mapfile?

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

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

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

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

    #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