我正在为谷歌地图添加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?
答案 0 :(得分:0)
我们在一个月前重新审视了这个问题,同时解决了一个完全不同的问题。
我们发现我们的旧版JavaScript(使用Google Maps API)未正确计算边界框。我们认为这很好,因为它已经生产了几年没有问题。
我研究了替代映射API,包括leaflet.js,并从头开始创建了一个示例解决方案。我们对内部JavaScript功能进行了一些调整,并且能够正确地映射项目。
就个人而言,我发现Leaflet.js和OSM在尝试解决谷歌地图问题时非常宝贵。