Leadtools.Codecs Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.17
WriteGeoKey Method
See Also  Example
Leadtools.Codecs Namespace > RasterCodecs Class : WriteGeoKey Method




Writes or changes a GeoKeys to an existing file.

Overload List

OverloadDescription
WriteGeoKey(String,Int32,RasterTagMetadata) Writes or changes a GeoKeys to an existing file.  
WriteGeoKey(Stream,Int32,RasterTagMetadata) Writes or changes a GeoKeys to an existing stream.  

Example

Visual BasicCopy Code
RasterCodecs.WriteGeoKey
      Private geoKeySrcFileName As String
      Private geoKeyDestFileName As String

      Private Sub WriteGeoKeyExample(ByVal srcFileName As String, ByVal destFileName As String)
         RasterCodecs.Startup()
         Dim codecs As RasterCodecs = New RasterCodecs()

         geoKeySrcFileName = srcFileName
         geoKeyDestFileName = destFileName

         AddHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFound
         codecs.EnumGeoKeys(srcFileName, 1)
         RemoveHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFound

         ' Clean up
         codecs.Dispose()
         RasterCodecs.Shutdown()
      End Sub

      Private Sub codecs_MyGeyKeyFound(ByVal sender As Object, ByVal e As CodecsEnumGeoKeysEventArgs)
         Console.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.DataLength)

         ' Load this GeoKey
         Dim codecs As RasterCodecs = TryCast(sender, RasterCodecs)
         Dim geoKey As RasterTagMetadata = codecs.ReadGeoKey(geoKeySrcFileName, 1, e.Id)

         ' Write it to the destination file
         Console.WriteLine("Wirting this GeoKey to the destination file")
         codecs.WriteGeoKey(geoKeyDestFileName, 1, geoKey)
      End Sub
C#Copy Code
RasterCodecs.WriteGeoKey 
      string geoKeySrcFileName; 
      string geoKeyDestFileName; 
 
      void WriteGeoKeyExample(string srcFileName, string destFileName) 
      { 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
 
         geoKeySrcFileName = srcFileName; 
         geoKeyDestFileName = destFileName; 
 
         codecs.GeoKeyFound += new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound); 
         codecs.EnumGeoKeys(srcFileName, 1); 
         codecs.GeoKeyFound -= new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound); 
 
         // Clean up 
         codecs.Dispose(); 
         RasterCodecs.Shutdown(); 
      } 
 
      void codecs_MyGeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e) 
      { 
         Console.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.DataLength); 
 
         // Load this GeoKey 
         RasterCodecs codecs = sender as RasterCodecs; 
         RasterTagMetadata geoKey = codecs.ReadGeoKey(geoKeySrcFileName, 1, e.Id); 
 
         // Write it to the destination file 
         Console.WriteLine("Wirting this GeoKey to the destination file"); 
         codecs.WriteGeoKey(geoKeyDestFileName, 1, geoKey); 
      }

Remarks

This method writes to or changes the GeoKeys in an existing file.

This method works only with TIFF files. If you also want to write the other TIFF tags and comments, use WriteMarkers instead.

Note: Use this method carefully. LEADTOOLS will not restrict the GeoKeys that you write. If you write bad GeoKeys, the file might become corrupted. Consult the GeoTIFF specification documentation for a list of GeoKeys.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also