2012-04-20 5 views
1

GDAL 파이썬 바인딩을 사용하여 특정 tiff 태그 값을 업데이트하려고합니다. 4172 이미지 길이 : 3689 타일 폭 오프셋을 0x8 (8) 이미지 너비의gdal python 바인딩을 사용하여 GeoTiff 태그를 업데이트하는 방법은 무엇입니까?

TIFF 디렉토리 : 나 이미지의 태그 값을 읽을 수 있습니다 tiffinfo 사용 예를 들어

는,이 같은 것입니다 : 256 타일 길이 : 256 비트/샘플 8 샘플 형식 : 부호없는 정수 압축 반응식 : JPEG 광도계 해석 : 된 YCbCr 샘플/픽셀 3 평면 구성 : 단일 화상면 태그 33550 : 60.000000,60.000000,0.000000 태그 33922 : 0.000000,0.000000,0.0 00000588840.0000004880460.000000,0.000000 태그 34735 : 1,1,07102401110250111026347372202049,34737,7,22 , 2054019102307201326183076019001

새 이미지를 저장하지 않고 "태그 33922"를 다른 값으로 업데이트하고 싶습니다. 그러나 GDAL python API에서 태그 값을 업데이트하는 메소드를 찾을 수 없습니다.

GDAL 파이썬 바인딩에서 지원되지 않는 항목이 있습니까?

감사 지에

답변

0

덕분에 나에게 파이썬에서 libtiff 래퍼를 보여주는 cgohlke. LibTiff.Net API를 사용하여 C# 코드를 작성했습니다. 다음과 같이 보입니다 :

using (Tiff image = Tiff.Open(filePaths[i], "a")) 
{   
    image.SetDirectory(0); 

    // read auto-registered tag 33922 
    FieldValue[] value = image.GetField((TiffTag)33922); 
    int count = value[0].ToInt(); 
    double[] array = value[1].ToDoubleArray(); 
    System.Console.Out.WriteLine("Tag 33922 value(s) are as follows:"); 
    System.Console.Out.WriteLine(string.Join(",", array)); 

    double[] newarray = { 0.5, 0.5, 0, array[3], array[4], array[5] }; 
    image.SetField((TiffTag)33922, 6, newarray); 

    System.Console.Out.WriteLine("Tag 33922 value(s) have been updated to:"); 
    System.Console.Out.WriteLine(string.Join(",", newarray)); 

    // Write the information to the file 
    image.CheckpointDirectory(); 
} 
+0

파이썬 Gdal 라이브러리를 사용하여 동일한 해결책을 찾는 데 필요한 단서는 없습니까? –

관련 문제