【发布时间】:2015-02-25 17:47:56
【问题描述】:
我希望在代表一个区域的图表上叠加一些海岸线。该区域由框定义:
- 顶部:3900000
- 底部:3450000
- 左:300000
- 右:800000
使用坐标系 WGS_1984_UTM_Zone_36N。
我尝试过使用 mpl_toolkits.basemap,但是我不知道如何指定该区域,因为 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 ) 它仍然需要一个 lat long 边界框。
还有其他方法可以在底图中定义该区域吗?
谢谢!
编辑:我正在尝试返回由 utm 系统中的框定义的海岸线区域,对框的末端使用 lat/long 值会导致海岸线覆盖的区域重叠/重叠当转换回utm系统时(我想,如果我错了,请纠正我)。
【问题讨论】:
-
我将它分成两部分,(1)将您的顶部/底部/等转换为纬度/经度角,然后(2)使用底图绘制。您可以使用 PyProj(如 farenorth 建议的那样)或一个名为“utm”的小型实用程序,它几乎可以完成这些转换(您可以得到它here)
-
farnorth @Ajean,感谢您的意见(尤其是 utm 实用程序),但请参阅我的问题的编辑。
标签: python matplotlib matplotlib-basemap map-projections