我正在使用我们网络上的MrSid文件作为地图来源为OpenLayers设置一个新环境。我有一个希望在OpenLayers中使用的MrSID格式的天线。我找不到关于如何设置地图图层以使用MrSID文件的示例。基本上我正在尝试做这样的事情:
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.Source({file: 'http://server01/aerial.sid'})
}),
vectorLayer
],
renderer: 'canvas',
target: 'map',
view: new ol.View2D({
center: [0, 0],
zoom: 1
})
});
但它不起作用。任何帮助,将不胜感激。先谢谢你。
更新 从我一直在等待答案的研究中,这是我到目前为止所发现的:OpenLayers不支持MrSID。必须在MrSID文件和OpenLayers之间使用应用程序服务器(如mapserver)。如果这是真的,这是否会极大地影响从mapserver加载数据的性能,而不是直接从OpenLayers转到MrSID?
答案 0 :(得分:0)
OpenLayers不支持MrSID,因为它是二进制格式,也不支持SHAPE文件,因为它也是二进制文件。在javascript中处理二进制格式时会出现许多问题,我确信如果你在mapServer中执行它并以更“标准”的方式请求服务器,它将不会更快。处理KML和WKT简化文本格式比二进制格式更客户端。