我有一个GeoDataFrame,其中包含具有相关几何图形的点(坐标系WGS84 EPSG:4326)
gdf:
Name x y Coordinates
E -4.375 51.5 POINT (-4.375000000000008 51.49999999999999)
N -5.000 52.0 POINT (-4.999999999999994 52)
NE -4.375 52.0 POINT (-4.375000000000008 52)
NW -5.625 52.0 POINT (-5.625000000000006 52)
S -5.000 51.0 POINT (-4.999999999999994 50.99999999999999)
SE -4.375 51.0 POINT (-4.375000000000008 50.99999999999999)
SW -5.625 51.0 POINT (-5.625000000000006 50.99999999999999)
W -5.625 51.5 POINT (-5.625000000000006 51.49999999999999)
我想用openstreetmap提供的背景地图图块进行绘图。我了解为了做到这一点,需要将坐标系更改为Pseudo-Mercator WGS84 EPSG:3857。然后根据上下文要求平铺。
gdf = gdf.to_crs(epsg=3857)
xmin, ymin, xmax, ymax = gdf.total_bounds
url = 'http://tile.stamen.com/terrain/tileZ/tileX/tileY.png'
basemap, extent = ctx.bounds2img(xmin, ymin, xmax, ymax, zoom=8, url=url)
然后绘制底图和点
ax = gdf.plot(figsize=(10, 10))
ax.imshow(basemap, extent=extent, interpolation='bilinear')
这很好,但是我希望刻度标签具有原始坐标系(EPSG:4326)。我当时以为我可以get_xtcklabels
和get_yticklabels
,然后与gdal进行坐标转换,但是桅杆是更简单的方法。