MATLAB海量数据读取access数据到excel并保存为shapefile文件

时间:2022-04-27 11:49:38

(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数据库。下图所示

MATLAB海量数据读取access数据到excel并保存为shapefile文件

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)进行空间插值成栅格数据