LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

GeoKeysプロパティ








Geo TIFFファイルを読み書きする際に使われるGeoKeysのコレクション。
構文
public RasterCollection<RasterTagMetadata> GeoKeys {get;}
'Declaration
 
Public ReadOnly Property GeoKeys As RasterCollection(Of RasterTagMetadata)
'Usage
 
Dim instance As RasterImage
Dim value As RasterCollection(Of RasterTagMetadata)
 
value = instance.GeoKeys
public RasterCollection<RasterTagMetadata> GeoKeys {get;}
@property (nonatomic, assign, readonly, nullable) NSMutableArray<LTRasterTagMetadata *> *geoKeys;
public RasterCollection<RasterTagMetadata> getGeoKeys()
 get_GeoKeys(); 

属性値

RasterTagMetadata GeoKeysのコレクションは、Geo TIFFを読み書きすることがファイルする時を使いました。
解説

GeoTIFFファイルは、image場所を説明している2、3の追加のTIFFタグを格納しているTIFFファイル、ピクチャがとられたscaleと地形学のアプリケーションに役立つ多くの他の情報です。

GeoKeyデータをクリアするまで、保存する任意のGeoTIFFファイルはGeoKeyデータセットを含みます。ファイルにこのデータを保存するために、RasterImageFormat.GeoTiffファイルを保存します。

詳細については、「GeoKeyの実装(GeoTIFFタグ)」を参照してください。

直接GeoKeyデータを既存ファイルへ書き込むために、RasterCodecs.WriteGeoKeyを呼び出します。LEADTOOLSが設定したGeoKeysの妥当性を確かめないことに注意すべきです。GeoTIFF仕様に従って正しい値を書き込むことを確認することは、責任です。

このコレクションにRasterTagMetadataオブジェクトを追加または削除することによって、imageのGeoKeysを操作することができます。

RasterCodecs.Saveを呼び出す前にCodecsSaveOptions.GeoKeysプロパティをtrueに設定することによって、imageがファイルに保存されるとき、このコレクションでGeoKeysを保存することができます。

RasterCodecs.Loadを呼び出す前にCodecsLoadOptions.Markersプロパティをtrueに設定することによって、imageがファイルからロードされるとき、すべてのマーカー(任意であるならば)をこのコレクションへロードすることができます。

既存ファイルで保存されるGeoKeysをロードするために既存ファイルとRasterCodecs.EnumGeoKeysに直接GeoKeysタグを保存するために、RasterCodecs.WriteGeoKeysメソッドを使うことができます。

GeoKeysの詳細については、「GeoKeyの実装(GeoTIFFタグ)」を参照してください。

詳細については、「非画像データ」を参照してください。

サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Controls
Imports Leadtools.Dicom
Imports Leadtools.Drawing
Imports Leadtools.Svg

Private Sub DisplayGeoKey(ByVal key As RasterTagMetadata)
   Select Case key.DataType
      Case RasterTagMetadataDataType.Ascii
         MessageBox.Show("Key " & key.Id.ToString() & " = " & key.ToAscii())
      Case RasterTagMetadataDataType.Byte
         MessageBox.Show("Key " & key.Id.ToString() & " = " & key.ToByte()(0).ToString())
   End Select
End Sub
      
