- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
附件数据有3列,经度-纬度-PM10浓度:
如果用read_ascii()函数读取,小数位数不会全读进来:
经纬度小数点后第6位是米,第4位是百米,第3位是千米,可见误差还是很大的!
怎么办呢?
先确定行数:
a=read_ascii('C:\Users\YGDY\Desktop\pm_example.txt',data_start=0)
x=a.field1
nn=size(x)
;行数是nn[2]
读数据:
openr,lun,'C:\Users\YGDY\Desktop\pm_example.txt',/get_lun
放进变量x中:
x=strarr(1,nn[2])
readf,lun,x
以第一行为例
for i=0,0 do begin
输出原始数据:
help,x
数据之间的间隔符好像不是空格,直接用strmid(x,10,1)进行识别,并以此分隔:
y=strsplit(x,strmid(x,10,1),/extract)
去除空格:
y2=strcompress(y,/remove_all)
print,double(y2)
endfor
输出:
<Expression> STRING = '120.093412 30.863572 87.70491803'
120.09341 30.863572 87.704918
可惜!输出的数限制为8位有效数字!用float()或者long()进行强制转换则位数更少!
看来得仔细研究下format关键字,看看是否可以设置小数位数或者有效数字位数。按道理,浮点型完全可以支持6位的小数呀!
|
|