예제 #1
0
 public GPSDirectoryEntry(FileReader aPefFile)
 {
     mPefFile    = aPefFile;
     mTagID      = mPefFile.ReadUI2();
     mFieldType  = new TIFFValueType((TIFFValueTypes)mPefFile.ReadUI2());
     mValueCount = mPefFile.ReadUI4();
     mOffset     = mPefFile.ReadUI4();
 }
예제 #2
0
 protected GPSDirectoryEntry(FileReader aPefFile, ushort aTagID)
 {
     mPefFile    = aPefFile;
     mTagID      = aTagID;
     mFieldType  = new TIFFValueType((TIFFValueTypes)mPefFile.ReadUI2());
     mValueCount = mPefFile.ReadUI4();
     mOffset     = mPefFile.ReadUI4();
 }
예제 #3
0
 public ImageFileDirectory(FileReader aPefFile)
 {
     mPefFile    = aPefFile;
     mEntries    = new List <ImageFileDirectoryEntry>();
     mEntryCount = mPefFile.ReadUI2();
     for (ushort i = 0; i < mEntryCount; i++)
     {
         ImageFileDirectoryEntry entry = ImageFileDirectoryEntry.CreateImageFileDirectoryEntry(mPefFile);
         mEntries.Add(entry);
     }
 }
예제 #4
0
        public static GPSDirectoryEntry CreateGPSDirectoryEntry(FileReader aPefFile)
        {
            ushort tagID = aPefFile.ReadUI2();

            switch (tagID)
            {
            case GPSVersionID.TagID:
                return(new GPSVersionID(aPefFile, tagID));

            case GPSLatitudeRef.TagID:
                return(new GPSLatitudeRef(aPefFile, tagID));

            case GPSLatitude.TagID:
                return(new GPSLatitude(aPefFile, tagID));

            case GPSLongitudeRef.TagID:
                return(new GPSLongitudeRef(aPefFile, tagID));

            case GPSLongitude.TagID:
                return(new GPSLongitude(aPefFile, tagID));

            case GPSAltitudeRef.TagID:
                return(new GPSAltitudeRef(aPefFile, tagID));

            case GPSAltitude.TagID:
                return(new GPSAltitude(aPefFile, tagID));

            case GPSTimeStamp.TagID:
                return(new GPSTimeStamp(aPefFile, tagID));

            case GPSSatellites.TagID:
                return(new GPSSatellites(aPefFile, tagID));

            case GPSStatus.TagID:
                return(new GPSStatus(aPefFile, tagID));

            case GPSMeasureMode.TagID:
                return(new GPSMeasureMode(aPefFile, tagID));

            case GPSDOP.TagID:
                return(new GPSDOP(aPefFile, tagID));

            case GPSSpeedRef.TagID:
                return(new GPSSpeedRef(aPefFile, tagID));

            case GPSSpeed.TagID:
                return(new GPSSpeed(aPefFile, tagID));

            case GPSTrackRef.TagID:
                return(new GPSTrackRef(aPefFile, tagID));

            case GPSTrack.TagID:
                return(new GPSTrack(aPefFile, tagID));

            case GPSImgDirectionRef.TagID:
                return(new GPSImgDirectionRef(aPefFile, tagID));

            case GPSImgDirection.TagID:
                return(new GPSImgDirection(aPefFile, tagID));

            case GPSMapDatum.TagID:
                return(new GPSMapDatum(aPefFile, tagID));

            case GPSDestLatitudeRef.TagID:
                return(new GPSDestLatitudeRef(aPefFile, tagID));

            case GPSDestLatitude.TagID:
                return(new GPSDestLatitude(aPefFile, tagID));

            case GPSDestLongitudeRef.TagID:
                return(new GPSDestLongitudeRef(aPefFile, tagID));

            case GPSDestLongitude.TagID:
                return(new GPSDestLongitude(aPefFile, tagID));

            case GPSDestBearingRef.TagID:
                return(new GPSDestBearingRef(aPefFile, tagID));

            case GPSDestBearing.TagID:
                return(new GPSDestBearing(aPefFile, tagID));

            case GPSDestDistanceRef.TagID:
                return(new GPSDestDistanceRef(aPefFile, tagID));

            case GPSDestDistance.TagID:
                return(new GPSDestDistance(aPefFile, tagID));

            case GPSProcessingMethod.TagID:
                return(new GPSProcessingMethod(aPefFile, tagID));

            case GPSAreaInformation.TagID:
                return(new GPSAreaInformation(aPefFile, tagID));

            case GPSDateStamp.TagID:
                return(new GPSDateStamp(aPefFile, tagID));

            case GPSDifferential.TagID:
                return(new GPSDifferential(aPefFile, tagID));

            default:
                return(new GPSDirectoryEntry(aPefFile, tagID));
            }
        }