Я пытаюсь построить данные Pumps.shp поверх файла OSMap.tif из этот веб-сайт на том же рисунке.
Я пробовал использовать методы rasterio.plot () и geopandas.plot () с подзаголовками matplotlibs.
Проблема в том, что графики не совпадают, растровый файл строится в диапазоне (0,1000) для обеих осей, а shp отображается в фактическом диапазоне координат (около 50000 по оси x и вокруг).
У обоих объектов crs равны, и координаты находятся в одном диапазоне. Почему это? Что я делаю неправильно?
Вот мой код
import rasterio as rast
import rasterio.plot as rsplot
import geopandas as gpd
src=rast.open("OSMap.tif")
data=gpd.read_file("Pumps.shp")
fig,ax=plt.subplots()
rsplot.show(src,ax=ax)
data.plot(ax=ax)
plt.show()
Это результат вызова src.bounds:
BoundingBox (левый = 528765.0, нижний = 180466.0, правый = 529934.0, верхний = 181519.0)
Это результат data.bounds
(528765.0, 180466.0, 529934.0, 181519.0)
Это crs обоих:
CRS ({'lon_0': -2, 'y_0': -100000, 'k': 0,9996012717, 'lat_0': 49, 'proj': 'tmerc', 'wktext': True, 'datum': 'OSGB36' , 'no_defs': True, 'x_0': 400000, 'units': 'm'})
rasterio
вы используете? Не то чтобы это могло быть проблемой, ноrasterio.plot.show
только начал использовать экстент растра в 0.32. - person jdmcbr   schedule 07.12.2017with_bounds=True
(который изменяет экстент построения в соответствии с растровым экстентом) является для вас значением по умолчанию вrasterio.plot.show
? - person jdmcbr   schedule 07.12.2017