Otrzymałem od kogoś plik tiff, ale nie jestem pewien, czy jest on georeferencyjny. Czy można to łatwo sprawdzić?
Otrzymałem od kogoś plik tiff, ale nie jestem pewien, czy jest on georeferencyjny. Czy można to łatwo sprawdzić?
Odpowiedzi:
Wygląda na to, że gdalinfo powie ci:
Figura niegeoreferencyjna wyeksportowana z układu ArcMap:
C:\Temp>gdalinfo figure1.tif
Driver: GTiff/GeoTIFF
Files: figure1.tif
Size is 244, 210
Coordinate System is `'
Metadata:
TIFFTAG_XRESOLUTION=96
TIFFTAG_YRESOLUTION=96
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 210.0)
Upper Right ( 244.0, 0.0)
Lower Right ( 244.0, 210.0)
Center ( 122.0, 105.0)
Band 1 Block=244x11 Type=Byte, ColorInterp=Red
Band 2 Block=244x11 Type=Byte, ColorInterp=Green
Band 3 Block=244x11 Type=Byte, ColorInterp=Blue
Zdjęcie lotnicze:
C:\Temp>gdalinfo Adona_1.tif
Driver: GTiff/GeoTIFF
Files: Adona_1.tif
Adona_1.tif.ovr
Adona_1.tfw
Adona_1.tif.aux.xml
Size is 5426, 5522
Coordinate System is:
PROJCS["NAD83 / Arkansas North",
GEOGCS["NAD83",
DATUM["North_American_Datum_1983",
SPHEROID["GRS 1980",6378137,298.2572221010002,
AUTHORITY["EPSG","7019"]],
AUTHORITY["EPSG","6269"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4269"]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["standard_parallel_1",36.23333333333333],
PARAMETER["standard_parallel_2",34.93333333333333],
PARAMETER["latitude_of_origin",34.33333333333334],
PARAMETER["central_meridian",-92],
PARAMETER["false_easting",1312333.333333333],
PARAMETER["false_northing",0],
UNIT["US survey foot",0.3048006096012192,
AUTHORITY["EPSG","9003"]],
AUTHORITY["EPSG","26951"]]
Origin = (1045317.554567784100000,261147.746197238540000)
Pixel Size = (0.500000000000000,-0.500000000000000)
Metadata:
TIFFTAG_SOFTWARE=Adobe Photoshop CS4 Windows
TIFFTAG_DATETIME=2010:08:04 07:39:30
TIFFTAG_XRESOLUTION=1
TIFFTAG_YRESOLUTION=1
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 1045317.555, 261147.746) ( 92d53'31.49"W, 35d 2'50.94"N)
Lower Left ( 1045317.555, 258386.746) ( 92d53'31.19"W, 35d 2'23.64"N)
Upper Right ( 1048030.555, 261147.746) ( 92d52'58.86"W, 35d 2'51.19"N)
Lower Right ( 1048030.555, 258386.746) ( 92d52'58.56"W, 35d 2'23.88"N)
Center ( 1046674.055, 259767.246) ( 92d53'15.03"W, 35d 2'37.41"N)
Band 1 Block=5426x1 Type=Byte, ColorInterp=Red
Overviews: 2713x2761, 1357x1381, 679x691, 340x346, 170x173
Band 2 Block=5426x1 Type=Byte, ColorInterp=Green
Overviews: 2713x2761, 1357x1381, 679x691, 340x346, 170x173
Band 3 Block=5426x1 Type=Byte, ColorInterp=Blue
Overviews: 2713x2761, 1357x1381, 679x691, 340x346, 170x173
Dodanie do odpowiedzi Czada: Czy plik .TFW towarzyszy TIF? Jeśli tak, obraz zawiera informacje georef, które nie są osadzone w nagłówku. Nie wiem, czy GDALINFO to złapie, czy nie.
Niestety TFW podaje tylko współrzędne i rozmiary komórek. Nie określa, do którego CRS / projekcji / układu odniesienia odnosi się obraz, ani jakich jednostek używa się do projekcji.
W świecie ESRI, jeśli obraz jest georeferencyjny, ale nie jest poprawiony, gdalinfo nie zwróci informacji o projekcji
Driver: GTiff/GeoTIFF
Files: COVE_COGEO.tif
COVE_COGEO.aux
Cove_COGEO.rrd
COVE_COGEO.tif.aux.xml
Size is 6618, 8176
Coordinate System is `'
Metadata:
TIFFTAG_IMAGEDESCRIPTION=
TIFFTAG_MAXSAMPLEVALUE=1
TIFFTAG_MINSAMPLEVALUE=0
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
TIFFTAG_XRESOLUTION=300
TIFFTAG_YRESOLUTION=300
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 8176.0)
Upper Right ( 6618.0, 0.0)
Lower Right ( 6618.0, 8176.0)
Center ( 3309.0, 4088.0)
Band 1 Block=6618x512 Type=Byte, ColorInterp=Red
Overviews: 1655x2044, 828x1022, 414x511, 207x256, 104x128, 52x64
Band 2 Block=6618x512 Type=Byte, ColorInterp=Green
Overviews: 1655x2044, 828x1022, 414x511, 207x256, 104x128, 52x64
Band 3 Block=6618x512 Type=Byte, ColorInterp=Blue
Overviews: 1655x2044, 828x1022, 414x511, 207x256, 104x128, 52x64
Jeśli zajrzysz do pliku tif.aux.xml, znajdziesz informacje o projekcji:
<?xml version="1.0" encoding="UTF-8"?>-
<GeodataXform xmlns:typens="http://www.esri.com/schemas/ArcGIS/9.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="typens:PolynomialXform">
<PolynomialOrder>1</PolynomialOrder>-<SpatialReference xsi:type="typens:ProjectedCoordinateSystem"> <WKT>PROJCS["NAD_1983_UTM_Zone_15N",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-93.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]</WKT>
<XOrigin>-5682839.5944962</XOrigin>
<YOrigin>-10997760.6594148</YOrigin>
<XYScale>409501512.793437</XYScale>
<ZOrigin>-100000</ZOrigin>
<ZScale>10000</ZScale>
<MOrigin>-100000</MOrigin>
<MScale>10000</MScale>
<XYTolerance>0.001</XYTolerance>
<ZTolerance>0.001</ZTolerance>
<MTolerance>0.001</MTolerance>
<HighPrecision>true</HighPrecision>
</SpatialReference>-<SourceGCPs xsi:type="typens:ArrayOfDouble">
<Double>1.57734892030567</Double>
<Double>25.8359122977818</Double>
<Double>20.4046417720032</Double>
<Double>25.9084153582944</Double>
<Double>20.4733053142072</Double>
<Double>3.14623602371285</Double>
<Double>1.61802731006583</Double>
<Double>3.1060187781668</Double>
</SourceGCPs>-<TargetGCPs xsi:type="typens:ArrayOfDouble">
<Double>362267.039129157</Double>
<Double>3818630.52804079</Double>
<Double>373747.691530917</Double>
<Double>3818468.79669514</Double>
<Double>373558.508499628</Double>
<Double>3804605.04409216</Double>
<Double>362064.5523863</Double>
<Double>3804768.11127776</Double>
</TargetGCPs>
</GeodataXform>
Jednak po skorygowaniu gdalinfo będzie działać, a dane nie będą już znajdować się w pliku tif.aux.xml, więc być może będziesz musiał szukać w obu miejscach.
Jest też listgeo , część libgeotiff .
Ponadto, jeśli używasz systemu Windows, jest przydatna aplikacja GUI i geotifcp (także część libgeotiff), która pozwala łatwo zrzucić i przywrócić metadane do geotiffa - przydatne, jeśli chcesz edytować swoją geotiff w sposób nieprzestrzenny włączone oprogramowanie do edycji obrazów lub do stosowania metadanych przestrzennych do wyników klasyfikacji itp.
Jak ustalić, czy tiff jest georeferencyjny czy nie?
Pobierz ftp://ftp.remotesensing.org/geotiff/libgeotiff/listgeo_GUI.zip
W listgeo_GUI.zip:
(1). „listgeo.exe” - program narzędziowy do zrzutu metadanych pliku GeoTIFF. (2). „geotifcp.exe” - program narzędziowy do stosowania metadanych do pliku TIFF, dzięki czemu jest to plik GeoTIFF.
Zostały one swobodnie rozpowszechniane w popularnej bibliotece libgeotiff.