如何计算openlayers中图像叠加的正确分辨率

时间:2013-09-30 15:17:17

标签: image openlayers resolution

我在openlayer Web应用程序的矢量图层中使用了一个图像作为叠加层。这个想法与此example

中显示的相同

我不明白的是如何为我的图像设置有效分辨率,以便每次用户更改地图的缩放时,图像宽度和高度都会调整到覆盖其真实地理区域。

在上面的示例中,使用了一些图像并使用特定的硬编码分辨率因子放置在某些特定位置。

假设我有400x400像素的图像,表示400x400公里的区域,每次缩放系数使用如下公式更改时,我需要重新计算图像的宽度和高度:

imageWidth = imageWidthInPixel * theResolution / map.getResolution(); 
imageHeight = imageHeightInPixel * theResolution / map.getResolution();

其中'theResolution'是我需要以某种方式计算我不知道的值。我想这是一个取决于图像覆盖的公里或米表示的区域的值,但我无法找到有意义的关系。如上所述,在我报告的示例中,这些值是硬编码的,取决于图像,但无法理解如何计算这些值。

请帮助我理解这一点。

1 个答案:

答案 0 :(得分:0)

如果您知道图像的投影,最简单的方法是将图像定义为OpenLayers中使用适当投影定义的图层。此时,OpenLayers将为您处理缩放和平移。