高质量编码-克里金插值地图可视化(后台代码)

2021-07-16 14:51:01 浏览数 (1)

后台使用Python web框架tornado开发,主要提供两个接口。

1.GET方法的/api/stations

加载点位信息xlsx文件,使用pandas加载为DataFrame后转换为JSON。

2.POST方法的/api/stations?date=20210501&hour=15&type=PM2.5

根据日期找到已经下载到本地的对应日期的csv文件,使用pandas加载为DataFrame,然后根据小时和监测因子,过滤DataFrame,转换为JSON。

代码如下:

代码语言:python代码运行次数:0复制
class krigingMapHandler(tornado.web.RequestHandler):
    def get(self):
        self.render('krigingMap.html')

csvDir=pathlib.Path('E:/BaiduNetdiskDownload/station_2021')
class stationsHandler(tornado.web.RequestHandler):
    
    def get(self):
        df_station=pd.read_excel('static/stations.xlsx')
        data=df_station.to_json(orient='records')
        self.write({'result':data})
    def post(self):
        date=self.get_argument('date')
        hour=self.get_argument('hour')
        factor=self.get_argument('type')
        
        hour=int(hour)
        df_data=pd.read_csv(str(csvDir/f'china_sites_{date}.csv'))

        df_data=df_data[(df_data.hour==hour) & (df_data.type==factor)]
        data=df_data.to_json(orient='records')
        
        self.write({'result':data})     

0 人点赞