在 matplotlib 地块上叠加海岸线
Overlay coastlines on a matplotlib plot
我想在表示区域的图表上叠加一些海岸线。区域由方框定义:
- 顶部:3900000
- 底部:3450000
- 还剩下:300000
- 右:800000
坐标系WGS_1984_UTM_Zone_36N.
我试过使用 mpl_toolkits.basemap 但是我不知道如何指定该区域,因为底图不接受 ESPG 代码 (32636),并且当我尝试手动插入投影参数时(m = Basemap(projection='tmerc', k_0=0.9996, lat_0=0, lon_0=33, llcrnrx=300000, llcrnry=3450000, urcrnrx=800000, urcrnry=3900000
)它仍然需要一个经纬度边界框。
是否有另一种方法可以在底图中定义该区域?
谢谢!
编辑:我正在尝试 return 由 utm 系统中的盒子定义的海岸线区域,使用盒子末端的 lat/long 值将导致 over/underlap转换回utm系统时海岸线覆盖的面积(我想,如果我错了请纠正我)。
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
# make sure the value of resolution is a lowercase L,
# for 'low', not a numeral 1
map = Basemap(projection='merc', lat_0=57, lon_0=-135,
resolution = 'h', area_thresh = 0.1,
llcrnrlon=-136.25, llcrnrlat=56,
urcrnrlon=-134.25, urcrnrlat=57.75)
map.drawcoastlines()
map.drawcountries()
map.fillcontinents(color='coral')
map.drawmapboundary()
map.drawmeridians(np.arange(0, 360, 30))
map.drawparallels(np.arange(-90, 90, 30))
plt.show()
都在这linkhttps://peak5390.wordpress.com/2012/12/08/matplotlib-basemap-tutorial-making-a-simple-map/
试用 cartopy 及其新的 epsg 功能:
projection = ccrs.epsg(32636)
fig, ax = plt.subplots(figsize=(5, 5),
subplot_kw=dict(projection=projection))
ax.coastlines(resolution='10m')
这是一个带有示例的笔记本:
http://nbviewer.ipython.org/gist/ocefpaf/832cf7917c21da229564
我想在表示区域的图表上叠加一些海岸线。区域由方框定义:
- 顶部:3900000
- 底部:3450000
- 还剩下:300000
- 右:800000
坐标系WGS_1984_UTM_Zone_36N.
我试过使用 mpl_toolkits.basemap 但是我不知道如何指定该区域,因为底图不接受 ESPG 代码 (32636),并且当我尝试手动插入投影参数时(m = Basemap(projection='tmerc', k_0=0.9996, lat_0=0, lon_0=33, llcrnrx=300000, llcrnry=3450000, urcrnrx=800000, urcrnry=3900000
)它仍然需要一个经纬度边界框。
是否有另一种方法可以在底图中定义该区域?
谢谢!
编辑:我正在尝试 return 由 utm 系统中的盒子定义的海岸线区域,使用盒子末端的 lat/long 值将导致 over/underlap转换回utm系统时海岸线覆盖的面积(我想,如果我错了请纠正我)。
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
# make sure the value of resolution is a lowercase L,
# for 'low', not a numeral 1
map = Basemap(projection='merc', lat_0=57, lon_0=-135,
resolution = 'h', area_thresh = 0.1,
llcrnrlon=-136.25, llcrnrlat=56,
urcrnrlon=-134.25, urcrnrlat=57.75)
map.drawcoastlines()
map.drawcountries()
map.fillcontinents(color='coral')
map.drawmapboundary()
map.drawmeridians(np.arange(0, 360, 30))
map.drawparallels(np.arange(-90, 90, 30))
plt.show()
都在这linkhttps://peak5390.wordpress.com/2012/12/08/matplotlib-basemap-tutorial-making-a-simple-map/
试用 cartopy 及其新的 epsg 功能:
projection = ccrs.epsg(32636)
fig, ax = plt.subplots(figsize=(5, 5),
subplot_kw=dict(projection=projection))
ax.coastlines(resolution='10m')
这是一个带有示例的笔记本: http://nbviewer.ipython.org/gist/ocefpaf/832cf7917c21da229564