请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2899|回复: 3

[混合编程] IDL编程学习之筛选数据对的心法

[复制链接]

新浪微博达人勋

发表于 2018-1-11 15:19:44 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
在工作和研究中经常遇到这种情况:
现在有3列数据:经度-纬度-测值,要求在某经纬度范围内统计测值的规律。
这时,就需要过滤下数据。我们使用where函数获得符合要求的经度列的索引,和纬度列的索引,这两个索引的共同元素就是符合经纬度要求的行。
案例:附近txt文件有2列数据,要求筛选出第一列大于0,第二列小于0的行。
代码:
a=read_ascii('C:\Users\Administrator\Desktop\x.txt',data_start=0)
x=a.field1
p1=where(x[0,*] gt 0,count1)
p2=where(x[1,*] lt 0,count2)
foreach element,p1 do begin
  p=where(p2 eq element,count)
  if(count eq 1)then begin
    print,x[*,element]
    endif
endforeach

x.txt

1.76 KB, 下载次数: 4, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-13 18:00:37 | 显示全部楼层
你写复杂了,害我下载你这个txt文件,浪费我5个金币啊。


  file = 'D:\x.txt'
  
  data = fltarr(2, file_lines(file))
  
  openr, lun, file, /get_lun
    readf, lun, data
  free_lun, lun
  
  lines = where(data[0, *] GT 0 and data[1, *] LT 0)
  
  PRINT, lines
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-13 18:02:03 | 显示全部楼层
还有,IDL这语言好奇葩,用了5年了。我现在Python和IDL都在用。在逐步转向Python
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-2-22 10:25:01 | 显示全部楼层
ybmy001 发表于 2018-2-13 18:02
还有,IDL这语言好奇葩,用了5年了。我现在Python和IDL都在用。在逐步转向Python

毕竟IDL资源少
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表