←Select platform

EnumGeoKeys(string,int) Method

Enumerates all the GeoKeys in a Geo TIFF file.
public void EnumGeoKeys( 
   string fileName, 
   int pageNumber 
- (BOOL)enumerateGeoKeysInFile:(NSString *)file  
                      callback:(void (^)(LTCodecsEnumGeoKeysEventArgs *geoKeyInfo))handler  
                         error:(NSError **)error 
void EnumGeoKeys(  
   String^ fileName, 
   int pageNumber 


A String containing the input file name.

1-based index of the page from which to enumerate the tags.


To enumerate all the keys stored in a stream, use EnumGeoKeys.

For multipage Geo TIFF files, you can enumerate the GeoKeys from a particular page. Specify the page number whose GeoKeys to enumerate.

The GeoKeyFound event is called for each GeoKey value stored in the three standard Geo TIFF tags (34735, 34736 and 34737). For enumerating the other standard Geo TIFF data stored as separate tags, you can use EnumTags. Or, you can call ReadTag for each of these tags (since there are not that many of them to warrant the use of EnumTags).

For more information, refer toImplementing GeoKeys (GeoTIFF tags).


This example will show all the GeoKeys in the given file and then load them and add them to a destination file

using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
IList<RasterTagMetadata> myGeoKeys; 
void EnumGeoKeysExample(string srcFileName, string destFileName) 
   RasterCodecs codecs = new RasterCodecs(); 
   geoKeySrcFileName = srcFileName; 
   myGeoKeys = new List<RasterTagMetadata>(); 
   codecs.GeoKeyFound += new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_GeyKeyFound); 
   codecs.EnumGeoKeys(srcFileName, 1); 
   codecs.GeoKeyFound -= new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_GeyKeyFound); 
   // We read all the tags now, save them to the file 
   Debug.WriteLine("{0} GeoKeys read, saving them to the destination file", myGeoKeys.Count); 
   codecs.WriteGeoKeys(destFileName, 1, myGeoKeys); 
   // Clean up 
void codecs_GeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e) 
   Debug.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, Data Length={3}, Data=", e.Id, e.Count, e.MetadataType, e.Buffer.Length); 
   // Load this GeoKey 
   RasterCodecs codecs = sender as RasterCodecs; 
   RasterTagMetadata geoKey = codecs.ReadGeoKey(geoKeySrcFileName, 1, e.Id); 
   byte[] data = geoKey.GetData(); 
   for (int i = 0; i < data.Length; i++) 
      Debug.WriteLine("{0:X} ", data[i].ToString()); 
   // Add it to our collection 

Target Platforms

Help Version 22.0.2022.10.14
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2022 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2022 LEAD Technologies, Inc. All Rights Reserved.