| Class | NumRu::HE5Za |
| In: |
lib/hdfeos5.rb
|
| Parent: | Object |
HE5Za クラスに関して
# File lib/hdfeos5.rb, line 1883
1883: def create(file, zname)
1884: if(file.is_a?(String))
1885: file = HE5.open(file, "w")
1886: elsif(!file.is_a?(HE5))
1887: raise TypeError,
1888: "1st arg must be a HDF-EOS5 (file object) or a String (path)"
1889: end
1890: file.create_zonal(zname)
1891: end
# File lib/hdfeos5.rb, line 1893
1893: def open(file, zname)
1894: if(file.is_a?(String))
1895: file = HE5.open(file, "r")
1896: elsif(!file.is_a?(HE5))
1897: raise TypeError,
1898: "1st arg must be a HDF-EOS5 (file object) or a String (path)"
1899: end
1900: file.zonal(zname)
1901: end
# File lib/hdfeos5.rb, line 1969
1969: def att_names
1970: nattrs, attrnames, strbufsize = inqattrs()
1971: return attrnames.split(/,/)
1972: end
# File lib/hdfeos5.rb, line 1985
1985: def char_typecode(typecode)
1986: case typecode
1987: when 1
1988: ctype = "short"
1989: when 2
1990: ctype = "sint"
1991: when 3
1992: ctype = "int"
1993: when 4
1994: ctype = "sfloat"
1995: when 5
1996: ctype = "float"
1997: else
1998: raise TypeError, "not match"
1999: end
2000: ctype
2001: end
define HE5 Zonal Field Object ( Data Field )
# File lib/hdfeos5.rb, line 1924
1924: def def_var(name, datatype, dims, maxdim=nil)
1925: if datatype.is_a?(Numeric)
1926: datatype = char_typecode(datatype)
1927: end
1928: maxdim = "NULL" if maxdim == nil
1929: define(name, dims, maxdim, datatype)
1930: end
return Dimension Name list
# File lib/hdfeos5.rb, line 1947
1947: def dim_names
1948: ndims, dimlist, sizes, ntype = inqdims('HE5_HDFE_NENTDIM')
1949: return dimlist.split(/,/)
1950: end
# File lib/hdfeos5.rb, line 1962
1962: def get_att(attname)
1963: if att_names.include?(attname)
1964: get_att_(attname)
1965: else
1966: nil
1967: end
1968: end
# File lib/hdfeos5.rb, line 1973
1973: def get_grpatt(grpattname)
1974: if grpatt_names.include?(grpattname)
1975: get_grpatt_(grpattname)
1976: else
1977: nil
1978: end
1979: end
# File lib/hdfeos5.rb, line 1980
1980: def grpatt_names
1981: nattrs, attrnames, strbufsize = inqgrpattrs()
1982: return attrnames.split(/,/)
1983: end
count Dimension Field
# File lib/hdfeos5.rb, line 1914
1914: def ndims
1915: count, strbufsize = nentries('HE5_HDFE_NENTDIM')
1916: return count
1917: end
count Data Field
# File lib/hdfeos5.rb, line 1919
1919: def nvars
1920: count, strbufsize = nentries('HE5_HDFE_NENTDFLD')
1921: return count
1922: end
return Data Field Name list
# File lib/hdfeos5.rb, line 1952
1952: def var_names
1953: nflds, fieldlist, sizes, ntype = inquire('HE5_HDFE_NENTDFLD')
1954: return fieldlist.split(/,/)
1955: end
return HE5 Zonal Field Object
# File lib/hdfeos5.rb, line 1936
1936: def vars( names=nil ) # return all if names==nil
1937: if names == nil
1938: vars = (0..nvars()-1).collect{|varid| get_var(varid)}
1939: else
1940: raise TypeError, "names is not an array" if ! names.is_a?(Array)
1941: vars = names.collect{|name| var(name)}
1942: raise ArgumentError, "One or more variables do not exist" if vars.include?(nil)
1943: end
1944: return vars
1945: end