Writes or changes a GeoKeys to an existing file.
Syntax
Parameters
- fileName
- A System.String that contains the filename.
- pageNumber
- 1-based index of the page at which to write the GeoKey.
- geoKey
- GeoKey to identify the data in the Geo TIFF file.
Example
This example will show all the geo keys in the given file then loads them and adds them to a destination file
Visual Basic | Copy Code |
---|
Private geoKeySrcFileName As String
Private geoKeyDestFileName As String
Private Sub WriteGeoKeyExample(ByVal srcFileName As String, ByVal destFileName As String)
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()
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.Buffer.Length)
' 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 |
---|
string geoKeySrcFileName;
string geoKeyDestFileName;
void WriteGeoKeyExample(string srcFileName, string destFileName)
{
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();
}
void codecs_MyGeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e)
{
Console.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);
// Write it to the destination file
Console.WriteLine("Wirting this GeoKey to the destination file");
codecs.WriteGeoKey(geoKeyDestFileName, 1, geoKey);
} |
SilverlightCSharp | Copy Code |
---|
Stream geoKeySrcStream;
Stream geoKeyDestStream;
void WriteGeoKeyExample(Stream inStreamGeyKey, Stream outStreamGeyKey)
{
RasterCodecs codecs = new RasterCodecs();
geoKeySrcStream = inStreamGeyKey;
geoKeyDestStream = outStreamGeyKey;
codecs.GeoKeyFound += new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound);
codecs.EnumGeoKeys(inStreamGeyKey, 1);
codecs.GeoKeyFound -= new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound);
}
void codecs_MyGeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e)
{
Debug.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.Buffer.Length);
// Load this GeoKey
RasterCodecs codecs = sender as RasterCodecs;
RasterTagMetadata geoKey = codecs.ReadGeoKey(geoKeySrcStream, 1, e.Id);
// Write it to the destination file
Debug.WriteLine("Wirting this GeoKey to the destination file");
codecs.WriteGeoKey(geoKeyDestStream, 1, geoKey);
} |
SilverlightVB | Copy Code |
---|
Private geoKeySrcStream As Stream
Private geoKeyDestStream As Stream
Private Sub WriteGeoKeyExample(ByVal inStreamGeyKey As Stream, ByVal outStreamGeyKey As Stream)
Dim codecs As RasterCodecs = New RasterCodecs()
geoKeySrcStream = inStreamGeyKey
geoKeyDestStream = outStreamGeyKey
AddHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFound
codecs.EnumGeoKeys(inStreamGeyKey, 1)
RemoveHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFound
End Sub
Private Sub codecs_MyGeyKeyFound(ByVal sender As Object, ByVal e As CodecsEnumGeoKeysEventArgs)
Debug.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.Buffer.Length)
' Load this GeoKey
Dim codecs As RasterCodecs = TryCast(sender, RasterCodecs)
Dim geoKey As RasterTagMetadata = codecs.ReadGeoKey(geoKeySrcStream, 1, e.Id)
' Write it to the destination file
Debug.WriteLine("Wirting this GeoKey to the destination file")
codecs.WriteGeoKey(geoKeyDestStream, 1, geoKey)
End Sub |
Remarks
Requirements
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
See Also