(1) 通过access数据库通过联立查询并生成新表
由于access只限制5万条记录,所以要通过MATLAB读取所有数据并保存到xlsx中去。
SELECT * INTO AA IN 'E:\aa\aa.accdb'
FROM (
SELECT MetroSta742Info(modify).*, MetroStaDataPET_2013.*
FROM MetroStaDataPET_2013 INNER JOIN MetroSta742Info(modify)
ON MetroSta742Info(modify).台站号 = MetroStaDataPET_2013.台站号)
注意:新生成的数据库需要提前生成。
注意:新生成的数据库需要提前生成。
(2) 通过Matlab读取该数据库并存为excel
a).读取数据前先连接“控制面板”—“系统和安全”—“管理工具”—“数据源ODBC”,设置连接的access数据库。下图所示
b). 读取数据的代码
ODBC_Name='PET' %电脑中ODBC连接的名称
connA=database(ODBC_Name,'',''); %连接数据库
ping(connA); %测试连接状态是否能联通
whereClaus='select * from AA' %查询语句,所有数据
cursorA=exec(connA,whereClaus); %建立连接,执行查询
result=fetch(cursorA); %返回查询游标
ResultCell=result.Data; %获取到了所有返回的值
xlswrite('E:\PET.xlsx',ResultCell) %结果保存到excle中
(3)把excel数据加载到arcgis中
Arcgis不能直接读取xlsx格式的太多记录的数据,需要重新存储为.csv的格式,然后通过arcgis的导入xy数据的格式,根据经纬度导入点的数据信息。然后另存为.shp文件即可。
(4)通过Python语言select函数生成每时间(月或日)的shape
通过Python语言对每个时间的shape的数据字段field(如降水,温度,PET)进行空间插值成栅格数据