【问题标题】:OpenLayers LonLat transformations are not within correct projection boundsOpenLayers LonLat 变换不在正确的投影范围内
【发布时间】:2014-05-14 10:26:01
【问题描述】:

我的地图使用 EPSG:900013 投影。结果,在获取鼠标位置时,我得到了 -20037508.342789244 到 20037508.342789244 范围内的米值。

我使用了 LonLat 类的 .transform() 方法,使用 EPSG:900913 作为源投影,并且(不假思索地)使用 EPSG:4329 作为目标投影。

我的问题是,为什么 EPSG:4329 给我的范围是 -180、180、-80.05、85.05(我想要)而不是 -180、180、-90、90(它应该给我,因为这些是正确的界限http://spatialreference.org/ref/epsg/wgs-84/)?

【问题讨论】:

    标签: javascript google-maps openlayers gis


    【解决方案1】:

    我相对确定您的源投影 (900913) 正在设置这些约束,因此当您移动鼠标时,您只能从 0,0 移动这么多米,这对应于 85.05 和 -80.05在你的转变中。

    换句话说,EPSG 900913 并不覆盖整个地球。因此,当您将鼠标分别移动到最北/最南时,它不会转换为 +/- 90,而是转换为 85.05 和 -80.05,正如您所发现的那样。

    如果你去查看this page in the OpenLayers docs,他们解释如下:

    具体来说,大多数球形墨卡托地图使用世界范围 从 -180 到 180 经度,从 -85.0511 到 85.0511 纬度。 因为当你接近时,墨卡托投影会延伸到无穷远 两极,需要在南北方向上截断,这 特定的截止值会产生一个完美的正方形投影米。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多