真实的圆在哪些坐标系统中出现?


10

我已经在Google Maps中开发了一段时间了,并且切换到OpenLayers,但是停留在一点上:我绘制的矢量大多是圆形的,但也包含一些自定义的几何图形,因此我不能使用createRegularPolygon。我正在创建一个点数组并将其发送到OpenLayers.Layer.Vector对象。这很好用,但最终的“圆”仅在赤道附近,而不是在较高的纬度处。它们在高纬度时与底图的压缩量大致相同,这似乎是有道理的。如果我将Google用作基础层,那么它们在所有纬度上都是正确的形状,但是我正在制作一个离线移动解决方案,所以不会这样做。

我要对基本图层使用什么(或设置哪些参数),以便在不使用Google或在线地图的情况下,我的几何图形在所有纬度上都保持圆形?

Answers:


12

我猜你的圈子看起来像这样:

在此处输入图片说明

(来源:Esri制图中心博客

您将要使用Web Mercator EPSG:900913而不是WGS84 EPSG:4326来绘制完美的圆

有关此主题的更多信息,以及墨卡托中圆圈的外观示例:天梭的靛蓝有助于说明地图投影的变形

要使开放层使用Mercator,必须在基础层中设置sphericalMercator选项。

sphericalMercator: true,

谢谢!那正是我需要的信息。我以为我正在使用EPSG:900913中的图层,但事实并非如此。我还必须确保所有的转换都从EPSG:4326到EPSG:900913,并且它运行完美。现在,我只想弄清楚当脱机时尝试将其加载到地图图块中时如何不显示损坏的图像图标。
kschaos 2011年

14

没有整个地球的地图,其中所有(真实的,球形的)圆都保持真实的圆形。 但是,有一些绘制地球的方法,其中几乎所有足够小的圆圈都是圆形的。这些基于共形投影。根据定义,共形投影对小区域内距离的更改仅两种类型:均匀拉伸和旋转。显然,这些变化不会使圆变圆。

八月外摆线

八月外摆线投影的地球地图。大多数圆圈将在地图上显示为真正的圆形。

常用的共形投影墨卡托(圆柱投影),立体(方位角投影)和兰伯特保形圆锥(显然是圆锥投影)。这些涵盖了三个主要的投影系列,使您可以灵活地选择子午线和纬度线的特定“外观”。其他选项,这可能是在某些GISes可用,包括米勒Oblated赤利特罗双极斜圆锥形拉格朗日Eisenlohr八月外摆线皮尔斯梅花GS50,各种Adams投影和Lee。(来源:Snyder&Voxland,地图投影专辑。USGS 专业论文1453。)后两个指示了可以创建的大量共形投影,并显示了共形投影并非真正地“保持形状”:Adams投影共形地图将一个半球变成一个正方形,而Lee投影将它变成一个三角形。实际上,复杂分析的黎曼映射定理表明,您可以将半球共形映射到任何多边形!

OpenLayers使用Proj4js投影库。投影的源代码位于/ proj4js / lib / projCode /文件夹中。最新版本(1.0.2)中包含的共形投影是墨卡托,两个横向墨卡托,两个斜墨卡托(“ Hotine”和“ Swiss Oblique”),Lambert Conformal ConicStereographic

除非您的应用程序设计为可在全球范围内使用,否则请探索和研究这些选项,以确定最适合您感兴趣的区域。所有这些都可以很容易地进行重新调整和缩放,以最大程度地减少特定区域内的总失真(不仅是形状,还包括区域和距离)。全球范围内默认的解决方案是Mercator的某些变体,已被Google地图所普及。


有关此答案的更多信息,请参见:pasda.psu.edu/help/projection.asp
DPSSpatial

@mapBaker感谢您提供该链接。不幸的是,其对保形投影的描述是不正确的:“保形投影保持矩形等形状。” 这仅适用于极小的形状,不适用于有限大小的形状。
ub

您认识PSU的任何人都可以帮助调整该文档吗?
DPSSpatial

@mapBaker不幸的是,没有;我目前没有任何联系人。我什至不确定他们是否要调整它。在正确和学究之间有一条细线。我相信他们可能重视展示的简单性,并且-对于他们的特定受众-不想在保留大比例尺小比例尺的几何特性之间进行区分。我也很重视阐述的简单性,但是在这个答案中,我们通过强调足够小的圆圈来努力在简单性和正确性之间找到更准确的折衷方案。
ub

2

好吧,显然,只要您在EPSG:4326投影中使用底图,就会遇到问题。您需要的是球形墨卡托投影,正如您所注意到的那样,Google Maps和其他商业地图提供商也是如此。继续阅读此书,以更好地了解这个问题。

对于您来说,离线移动解决方案OpenStreetMap可能是一个很好的解决方案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.