엄격한 이미지에 지리 참조 데이터 추가


10

.tiff파일에서 지리 참조 된 파일 을 만들고 싶습니다 .png. .tiff다음 명령 줄을 사용하여 .png를 일반 파일 로 변환합니다 .

convert image.png image.tiff

여기에서 모든 것이 잘 작동합니다. 유효한 .tiff파일이 있습니다. 그런 다음 지리 참조 데이터를 추가하고 싶습니다. 그렇게하기 위해이라는 도구를 찾았 tiff2geotiff습니다. 다음과 같이 사용하고 있습니다.

tiff2geotiff -4 "+proj=latlong +ellps=WGS84 +datum=WGS84 +no_defs" -c none -n "-122.5575664 38.5818201 -122.5449425 38.5896175" notgeoreferenced.tiff georeferenced.tiff

이것은 나에게주는 검은 이미지 QGIS 수입, 좋은 장소에 표시 벌금, 그것은합니다 (증거 사방에 검은 색의 점을 제외하고 지리 참조 데이터도 추가되었습니다가 ).

따라서 내가 할 때 :

gdalinfo georeferenced.tiff

나는 얻는다 :

Warning 1: TIFFReadDirectory:Bogus "StripByteCounts" field, ignoring and calculating from imagelength
Driver: GTiff/GeoTIFF
Files: araujo_tmp.tiff
Size is 1585, 979
Coordinate System is:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433],
    AUTHORITY["EPSG","4326"]]
Origin = (-122.557563781738281,38.589618682861328)
Pixel Size = (0.000007966552118,-0.000007972639275)
Metadata:
  AREA_OR_POINT=Area
  TIFFTAG_DOCUMENTNAME=georeferenced.tiff
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  (-122.5575638,  38.5896187) (122d33'27.23"W, 38d35'22.63"N)
Lower Left  (-122.5575638,  38.5818135) (122d33'27.23"W, 38d34'54.53"N)
Upper Right (-122.5449368,  38.5896187) (122d32'41.77"W, 38d35'22.63"N)
Lower Right (-122.5449368,  38.5818135) (122d32'41.77"W, 38d34'54.53"N)
Center      (-122.5512503,  38.5857161) (122d33' 4.50"W, 38d35' 8.58"N)
Band 1 Block=1585x1 Type=Byte, ColorInterp=Red
Band 2 Block=1585x1 Type=Byte, ColorInterp=Green
Band 3 Block=1585x1 Type=Byte, ColorInterp=Blue

첫 번째 경고가 문제 일 수 있다고 생각합니다 ...

이 작업을 수행하는 이유 또는 다른 방법을 알고있는 사람이 있습니까? 커맨드 라인 또는에서 솔루션을 찾고 PHP있습니다.

감사합니다 !


해결책

gdal_translate지리 참조 데이터를 .tiffimages에 추가 할 수 있다는 것을 알았 으므로 png에서 변환하고 지리 참조 데이터를 추가하는 명령 줄이 있습니다 ( llx ury urx lly물론 범위 ( ) 를 바꿔야 함 ).

gdal_translate -a_nodata 0 -of GTiff -a_srs EPSG:4326 -a_ullr llx ury urx lly pngfile.png tifffile.tiff

gdal php 바인딩이있는 경우 귀하의 질문에 대해 PHP는 현재 GDAL / OGR에서 올바르게 지원되지 않습니다. trac.osgeo.org/gdal/wiki/GdalOgrInPhp
nickves

답변:


7

오히려 사용하는 것보다 convert, 당신은 사용을 시도 할 수 있습니다 gdal_translateTIFF로 PNG로 변환하고 (당신은 티파니의 TFW 파일을 만든 가정) gdal_warp를 사용하여 지리 참조?


내가 지금 사용하는 명령 줄은 다음과 같습니다.gdal_translate -scale pngfile.png tifffile.tiff
Julien Fouilhé

5

이미지의 범위를 알고 있습니까? 이미지의 경계 좌표를 알고 있으면 -a_srs (투영을 지정) 및 -a_ullr (이는 경계 좌표)로 gdal_translate 할 수 있습니다. 나는 이것을 사용하여 저음 낚시 이미지의 .jpg를 저비용 낚시 소나 단위에서 지오 텍스로 변환했습니다.


1
그래서 당신은 이미지의 범위를 추가하기 위해 tiff2geotiff를 사용할 필요가 없다고 말하고 있습니다 (그렇습니다). :) 멋있는 ! 예, 설명서에서 tiff2geotiff 대신 사용하겠습니다. 감사합니다.
Julien Fouilhé

문제 없습니다. 도움이 될 것입니다.
Ryan Garnett
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.