| Class | NumRu::HE5Pt |
| In: |
lib/hdfeos5.rb
|
| Parent: | Object |
HE5Pt クラスに関して
# File lib/hdfeos5.rb, line 1416
1416: def create(file, pname)
1417: if(file.is_a?(String))
1418: file = HE5.open(file, "w")
1419: elsif(!file.is_a?(HE5))
1420: raise TypeError,
1421: "1st arg must be a HDF-EOS5 (file object) or a String (path)"
1422: end
1423: file.create_point(pname)
1424: end
# File lib/hdfeos5.rb, line 1426
1426: def open(file, pname)
1427: if(file.is_a?(String))
1428: file = HE5.open(file, "a") # "r" の場合、simple plot でエラーになるため
1429: elsif(!file.is_a?(HE5))
1430: raise TypeError,
1431: "1st arg must be a HDF-EOS5 (file object) or a String (path)"
1432: end
1433: file.point(pname)
1434: end
# File lib/hdfeos5.rb, line 1504
1504: def att_names
1505: nattrs, attrnames, strbufsize = inqattrs()
1506: return attrnames.split(/,/)
1507: end
# File lib/hdfeos5.rb, line 1520
1520: def char_typecode(typecode)
1521: case typecode
1522: when 1
1523: ctype = "short"
1524: when 2
1525: ctype = "sint"
1526: when 3
1527: ctype = "int"
1528: when 4
1529: ctype = "sfloat"
1530: when 5
1531: ctype = "float"
1532: else
1533: raise TypeError, "not match"
1534: end
1535: ctype
1536: end
define HE5 Point Object
# File lib/hdfeos5.rb, line 1447
1447: def def_level(levelname, rank, fieldlist, dimlist, datatypelist)
1448: if datatypelist.is_a?(Numeric)
1449: datatype = char_typecode(datatypelist)
1450: elsif(datatype.length > 1)
1451: datatypelist.each{|dtype|
1452: dtype=char_typecode(dtype) if dtype.is_a?(Numeric)
1453: datatype.push(dtype)
1454: }
1455: end
1456: deflevel(levelname, rank.length, rank, fieldlist, fieldlist, dimlist, datatype)
1457: end
# File lib/hdfeos5.rb, line 1497
1497: def get_att(attname)
1498: if att_names.include?(attname)
1499: get_att_(attname)
1500: else
1501: nil
1502: end
1503: end
# File lib/hdfeos5.rb, line 1508
1508: def get_grpatt(grpattname)
1509: if grpatt_names.include?(grpattname)
1510: get_grpatt_(grpattname)
1511: else
1512: nil
1513: end
1514: end
# File lib/hdfeos5.rb, line 1515
1515: def grpatt_names
1516: nattrs, attrnames, strbufsize = inqgrpattrs()
1517: return attrnames.split(/,/)
1518: end
set HE5 Point Field Object ( Field )
# File lib/hdfeos5.rb, line 1463
1463: def var(fieldname, levelname=nil)
1464: if levelname == nil
1465: setfield(fieldname)
1466: else
1467: fieldlist = chkfield(levelname)
1468: if fieldlist.include?(fieldname)
1469: setfield_level(fieldname,levelname)
1470: else
1471: raise ArgumentError, "Level do not exist this fieldname"
1472: end
1473: end
1474: end
return Data Field Name list
# File lib/hdfeos5.rb, line 1487
1487: def var_names
1488: nflds, fieldlist = nfields()
1489: return fieldlist.split(/,/)
1490: end
return HE5 Point Field Object
# File lib/hdfeos5.rb, line 1476
1476: def vars( names=nil ) # return all if names==nil
1477: if names == nil
1478: vars = (0..nvars()-1).collect{|varid| get_var(varid)}
1479: elsif(!file.is_a?(HE5))
1480: raise TypeError, "names is not an array" if ! names.is_a?(Array)
1481: vars = names.collect{|name| var(name)}
1482: raise ArgumentError, "One or more variables do not exist" if vars.include?(nil)
1483: end
1484: return vars
1485: end