Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.8.30
|
Leadtools.Codecs Namespace > RasterCodecs Class > WriteGeoKey Method : WriteGeoKey(String,Int32,RasterTagMetadata) Method |
public void WriteGeoKey( string fileName, int pageNumber, RasterTagMetadata geoKey )
'Declaration
Public Overloads Sub WriteGeoKey( _ ByVal fileName As String, _ ByVal pageNumber As Integer, _ ByVal geoKey As RasterTagMetadata _ )
'Usage
Dim instance As RasterCodecs Dim fileName As String Dim pageNumber As Integer Dim geoKey As RasterTagMetadata instance.WriteGeoKey(fileName, pageNumber, geoKey)
public void WriteGeoKey( string fileName, int pageNumber, RasterTagMetadata geoKey )
- (BOOL)writeGeoKey:(nullable LTRasterTagMetadata *)geoKey toFile:(NSString *)file pageNumber:(NSInteger)pageNumber error:(NSError **)error
function Leadtools.Codecs.RasterCodecs.WriteGeoKey(String,Int32,RasterTagMetadata)( fileName , pageNumber , geoKey )
public: void WriteGeoKey( String^ fileName, int pageNumber, RasterTagMetadata^ geoKey )
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.
Some restrictions apply to this function if you use an IFD to indicate to which page to write the GeoKey. See the Loading and Saving Large TIFF / BigTIFF Files topic for more information.
This example will show all the GeoKeys in the given file and then load them and add them to a destination file
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Color Imports Leadtools.Drawing Imports Leadtools.Svg 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
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; using Leadtools.Svg; 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); }
var geoKeySrcFileName; var geoKeyDestFileName; RasterCodecsExamples.prototype.WriteGeoKeyExample = function () { Tools.SetLicense(); with (Leadtools) { with (Leadtools.Codecs) { var srcFileName = "Assets\\Utm2gtif.tif"; var destFileName = "WriteGeoKey.tif"; var codecs = new RasterCodecs(); Leadtools.RasterSupport.initialize(); codecs.eventsDispatchMode = Leadtools.LeadEventsDispatchMode.useCoreDispatcher; geoKeySrcFileName = srcFileName; geoKeyDestFileName = destFileName; return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { codecs.addEventListener("geokeyfound", codecs_MyGeyKeyFound); return codecs.enumGeoKeysAsync(LeadStreamFactory.create(loadFile), 1) }) .then(function () { codecs.removeEventListener("geokeyfound", codecs_MyGeyKeyFound); // Clean up codecs.close(); }); } } } function codecs_MyGeyKeyFound(e) { Tools.SetLicense(); with (Leadtools) { with (Leadtools.Codecs) { console.info("GeoKey: Id=", e.id, ", Count=", e.count, ", Type=", e.metadataType, ", Data Length=", e.buffer.length, ", Data="); var codecs = e.target; var geoKey; // Load this GeoKey return Tools.AppInstallFolder().getFileAsync(geoKeySrcFileName).then(function (loadFile) { return codecs.readGeoKeyAsync(LeadStreamFactory.create(loadFile), 1, e.id) }) .then(function (geoKeyX) { geoKey = geoKeyX; // Write it to the destination file console.info("Writing this GeoKey to the destination file"); return Tools.AppLocalFolder().createFileAsync(geoKeyDestFileName) }) .then(function (saveFile) { return codecs.writeGeoKeyAsync(LeadStreamFactory.create(saveFile), 1, geoKey) }); } } }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; string geoKeySrcFileName; string geoKeyDestFileName; async Task WriteGeoKeyExample(string srcFileName, string destFileName) { RasterCodecs codecs = new RasterCodecs(); geoKeySrcFileName = srcFileName; geoKeyDestFileName = destFileName; StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); codecs.GeoKeyFound += new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound); await codecs.EnumGeoKeysAsync(LeadStreamFactory.Create(loadFile), 1); codecs.GeoKeyFound -= new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound); // Clean up codecs.Dispose(); } void codecs_MyGeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e) { Debug.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, Data Length={3}", e.Id, e.Count, e.MetadataType, e.Buffer.Length); }
using Leadtools; using Leadtools.Codecs; using Leadtools.Examples; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; using Leadtools.Windows.Media; 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); }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Color Imports Leadtools.Windows.Media 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