通过Cartopy生成的图像图来协调显示

时间:2019-06-26 12:10:03

标签: python matplotlib cartopy

我需要在地图上绘制点,在该地图上生成PNG图像,然后输出与绘制点协调的显示。

使用Cartopy,我可以获得想要的地图,并在给定的lon / lat坐标上绘制点。

我不知道如何获取像素坐标。我尝试遵循简单的matplotlib教程https://matplotlib.org/users/transforms_tutorial.html,但在这种情况下无法正常工作

import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt

# Create Mercator projection with dateline in the middle:
from matplotlib import lines

fig = plt.figure(figsize=(10, 10))
ax = plt.axes(projection=ccrs.Mercator(central_longitude=26,))
ax.set_extent([19, 33, 59.5, 70.5], crs=ccrs.PlateCarree())


LAND = cfeature.NaturalEarthFeature('physical', 'land', '50m',
                                    edgecolor='face',
                                    facecolor=cfeature.COLORS['land'], zorder=-1)

ax.add_feature(LAND)
ax.coastlines(resolution='50m')

ax.add_feature(cfeature.NaturalEarthFeature('cultural', 'admin_0_boundary_lines_land',
                              '50m', edgecolor='black', facecolor='none'))


plt.plot([26.7042], [60.8679],  color='blue', linewidth=2, marker='o',
         transform=ccrs.PlateCarree(),
         )

fig.canvas.draw()
# print image x y coordinates of point 60.8679° N, 26.7042° E here

plt.show()

enter image description here

0 个答案:

没有答案