在用axesm函数创建地图坐标系的时候可以指定地图投影(设置projinfo参数),地图投影可以通过projinfo函数来创建,里面的参数依据proj4投影字符串,可以参考此网页:http://remotesensing.org/geotiff/proj_list。投影后的地图坐标系显示范围的设置可以用axism函数,参数是一个列表(list),列表里的4个元素分别是起始、结束经度和纬度。
脚本程序:
#Set data folders basedir = 'D:/MyProgram/Distribution/java/MeteoInfo/MeteoInfo' mapdir = os.path.join(basedir, 'map') #Read shape files bou2_layer = shaperead(os.path.join(mapdir, 'bou2_4p.shp')) bou1_layer = shaperead(os.path.join(mapdir, 'bou1_4l.shp')) river_layer = shaperead(os.path.join(mapdir, 'rivers.shp')) city_layer = shaperead(os.path.join(mapdir, 'res1_4m.shp')) #Plot proj = projinfo(proj='lcc', lon_0=105, lat_1=25, lat_2=47) axesm(projinfo=proj, axison=False) geoshow(bou2_layer, edgecolor='lightgray') geoshow(bou1_layer, facecolor=(0,0,255)) ss = makesymbolspec('line', {'value':'Yangtze', 'color':(0,255,255), 'size':1}, {'value':'Huang He', 'color':(0,255,255), 'size':1}, field='NAME') geoshow(river_layer, symbolspec=ss) geoshow(city_layer, facecolor='r', size=4, labelfield='NAME', fontname=u'楷体', fontsize=16, yoffset=15) axism([78, 130, 14, 53])
运行结果: