繁体   English   中英

OpenLayers LonLat转换不在正确的投影范围内

[英]OpenLayers LonLat transformations are not within correct projection bounds

我的地图使用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/ )?

我相对确定您的源投影(900913)正在设置这些约束,因此当您移动鼠标时,您只能在距离0,0几米远的地方旅行,这相当于您的转换中的85.05和-80.05 。

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

如果您在OpenLayers文档中查看此页面,则会按如下方式解释:

具体而言,大多数球形墨卡托地图使用世界范围从-180到180经度,以及从-85.0511到85.0511纬度。 因为当接近极点时,墨卡托投影会伸展到无限远,所以需要在南北方向上切断,这个特定的截止点会产生完美的投影米的平方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM