在“近侧透视图”中是正交投影吗?

时间:2019-05-07 12:14:05

标签: python cartopy proj

我目前正在研究世界地图的可视化。现在,我可以使用自制的软件来实现可视化和点投影(Java),但我想升级该软件,以便能够在Python中使用类似的工具。

因此,我想将cartopy与PROJ4模块一起使用,而不是重新编码所有内容,并使用现有的出色库。

它完全适用于PlateCarree投影,但是当我要使用“近侧透视”时,我发现这两种方法之间的差别很小。

以下两张图片是从Java软件(1)和cartopy图(2)中提取的。

Cartopy(0.17)与matplotlib(3.0.2)和proj4(4.9.1)一起使用。在两张图片中,我们都在lon = lat = 0°和400 km处观察。

这是第一张图片(Java): Java visualization

这里是第二个(Cartopy): Cartopy representation

正如人们所观察到的那样,土地在地形图上的代表过多。假设我想获得与Java软件中的投影完全相同的投影(与电信领域中的“ TrueView angles”相同的表示形式),我在the cartopy crs module中发现:

class NearsidePerspective(_Satellite):
        """
        Perspective view looking directly down from above a point on the globe.
        In this projection, the projected coordinates are x and y measured from
        the origin of a plane tangent to the Earth directly below the perspective
        point (e.g. a satellite).
        """

所以我有一个问题:这是关于哪个投影的?角度是否固定,这意味着我有未发现的问题?还是在切平面上的正交投影?在这种情况下,角度是不守恒的,因此我需要一个解决方案来应用另一个投影(在我的情况下是正确的)。我可能会使用错误的...

感谢您的时间,

1 个答案:

答案 0 :(得分:0)

我不确定这是否是正交投影,但是CartoPy使用的是直接来自Proj4:

https://proj4.org/operations/projections/nsper.html

我认为此“近侧透视”坐标中的坐标是笛卡尔距离(与平面上原点的距离),而不是角度。听起来像是投影中使用的角度。您是否考虑过使用地球同步投影,但卫星高度不同?

https://scitools.org.uk/cartopy/docs/latest/crs/projections.html#geostationary

我可以说在这个投影中,坐标是角度(乘以卫星高度)。可能就是您要寻找的东西。