You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Cartopy绘制月球地图时背景图位置偏移问题

月球AzimuthalEquidistant投影标记点偏移问题

我尝试采用AzimuthalEquidistant投影绘制月球地图,并在Orientale Mare的经纬度位置标记一个点。但绘制后,标记点位于Orientale正上方,而该投影本应以该点为中心。

背景图采用USGS发布的LROC WAC全球100m分辨率 mosaic图,我认为它采用PlateCarree投影。

以下是使用的代码:

import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from PIL import Image  # 原代码遗漏该导入,补充以保证可运行

olat = -19.8304 
olon = 264.757

moon = ccrs.Globe(semimajor_axis=1738100, semiminor_axis=1738100, ellipse=None)
pc = ccrs.PlateCarree(globe=moon)
ae = ccrs.AzimuthalEquidistant(olon, olat, globe=moon)

fig = plt.figure()
ax = plt.subplot(111, projection=ae)
bg = Image.open('moon2.jpeg')
plt.imshow(bg, extent=(-180,180,-90,90), transform=pc)
gl = ax.scatter(olon, olat, transform=pc)
ax.set_global()
plt.show()

错误的绘制效果:
错误投影效果:标记点偏移

对比:若全部采用PlateCarree投影绘制,标记点与Orientale完全对齐:
PlateCarree投影正确效果

我已尝试重新定义Cartopy使用的月球椭球,但问题未解决;经纬度确认是正确的,因为PlateCarree投影下所有元素都对齐。


内容的提问来源于stack exchange,提问作者Simon Toogood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:12:46