Public Sub GeoKeysExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"))
   ' Ascii
   Dim keyDataAscii As RasterTagMetadata = New RasterTagMetadata()
   ' set the GTCitationGeoKey key, for more info, refer to the Geo TIFF spec.
   keyDataAscii.Id = 1026
   keyDataAscii.DataType = RasterTagMetadataDataType.Ascii
   keyDataAscii.FromAscii("Test String")
   image.GeoKeys.Add(keyDataAscii)

   codecs.Options.Save.GeoKeys = True
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_GEOKEY.TIF"), RasterImageFormat.GeoTiff, 0)

   ' load the GeoKeys together with the image
   Dim key As RasterTagMetadata = codecs.ReadGeoKey(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_GEOKEY.TIF"), 1, keyDataAscii.Id)
   DisplayGeoKey(key)

   codecs.Dispose()
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;
using Leadtools.Drawing;
using Leadtools.Controls;
using Leadtools.Svg;

private void DisplayGeoKey(RasterTagMetadata key)
{
   switch(key.DataType)
   {
      case RasterTagMetadataDataType.Ascii:
         MessageBox.Show("Key " + key.Id.ToString() + " = " + key.ToAscii());
         break;
      case RasterTagMetadataDataType.Byte:
         MessageBox.Show("Key " + key.Id.ToString() + " = " + key.ToByte()[0].ToString());
         break;
   }
}
      
public void GeoKeysExample()
{
   RasterCodecs codecs = new RasterCodecs();
   RasterImage image = codecs.Load(Path.Combine(ImagesPath.Path, "IMAGE1.CMP"));
   // Ascii
   RasterTagMetadata keyDataAscii = new RasterTagMetadata();
   // set the GTCitationGeoKey key, for more info, refer to the Geo TIFF spec.
   keyDataAscii.Id = 1026;
   keyDataAscii.DataType = RasterTagMetadataDataType.Ascii;
   keyDataAscii.FromAscii("Test String");
   image.GeoKeys.Add(keyDataAscii);

   codecs.Options.Save.GeoKeys = true;
   codecs.Save(image, Path.Combine(ImagesPath.Path, "IMAGE1_GEOKEY.TIF"), RasterImageFormat.GeoTiff, 0);

   // load the GeoKeys together with the image
   RasterTagMetadata key = codecs.ReadGeoKey(Path.Combine(ImagesPath.Path, "IMAGE1_GEOKEY.TIF"), 1, keyDataAscii.Id);
   DisplayGeoKey(key);

   codecs.Dispose();
}
function DisplayGeoKey(key)
{
   switch (key.dataType)
   {
      case Leadtools.RasterTagMetadataDataType.ascii:
         console.info("Key " + key.id.toString() + " = " + key.toAscii());
         break;
         
      case Leadtools.RasterTagMetadataDataType.byte:
         console.info("Key " + key.id.toString() + " = " + key.toByte()[0].toString());
         break;
   }
}


RasterImageExamples.prototype.GeoKeysExample = function () {
   Tools.SetLicense();
   with (Leadtools) {
      with (Leadtools.Codecs) {
         var codecs = new RasterCodecs();
         var srcFileName = "Assets\\Image1.cmp";
         var image;
         var keyDataAscii;
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         })
               .then(function (img) {
                  image = img;

                  // Ascii
                  keyDataAscii = new RasterTagMetadata();
                  // set the GTCitationGeoKey key, for more info, refer to the Geo TIFF spec.
                  keyDataAscii.id = 1026;
                  keyDataAscii.dataType = RasterTagMetadataDataType.ascii;
                  keyDataAscii.fromAscii("Test String");
                  image.geoKeys.append(keyDataAscii);

                  codecs.options.save.geoKeys = true;
                  return Tools.AppLocalFolder().createFileAsync("IMAGE1_GEOKEY.TIF")
               })
               .then(function (saveFile) {
                  var saveStream = LeadStreamFactory.create(saveFile);
                  return codecs.saveAsync(image, saveStream, RasterImageFormat.geoTiff, 0)
               })
               .then(function () {

                  // load the GeoKeys together with the image
                  return Tools.AppLocalFolder().getFileAsync("IMAGE1_GEOKEY.TIF")
               })
               .then(function (loadFile) {
                  return codecs.readGeoKeyAsync(LeadStreamFactory.create(loadFile), 1, keyDataAscii.id)
               })
               .then(function (key) {
                  DisplayGeoKey(key);
                  image.close();
                  codecs.close();
               });
      }
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;

private void DisplayGeoKey(RasterTagMetadata key)
{
   switch (key.DataType)
   {
      case RasterTagMetadataDataType.Ascii:
         Debug.WriteLine("Key " + key.Id.ToString() + " = " + key.ToAscii());
         break;
      case RasterTagMetadataDataType.Byte:
         Debug.WriteLine("Key " + key.Id.ToString() + " = " + key.ToByte()[0].ToString());
         break;
   }
}
      
public async Task GeoKeysExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
   // Ascii
   RasterTagMetadata keyDataAscii = new RasterTagMetadata();
   // set the GTCitationGeoKey key, for more info, refer to the Geo TIFF spec.
   keyDataAscii.Id = 1026;
   keyDataAscii.DataType = RasterTagMetadataDataType.Ascii;
   keyDataAscii.FromAscii("Test String");
   image.GeoKeys.Add(keyDataAscii);

   codecs.Options.Save.GeoKeys = true;
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync("IMAGE1_GEOKEY.TIF");
   ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
   await codecs.SaveAsync(image, saveStream, RasterImageFormat.GeoTiff, 0);

   // load the GeoKeys together with the image
   loadFile = await Tools.AppLocalFolder.GetFileAsync("IMAGE1_GEOKEY.TIF");
   RasterTagMetadata key = await codecs.ReadGeoKeyAsync(LeadStreamFactory.Create(loadFile), 1, keyDataAscii.Id);
   DisplayGeoKey(key);

   codecs.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Dicom;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;
using Leadtools.Windows.Media;

private void DisplayGeoKey(RasterTagMetadata key)
{
   switch (key.DataType)
   {
      case RasterTagMetadataDataType.Ascii:
         Debug.WriteLine("Key " + key.Id.ToString() + " = " + key.ToAscii());
         break;
      case RasterTagMetadataDataType.Byte:
         Debug.WriteLine("Key " + key.Id.ToString() + " = " + key.ToByte()[0].ToString());
         break;
   }
}
public void GeoKeysExample(RasterImage image, Stream destStream)
{
   // Ascii
   RasterTagMetadata keyDataAscii = new RasterTagMetadata();
   // set the GTCitationGeoKey key, for more info, refer to the Geo TIFF spec.
   keyDataAscii.Id = 1026;
   keyDataAscii.DataType = RasterTagMetadataDataType.Ascii;
   keyDataAscii.FromAscii("Test String");
   image.GeoKeys.Add(keyDataAscii);
   RasterCodecs codecs = new RasterCodecs();
   codecs.Options.Save.GeoKeys = true;
   codecs.Save(image, destStream, RasterImageFormat.GeoTiff, 0);

   // load the GeoKeys together with the image
   RasterTagMetadata key = codecs.ReadGeoKey(destStream, 1, keyDataAscii.Id);
   DisplayGeoKey(key);
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Dicom
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Windows.Media

Private Sub DisplayGeoKey(ByVal key As RasterTagMetadata)
   Select Case key.DataType
      Case RasterTagMetadataDataType.Ascii
         Debug.WriteLine("Key " & key.Id.ToString() & " = " & key.ToAscii())
      Case RasterTagMetadataDataType.Byte
         Debug.WriteLine("Key " & key.Id.ToString() & " = " & key.ToByte()(0).ToString())
   End Select
End Sub
Public Sub GeoKeysExample(ByVal image As RasterImage, ByVal destStream As Stream)
   ' Ascii
   Dim keyDataAscii As RasterTagMetadata = New RasterTagMetadata()
   ' set the GTCitationGeoKey key, for more info, refer to the Geo TIFF spec.
   keyDataAscii.Id = 1026
   keyDataAscii.DataType = RasterTagMetadataDataType.Ascii
   keyDataAscii.FromAscii("Test String")
   image.GeoKeys.Add(keyDataAscii)
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Options.Save.GeoKeys = True
   codecs.Save(image, destStream, RasterImageFormat.GeoTiff, 0)

   ' load the GeoKeys together with the image
   Dim key As RasterTagMetadata = codecs.ReadGeoKey(destStream, 1, keyDataAscii.Id)
   DisplayGeoKey(key)
End Sub
必要条件

ターゲットプラットホーム

参照

参照

RasterImageクラス
RasterImageメンバ