3

モザイクを作成しようとしていますが、画像の一部を透明として扱うためにNoDataValue機能を使用しています。ただし、GDALが期待どおりに機能していないようです。

また、vrtデータセットとgdal_translateを使用して非常に単純なテストケースを作成しました。同じ結果が得られます(つまり、2番目の画像が1番目の画像の上に描画され、「透明な領域」は無視されます)

黒の背景(黒は正確に0に等しい)の上に白のマーキング(ファイルごとに異なる)が付いた100X100の画像ファイルを作成する必要があります。単純なvrtファイルを作成しました。

<VRTDataset rasterXSize="100" rasterYSize="100">
  <VRTRasterBand dataType="Byte" band="1">
    <ColorInterp>Gray</ColorInterp>
    <SimpleSource>
      <SourceFilename relativeToVRT="1">a1.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SrcRect xOff="0" yOff="0" xSize="100" ySize="100"/>
      <DstRect xOff="0" yOff="0" xSize="100" ySize="100"/>
      <HideNoDataValue>1</HideNoDataValue>
      <NoDataValue>0</NoDataValue>
    </SimpleSource>
    <SimpleSource>
      <SourceFilename relativeToVRT="1">a2.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SrcRect xOff="0" yOff="0" xSize="100" ySize="100"/>
      <DstRect xOff="0" yOff="0" xSize="100" ySize="100"/>
      <HideNoDataValue>1</HideNoDataValue>
      <NoDataValue>0</NoDataValue>
    </SimpleSource>
  </VRTRasterBand>
</VRTDataset>

そして私はコマンドを実行します:

gdal_translate mosaic.vrt mosaic.tif

a2.tif結果は、との組み合わせではなく、画像と同じにa1.tifなりますa2.tif

gdal1.8と1.9を使用してエラーが発生しました

何か案は?

4

1 に答える 1

2

Even Rouaultからgdal-devリストで回答を得ました

いくつかのエラー:

  1. NoDataValueand要素は、要素のHideNoDataValue下でのみ有効であり 、VRTRasterBandSimpleSource

  2. に変更SimpleSourceし、その中に要素ComplexSourceを追加します。<NODATA>0</NODATA>(基本的に、現在の名前 NoDataValueNODATA.

于 2012-02-29T19:16:06.120 に答える