代码来自我聪明又能干的师妹——梁卉林
出图效果如下:
#!/bin/env python
#coding=utf-8
import codecs
import numpy as np
import datetime
import re
import pandas as pd
import cartopy.crs as ccrs
import cartopy.feature as cfeature
from metpy.calc import wind_components
from metpy.plots import add_metpy_logo, current_weather, sky_cover, StationPlot, wx_code_map
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter
from metpy.units import units
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import cartopy.io.shapereader as shpreader
def func_return_self(x):
return x
def split(str_in, sep=None, convert_func=None):
ss = str_in.split(sep)
nn = len(ss)
rst = [None]*nn
if convert_func is None:
cf = [func_return_self] * nn
else:
cf = [_ for _ in convert_func]
# print(nn, len(cf))
for i in range(nn):
xcf = func_return_self if cf[i] is None else cf[i]
rst[i] = xcf(ss[i])
return rst
def d1_parse(filename,encoding="gb2312"):
"""
读micaps第1类数据文件到内存
:return:
"""
with codecs.open(filename, mode='r', encoding=encoding) as fid:
contents = fid.readlines()
dataflag, style, title = split(contents[0],None,None)
nn = len(contents)
nx = int((nn-2)/