| Class | NumRu::HE5Sw |
| In: |
lib/hdfeos5.rb
|
| Parent: | Object |
HE5Swath クラスに関して
# File lib/hdfeos5.rb, line 150
150: def create(file, sname)
151: if(file.is_a?(String))
152: file = HE5.open(file, "w")
153: elsif(!file.is_a?(HE5))
154: raise TypeError,
155: "1st arg must be a HDF-EOS5 (file object) or a String (path)"
156: end
157: file.create_swath(sname)
158: end
# File lib/hdfeos5.rb, line 160
160: def open(file, sname)
161: if(file.is_a?(String))
162: file = HE5.open(file, "r")
163: elsif(!file.is_a?(HE5))
164: raise TypeError,
165: "1st arg must be a HDF-EOS5 (file object) or a String (path)"
166: end
167: file.swath(sname)
168: end
# File lib/hdfeos5.rb, line 295
295: def att_names
296: nattrs, attrnames, strbufsize = inqattrs()
297: return attrnames.split(/,/)
298: end
# File lib/hdfeos5.rb, line 311
311: def char_typecode(typecode)
312: case typecode
313: when 1
314: ctype = "short"
315: when 2
316: ctype = "sint"
317: when 3
318: ctype = "int"
319: when 4
320: ctype = "sfloat"
321: when 5
322: ctype = "float"
323: else
324: raise TypeError, "not match"
325: end
326: ctype
327: end
define HE5 Swath Field Object ( Geo localtion Field )
# File lib/hdfeos5.rb, line 206
206: def def_geo(name, datatype, dims, maxdim=nil, merge=0)
207: if datatype.is_a?(Numeric)
208: datatype = char_typecode(datatype)
209: end
210: maxdim = "NULL" if maxdim == nil
211: defgeofield(name, dims, maxdim, datatype, 0)
212: end
define HE5 Swath Field Object ( Data Field )
# File lib/hdfeos5.rb, line 214
214: def def_var(name, datatype, dims, maxdim=nil, merge=0)
215: if datatype.is_a?(Numeric)
216: datatype = char_typecode(datatype)
217: end
218: maxdim = "NULL" if maxdim == nil
219: defdatafield(name, dims, maxdim, datatype, merge)
220: end
return Dimension Name list
# File lib/hdfeos5.rb, line 252
252: def dim_names
253: ndims, dimlist, sizes, ntype = inqdims('HE5_HDFE_NENTDIM')
254: return dimlist.split(/,/)
255: end
return Geo location Field Name list
# File lib/hdfeos5.rb, line 267
267: def geo_names
268: nflds, fieldlist, sizes, ntype = inqgeofields('HE5_HDFE_NENTGFLD')
269: return fieldlist.split(/,/)
270: end
return HE5 Swath Field Object
# File lib/hdfeos5.rb, line 230
230: def geos( names=nil ) # return all if names==nil
231: if names == nil
232: geos = (0..ngeos()-1).collect{|geoid| get_geo(geoid)}
233: else
234: raise TypeError, "names is not an array" if ! names.is_a?(Array)
235: geos = names.collect{|name| geo(name)}
236: raise ArgumentError, "One or more dimensions do not exist" if geos.include?(nil)
237: end
238: return geos
239: end
# File lib/hdfeos5.rb, line 288
288: def get_att(attname)
289: if att_names.include?(attname)
290: get_att_(attname)
291: else
292: nil
293: end
294: end
# File lib/hdfeos5.rb, line 299
299: def get_grpatt(grpattname)
300: if grpatt_names.include?(grpattname)
301: get_grpatt_(grpattname)
302: else
303: nil
304: end
305: end
# File lib/hdfeos5.rb, line 306
306: def grpatt_names
307: nattrs, attrnames, strbufsize = inqgrpattrs()
308: return attrnames.split(/,/)
309: end
return Index Map Name list
# File lib/hdfeos5.rb, line 262
262: def idxmap_names
263: nidxmpas, idxmaplist, sizes, ntype = inqidxmaps('HE5_HDFE_NENTIMAP')
264: return idxmaplist.split(/,/)
265: end
return Map Name list
# File lib/hdfeos5.rb, line 257
257: def map_names
258: nmaps, maplist, sizes, ntype = inqmaps('HE5_HDFE_NENTMAP')
259: return maplist.split(/,/)
260: end
count Dimension Field
# File lib/hdfeos5.rb, line 181
181: def ndims
182: count, strbufsize = nentries('HE5_HDFE_NENTDIM')
183: return count
184: end
count Geo Location Field
# File lib/hdfeos5.rb, line 196
196: def ngeos
197: count, strbufsize = nentries('HE5_HDFE_NENTGFLD')
198: return count
199: end
count Index Map Field
# File lib/hdfeos5.rb, line 191
191: def nidxmaps
192: count, strbufsize = nentries('HE5_HDFE_NENTIMAP')
193: return count
194: end
count Map Field
# File lib/hdfeos5.rb, line 186
186: def nmaps
187: count, strbufsize = nentries('HE5_HDFE_NENTMAP')
188: return count
189: end
count Data Field
# File lib/hdfeos5.rb, line 201
201: def nvars
202: count, strbufsize = nentries('HE5_HDFE_NENTDFLD')
203: return count
204: end
return Data Field Name list
# File lib/hdfeos5.rb, line 272
272: def var_names
273: nflds, fieldlist, sizes, ntype = inqdatafields('HE5_HDFE_NENTDFLD')
274: return fieldlist.split(/,/)
275: end
return HE5 Swath Field Object
# File lib/hdfeos5.rb, line 241
241: def vars( names=nil ) # return all if names==nil
242: if names == nil
243: vars = (0..nvars()-1).collect{|varid| get_var(varid)}
244: else
245: raise TypeError, "names is not an array" if ! names.is_a?(Array)
246: vars = names.collect{|name| var(name)}
247: raise ArgumentError, "One or more variables do not exist" if vars.include?(nil)
248: end
249: return vars
250: end