矢量数据解析器
CimissStationFeatureProvider
天擎/CIMISS站点数据访问器
对于如下格式的数据,可以直接使用CimissStationFeatureProvider
来构建provider,CimissStationFeatureProvider
内部会将这个数据转为QE矢量数据模型。
{
"returnCode":"0",
"returnMessage":"Query Succeed",
"rowCount":"2430",
"colCount":"12",
"requestParams":"times=20190307000000&datacode=SURF_CHN_MUL_HOR&stalevels=011,012,013&elements=Station_Name,Station_Id_C,Lat,Lon,PRS,TEM,RHU,PRE_1h,PRE_24h,WIN_D_INST,WIN_S_INST,WEP_Now","requestTime":"2019-03-08 14:46:09",
"responseTime":"2019-03-08 14:46:10",
"takeTime":"1.135",
"fieldNames":"站名 区站号(字符) 纬度 经度 气压 温度/气温 相对湿度 过去1小时降水量 过去24小时降水量 瞬时风向 瞬时风速 现在天气",
"fieldUnits":"- - 度 度 百帕 摄氏度(℃) 百分率 毫米 毫米 度 米/秒 -",
"DS":[
{
"Station_Name":"沅江",
"Station_Id_C":"57671",
"Lat":"28.85",
"Lon":"112.3667",
"PRS":"1019.4",
"TEM":"9.6",
"RHU":"95",
"PRE_1h":"0",
"PRE_24h":"999990",
"WIN_D_INST":"360",
"WIN_S_INST":"4.2",
"WEP_Now":"10"
},{
"Station_Name":"阿拉山口",
"Station_Id_C":"51232",
"Lat":"45.1833",
"Lon":"82.55",
"PRS":"979.9",
"TEM":"-4.2",
"RHU":"92",
"PRE_1h":"0",
"PRE_24h":"0",
"WIN_D_INST":"309",
"WIN_S_INST":"3.3",
"WEP_Now":"10"
},
...
]
}
创建数据源,传入图层
const provider = new CimissStationFeatureProvider(json);
const layer = new LGeoJSONLayer().setDataSource(provider).setDrawOptions({...});
layer.addTo(map);
完整示例
PointArrayFeatureProvider
数组类站点数据的访问器
对于类似如下格式的数组类站点数据,可以使用PointArrayFeatureProvider
构建provider。
const dataArr = [
{
"staName":"沅江",
"staId":"57671",
"lat":"28.85",
"lon":"112.3667",
"PRS":"1019.4",
"TEM":"9.6",
"RHU":"95",
"PRE_1h":"0",
"PRE_24h":"999990",
"WIN_D_INST":"360",
"WIN_S_INST":"4.2",
"WEP_Now":"10"
},{
"staName":"阿拉山口",
"staId":"51232",
"lat":"45.1833",
"lon":"82.55",
"PRS":"979.9",
"TEM":"-4.2",
"RHU":"92",
"PRE_1h":"0",
"PRE_24h":"0",
"WIN_D_INST":"309",
"WIN_S_INST":"3.3",
"WEP_Now":"10"
},
...
]
实例化PointArrayFeatureProvider时传两个参数,第一个是数组对象也就是站点数据,第二个是对这个数组的一些描述信息,满足IPointArrayFeatureProviderOptions
接口,主要用到的有经纬度字段名,id字段名等。如果站点数组中字段值跟该接口中默认值一致的化,则可不传。
const options = {
lonField: "lon",
latField: "lat",
idField: "staId"
}
const dataSource = new PointArrayFeatureProvider(dataArr, options);
完整示例
GeoJSONFeatureProvider
GeoJSON的数据访问器
GeoJSONFeatureProvider
是GeoJSON数据本身的数据访问器,因为GeoJSON不一定都表示为FeatureCollection,因此GeoJSONFeatureProvider
的作用就是将所有GeoJSON类型的对象封装为FeatureCollection形式。
完整示例
No Comments