Class NumRu::HE5Sw
In: lib/hdfeos5.rb
Parent: Object
HE5Za HE5Gd HE5 HE5ZaField HE5GdField HE5Pt HE5SwField HE5Sw HE5PtField lib/hdfeos5.rb NumRu dot/m_0_0.png

HE5Swath クラスに関して

Methods

att_names   char_typecode   close   closed   create   def_geo   def_var   detach   dim_names   geo   geo_names   geos   get_att   get_geo   get_grpatt   get_var   grpatt_names   idxmap_names   inspect   map_names   ndims   ngeos   nidxmaps   nmaps   nvars   open   var   var_names   vars  

Public Class methods

[Source]

     # 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

[Source]

     # 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

Public Instance methods

[Source]

     # File lib/hdfeos5.rb, line 295
295:     def att_names
296:       nattrs, attrnames, strbufsize = inqattrs()
297:       return attrnames.split(/,/)
298:     end

[Source]

     # 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

close swath field & close HDF-EOS5 file

[Source]

     # File lib/hdfeos5.rb, line 176
176:     def close
177:       swdetach
178:       self.file.close
179:     end
closed()

Alias for detach

define HE5 Swath Field Object ( Geo localtion Field )

[Source]

     # 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 )

[Source]

     # 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

detach swath field

[Source]

     # File lib/hdfeos5.rb, line 171
171:     def detach
172:       swdetach
173:     end

return Dimension Name list

[Source]

     # 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

set HE5 Swath Field Object ( Geo location Field )

[Source]

     # File lib/hdfeos5.rb, line 222
222:     def geo(geoname)
223:        setfield(geoname)
224:     end

return Geo location Field Name list

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

set HE5 Swath Field Object ( Geo localtion Field )

[Source]

     # File lib/hdfeos5.rb, line 277
277:     def get_geo(geoid)
278:       nflds, fieldlist, sizes, ntype = inqgeofields('HE5_HDFE_NENTGFLD')
279:       fieldname=fieldlist.split(",")[geoid]
280:       return geo(fieldname)
281:     end

[Source]

     # 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

set HE5 Swath Field Object ( Data Field )

[Source]

     # File lib/hdfeos5.rb, line 283
283:     def get_var(varid)
284:       nflds, fieldlist, sizes, ntype = inqdatafields('HE5_HDFE_NENTDFLD')
285:       fieldname=fieldlist.split(",")[varid]
286:       return var(fieldname)
287:     end

[Source]

     # 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

[Source]

     # 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

[Source]

     # File lib/hdfeos5.rb, line 329
329:     def inspect
330:       'HE5Sw:'+name
331:     end

return Map Name list

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # File lib/hdfeos5.rb, line 191
191:     def nidxmaps
192:       count, strbufsize = nentries('HE5_HDFE_NENTIMAP')
193:       return count
194:     end

count Map Field

[Source]

     # File lib/hdfeos5.rb, line 186
186:     def nmaps
187:       count, strbufsize = nentries('HE5_HDFE_NENTMAP')
188:       return count
189:     end

count Data Field

[Source]

     # File lib/hdfeos5.rb, line 201
201:     def nvars
202:       count, strbufsize = nentries('HE5_HDFE_NENTDFLD')
203:       return count
204:     end

set HE5 Swath Field Object ( Data Field )

[Source]

     # File lib/hdfeos5.rb, line 226
226:     def var(varname)
227:        setfield(varname)
228:     end

return Data Field Name list

[Source]

     # 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

[Source]

     # 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

[Validate]