【发布时间】:2018-08-15 17:51:09
【问题描述】:
我对使用 Cartopy 渲染 google 磁贴有点困惑。与标准的谷歌地图外观相比,该地图看起来极差。
示例(代码来自https://ocefpaf.github.io/python4oceanographers/blog/2015/06/22/osm/):
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
from cartopy.io import shapereader
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
def make_map(projection=ccrs.PlateCarree()):
fig, ax = plt.subplots(figsize=(9, 13),
subplot_kw=dict(projection=projection))
gl = ax.gridlines(draw_labels=True)
gl.xlabels_top = gl.ylabels_right = False
gl.xformatter = LONGITUDE_FORMATTER
gl.yformatter = LATITUDE_FORMATTER
return fig, ax
import cartopy.io.img_tiles as cimgt
extent = [-39, -38.25, -13.25, -12.5]
request = cimgt.GoogleTiles()
fig, ax = make_map(projection=request.crs)
ax.set_extent(extent)
ax.add_image(request, 10)
生成:
与链接网站上显示的相同图像相比,这看起来很差——看看文本标签和街道号码的像素化渲染:
更改缩放级别似乎并没有改善这种情况。
这是我正在处理的地图上的另一个示例,由 Cartopy 和 googletiles() 渲染:
Google Maps中显示的相同地图
有谁知道这个奇怪问题的原因以及如何解决它?
【问题讨论】:
-
会不会是 mpl 后端?
matplotlib.get_backend()返回什么? -
@DanielKirkham 我在 Jupyter 笔记本上得到“module://ipykernel.pylab.backend_inline”,在 ipython 控制台上得到“MacOSX”。两者都给出相同的结果。
-
我不知道 cartopy 的行为,但我最近遇到了 salem,它可以用谷歌图片做一些很酷的事情salem.readthedocs.io/en/latest/auto_examples/…
标签: python google-maps matplotlib cartopy