Пример #1
0
        private void parseFileHeaderInfo(java.nio.ByteBuffer buffer)
        {
            this.headerID             = NITFSUtil.getString(buffer, 0, 4);
            this.version              = NITFSUtil.getString(buffer, 5);
            this.isVersion0210        = "02.10".Equals(version);
            this.complexityLevel      = NITFSUtil.getShortNumeric(buffer, 2);
            this.specialType          = NITFSUtil.getString(buffer, 4);          // offset  11, size 4
            this.originationStationId = NITFSUtil.getString(buffer, 10);         // offset  15, size 10
            this.dateTime             = NITFSUtil.getString(buffer, 14);         // offset  25, size 14
            this.title = NITFSUtil.getString(buffer, 80);                        // offset  39, size 80

            this.FSCLAS = NITFSUtil.getString(buffer, 1);                        // offset 119, size 1
            this.FSCLSY = (isVersion0210 ? NITFSUtil.getString(buffer, 2) : ""); // offset 120, size 2
            this.FSCODE = NITFSUtil.getString(buffer, isVersion0210 ? 11 : 40);
            this.FSCTLH = NITFSUtil.getString(buffer, isVersion0210 ? 2 : 40);
            this.FSREL  = NITFSUtil.getString(buffer, isVersion0210 ? 20 : 40);

            this.FSDCTP = (isVersion0210 ? NITFSUtil.getString(buffer, 2) : "");
            this.FSDCDT = (isVersion0210 ? NITFSUtil.getString(buffer, 8) : "");   // offset 157/
            this.FSDCXM = (isVersion0210 ? NITFSUtil.getString(buffer, 4) : "");   // offset 165/
            this.FSDG   = (isVersion0210 ? NITFSUtil.getString(buffer, 1) : "");   // offset 169/
            this.FSDGDT = (isVersion0210 ? NITFSUtil.getString(buffer, 8) : "");   // oofset 170/
            this.FSCLTX = (isVersion0210 ? NITFSUtil.getString(buffer, 43) : "");  // offset 178/
            this.FSCATP = (isVersion0210 ? NITFSUtil.getString(buffer, 1) : "");   // offset 221/

            this.FSCAUT = NITFSUtil.getString(buffer, isVersion0210 ? 40 : 20);    // offset 222/240

            this.FSCRSN = (isVersion0210 ? NITFSUtil.getString(buffer, 1) : "");   // offset 262/
            this.FSSRDT = (isVersion0210 ? NITFSUtil.getString(buffer, 8) : "");   // offset 263/
            this.FSCTLN = NITFSUtil.getString(buffer, isVersion0210 ? 15 : 20);    // offset 271/260
            this.FSDWNG = (isVersion0210) ? "" : NITFSUtil.getString(buffer, 6);   // offset    /280

            this.FSDEVT = (!isVersion0210 && "999998".Equals(FSDWNG))              // offset    /286
                            ? NITFSUtil.getString(buffer, 40) : "";

            this.FSCOP  = NITFSUtil.getString(buffer, 5);                             // offset 286/+40
            this.FSCPYS = NITFSUtil.getString(buffer, 5);                             // offset 291/+40
            this.ENCRYP = NITFSUtil.getString(buffer, 1);                             // offset 296/+40

            this.FBKGC  = (isVersion0210 ? NITFSUtil.getString(buffer, 297, 3) : ""); // offset 297/
            this.ONAME  = NITFSUtil.getString(buffer, isVersion0210 ? 24 : 27);       // offset 300/297(+40)
            this.OPHONE = NITFSUtil.getString(buffer, 18);                            // offset 324(+40)

            this.fileLength   = NITFSUtil.getNumeric(buffer, 12);                     // offset 342(+40)
            this.headerLength = NITFSUtil.getNumeric(buffer, 6);                      // offset 352(+40)
        }
Пример #2
0
        public NITFSImageBand(java.nio.ByteBuffer buffer)
        {
            this.representation = NITFSUtil.getString(buffer, 2);
            this.significanceForImageCategory = NITFSUtil.getString(buffer, 6);
            this.imageFilterCondition         = NITFSUtil.getString(buffer, 1);
            this.stdImageFilterCode           = NITFSUtil.getString(buffer, 3);
            this.numOfLookupTables            = NITFSUtil.getShortNumeric(buffer, 1);
            this.numOfLookupTableEntries      = NITFSUtil.getShortNumeric(buffer, 5);
            if (0 < this.numOfLookupTables && 0 < this.numOfLookupTableEntries)
            {
                this.lut = new byte[this.numOfLookupTables][this.numOfLookupTableEntries];
                for (int j = 0; j < this.numOfLookupTables; j++)
                {
                    buffer.get(this.lut[j], 0, this.numOfLookupTableEntries);
                }
            }

            this.isGrayImage         = (1 == this.numOfLookupTables);
            this.hasTransparentEntry = (217 == this.numOfLookupTableEntries);
        }