使用MrSID文件作为OpenLayers的地图层

时间:2014-03-17 13:21:26

标签: openlayers

我正在使用我们网络上的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?

1 个答案:

答案 0 :(得分:0)

OpenLayers不支持MrSID,因为它是二进制格式,也不支持SHAPE文件,因为它也是二进制文件。在javascript中处理二进制格式时会出现许多问题,我确信如果你在mapServer中执行它并以更“标准”的方式请求服务器,它将不会更快。处理KML和WKT简化文本格式比二进制格式更客户端。