CIMISS/天擎JSON格式
在框架中我们内置了天擎和CIMISS的JSON格式数据解析器,可以直接在项目中使用。(以下只以天擎为例,二者返回的接口层格式相同)。
站点数据
在天擎中,站点格式的返回结果如下所示:
{
"returnCode": "0",
"returnMessage": "Query Succeed",
"rowCount": "212",
"colCount": "44",
"requestParams": "times=20200215000000&datacode=SURF_CHN_MUL_HOR&stalevels=011&elements=Station_Name,Province,City,Cnty,Town,Datetime,Station_Id_C,Station_Id_d,Lat,Lon,Alti,Station_Type,Station_levl,Admin_Code_CHN,PRS_Sea,PRS_Change_3h,TEM",
"requestTime": "2020-02-16 03:06:41",
"responseTime": "2020-02-16 03:06:41",
"takeTime": "0.149",
"fieldNames": "站名 省份 地市 区县 乡镇 资料时间 区站号(字符) 区站号(数字) 纬度 经度 测站高度 测站类型 测站级别 行政区代码 海平面气压 3小时变压 温度/气温",
"fieldUnits": "- - - - - - - - 度 度 米 - - - 百帕 百帕 摄氏度(℃) 摄氏度(℃) 摄氏度(℃) 百分率 毫米 度 米/秒 度 米/秒 度 米/秒 - 度 米/秒 度 米/秒 m m 米 - 米 百分率 百分率 百分率 - 小时 - -",
"DS": [
{
"Station_Name": "郧西",
"Province": "湖北省",
"City": "十堰市",
"Cnty": "郧西县",
"Town": "",
"Datetime": "2020-02-15 00:00:00",
"Station_Id_C": "xxx",
"Station_Id_d": "xxx",
"Lat": "xxx",
"Lon": "xxx",
"Alti": "xxx",
"Station_Type": "0",
"Station_levl": "11",
"Admin_Code_CHN": "420322",
"PRS_Sea": "xxx",
"PRS_Change_3h": "xxx",
"TEM": "xxx"
}
]
}
框架中对应的数据解析器为CimissStationFeatureProvider
,具体用法如下所示(LGeoJSON图层的使用方法详见图层清单文档):
格点数据
天擎中的格点数据采用了键值对的文件头+二维数组的数据区的组织方式,如下所示:
{
"returnCode": "0",
"returnMessage": "Query Succeed",
"startLat": 53.0,
"startLon": 90.0,
"endLat": 4.0,
"endLon": 150.0,
"latCount": 99,
"lonCount": 121,
"latStep": -0.5,
"lonStep": 0.5,
"requestParams": "minlat=4&time=20190810000000&fcstele=VVP&datacode=NAFP_FOR_FTM_HIGH_JAP_NEHE&maxlat=53&fcstlevel=850&maxlon=150&validtime=0&minlon=90",
"requestTime": "2019-08-20 08:02:24",
"responseTime": "2019-08-20 08:02:24",
"takeTime": "0.022",
"fieldNames": "垂直速度(气压)",
"fieldUnits": "Pa*s^-1",
"DS": [
[]
]
}
框架中对应的数据解析器为CimissGridDataProvider
,具体使用方法如下:
天擎中MUSIC接口封装的纯数据格式较为简单易懂,在内网带宽能够满足需要的情况下,是一种较为理想的数据传输格式。
关于天擎接口的跨域
天擎和CIMISS的MUSIC接口是不支持直接跨域的,但是可以使用JSONP或者自己搭建一个nginx用于跨域。
//使用jquery的jsonp跨域
$.ajax({
url:url,
dataType:"jsonp",
jsonp:"callbackName",
jsonpCallback:"callback",
success:(res)=>{
//process data
}
});
No Comments