<h2>org.autoplot.idlsupport.ReadIDLSav</h2><p>Read data from IDL Save Files. This was written using http://www.physics.wisc.edu/~craigm/idl/savefmt/node20.html https://cow.physics.wisc.edu/~craigm/idl/savefmt.pdf and https://github.com/scipy/scipy/blob/master/scipy/io/idl.py for reference, and with no involvement from individuals at Harris Geospacial. No warranties are implied and this must be used at your own risk. <pre>{@code from org.autoplot.idlsupport import ReadIDLSav reader= ReadIDLSav() aFile= File('/tmp/aDataFile.sav') inChannel = aFile.getChannel fileSize = inChannel.size() buffer = ByteBuffer.allocate( inChannel.size() ) bytesRead= 0; while ( bytesRead<fileSize ) : bytesRead+= inChannel.read(buffer) v= reader.readVar( buffer, 'avar' ) }</pre></p> <h2>ReadIDLSav( )</h2> <p></p> <hr> <a name="TYPECODE_COMPLEX_FLOAT_SCALAR"></a> <h2>TYPECODE_COMPLEX_FLOAT_SCALAR</h2> <p></p> <hr> <a name="TYPECODE_BYTE"></a> <h2>TYPECODE_BYTE</h2> <p></p> <hr> <a name="TYPECODE_INT16"></a> <h2>TYPECODE_INT16</h2> <p></p> <hr> <a name="TYPECODE_INT32"></a> <h2>TYPECODE_INT32</h2> <p></p> <hr> <a name="TYPECODE_FLOAT"></a> <h2>TYPECODE_FLOAT</h2> <p></p> <hr> <a name="TYPECODE_DOUBLE"></a> <h2>TYPECODE_DOUBLE</h2> <p></p> <hr> <a name="TYPECODE_COMPLEX_FLOAT"></a> <h2>TYPECODE_COMPLEX_FLOAT</h2> <p></p> <hr> <a name="TYPECODE_STRING"></a> <h2>TYPECODE_STRING</h2> <p></p> <hr> <a name="TYPECODE_STRUCT"></a> <h2>TYPECODE_STRUCT</h2> <p></p> <hr> <a name="TYPECODE_COMPLEX_DOUBLE"></a> <h2>TYPECODE_COMPLEX_DOUBLE</h2> <p></p> <hr> <a name="TYPECODE_INT64"></a> <h2>TYPECODE_INT64</h2> <p></p> <hr> <a name="TYPECODE_UINT64"></a> <h2>TYPECODE_UINT64</h2> <p></p> <hr> <a name="checkMagic"></a> <h2>checkMagic</h2> checkMagic( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inChannel ) → boolean <p></p> <h3>Parameters</h3> inChannel - a FileChannel <h3>Returns:</h3> boolean <br><br> <a href="https://github.com/autoplot/dev/search?q=checkMagic&unscoped_q=checkMagic">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#checkMagic">[view on old javadoc]</a> <br> <br> <hr> <a name="decodeTypeCode"></a> <h2>decodeTypeCode</h2> decodeTypeCode( int typeCode ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> <p>return a string representing the type code, if supported.</p> <h3>Parameters</h3> typeCode - for example 4 which means float or 7 which means string. <h3>Returns:</h3> "float" or "string" or whatever the code is, or the numeric code if not supported. <br><br> <a href="https://github.com/autoplot/dev/search?q=decodeTypeCode&unscoped_q=decodeTypeCode">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#decodeTypeCode">[view on old javadoc]</a> <br> <br> <hr> <a name="isArray"></a> <h2>isArray</h2> isArray( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) → boolean <p>return true if the name refers to an array</p> <h3>Parameters</h3> in - ByteBuffer for the entire file <br> name - the variable name <h3>Returns:</h3> td.isStructure(); <br><br> <a href="https://github.com/autoplot/dev/search?q=isArray&unscoped_q=isArray">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#isArray">[view on old javadoc]</a> <br> <br> <hr> <a name="isStructure"></a> <h2>isStructure</h2> isStructure( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) → boolean <p>return true if the name refers to a structure</p> <h3>Parameters</h3> in - ByteBuffer for the entire file <br> name - the variable name <h3>Returns:</h3> true if the name refers to a structure <br><br> <a href="https://github.com/autoplot/dev/search?q=isStructure&unscoped_q=isStructure">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#isStructure">[view on old javadoc]</a> <br> <br> <hr> <a name="readArrayDataIntoArrayOfArrays"></a> <h2>readArrayDataIntoArrayOfArrays</h2> readArrayDataIntoArrayOfArrays( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/ArrayData.html'>org.autoplot.idlsupport.ReadIDLSav.ArrayData</a> data ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html'>Object</a> <p>read the data into 1-D and 2-D arrays. This is provided for reference, but can be extended to 3-D and higher arrays, if the need arrises.</p> <h3>Parameters</h3> data - a ReadIDLSav.ArrayData <h3>Returns:</h3> an Object <br><br> <a href="https://github.com/autoplot/dev/search?q=readArrayDataIntoArrayOfArrays&unscoped_q=readArrayDataIntoArrayOfArrays">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readArrayDataIntoArrayOfArrays">[view on old javadoc]</a> <br> <br> <hr> <a name="readFileIntoByteBuffer"></a> <h2>readFileIntoByteBuffer</h2> readFileIntoByteBuffer( <a href='https://docs.oracle.com/javase/8/docs/api/java/io/File.html'>java.io.File</a> f ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> <p></p> <h3>Parameters</h3> f - a File <h3>Returns:</h3> java.nio.ByteBuffer <br><br> <a href="https://github.com/autoplot/dev/search?q=readFileIntoByteBuffer&unscoped_q=readFileIntoByteBuffer">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readFileIntoByteBuffer">[view on old javadoc]</a> <br> <br> <hr> <a name="readFileIntoChannel"></a> <h2>readFileIntoChannel</h2> readFileIntoChannel( <a href='https://docs.oracle.com/javase/8/docs/api/java/io/File.html'>java.io.File</a> f ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> <p></p> <h3>Parameters</h3> f - a File <h3>Returns:</h3> java.nio.channels.FileChannel <br><br> <a href="https://github.com/autoplot/dev/search?q=readFileIntoChannel&unscoped_q=readFileIntoChannel">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readFileIntoChannel">[view on old javadoc]</a> <br> <br> <hr> <a name="readStructDesc"></a> <h2>readStructDesc</h2> readStructDesc( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> rec, long fileOffset ) → <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/StructDesc.html'>org.autoplot.idlsupport.ReadIDLSav.StructDesc</a> <p></p> <h3>Parameters</h3> rec - a ByteBuffer <br> fileOffset - a long <h3>Returns:</h3> org.autoplot.idlsupport.ReadIDLSav.StructDesc <br><br> <a href="https://github.com/autoplot/dev/search?q=readStructDesc&unscoped_q=readStructDesc">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readStructDesc">[view on old javadoc]</a> <br> <br> <hr> <a name="readTagDesc"></a> <h2>readTagDesc</h2> readTagDesc( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) → <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/TagDesc.html'>org.autoplot.idlsupport.ReadIDLSav.TagDesc</a> <p>scan through the IDLSav and retrieve information about the array.</p> <h3>Parameters</h3> in - the idlsav loaded into a ByteBuffer. <br> name - the name of the array <h3>Returns:</h3> an org.autoplot.idlsupport.ReadIDLSav.TagDesc <br><br> <a href="https://github.com/autoplot/dev/search?q=readTagDesc&unscoped_q=readTagDesc">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readTagDesc">[view on old javadoc]</a> <br> <br> readTagDesc( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inch, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) → <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/TagDesc.html'>org.autoplot.idlsupport.ReadIDLSav.TagDesc</a><br> <hr> <a name="readVar"></a> <h2>readVar</h2> readVar( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html'>Object</a> <p>scan through the IDLSav and return just the one variable.</p> <h3>Parameters</h3> in - the IDLSav mapped into a NIO ByteBuffer. <br> name - the variable name to look for. <h3>Returns:</h3> an Object <br><br> <a href="https://github.com/autoplot/dev/search?q=readVar&unscoped_q=readVar">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readVar">[view on old javadoc]</a> <br> <br> readVar( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inch, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html'>Object</a><br> <hr> <a name="readVarNames"></a> <h2>readVarNames</h2> readVarNames( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a> <p>list the names in the IDLSav file. This is only the supported variable types.</p> <h3>Parameters</h3> in - a ByteBuffer <h3>Returns:</h3> the names found. <br><br> <a href="https://github.com/autoplot/dev/search?q=readVarNames&unscoped_q=readVarNames">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readVarNames">[view on old javadoc]</a> <br> <br> readVarNames( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inChannel ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a><br> <hr> <a name="readVars"></a> <h2>readVars</h2> readVars( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a> <p></p> <h3>Parameters</h3> in - a ByteBuffer <h3>Returns:</h3> java.util.Map <br><br> <a href="https://github.com/autoplot/dev/search?q=readVars&unscoped_q=readVars">[search for examples]</a> <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a> <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readVars">[view on old javadoc]</a> <br> <br> readVars( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inChannel ) → <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a><br>