[gdal-dev] map info and projections from GeoTIFF file to create ENVI header

Dmitry Baryshnikov bishop.dev at gmail.com
Sun Jan 17 03:56:53 PST 2016


Hi Nevzat,

The landsat geotiff already have CRS embeded in file

$ gdalinfo LC80150362013097LGN03_B1.TIF
Driver: GTiff/GeoTIFF
Files: LC80150362013097LGN03_B1.TIF
        ./LC80150362013097LGN03_MTL.txt
Size is 7281, 7261
Coordinate System is:
PROJCS["WGS 84 / UTM zone 17N",
     GEOGCS["WGS 84",
         DATUM["WGS_1984",
             SPHEROID["WGS 84",6378137,298.257223563,
                 AUTHORITY["EPSG","7030"]],
             AUTHORITY["EPSG","6326"]],
         PRIMEM["Greenwich",0,
             AUTHORITY["EPSG","8901"]],
         UNIT["degree",0.0174532925199433,
             AUTHORITY["EPSG","9122"]],
         AUTHORITY["EPSG","4326"]],
     PROJECTION["Transverse_Mercator"],
     PARAMETER["latitude_of_origin",0],
     PARAMETER["central_meridian",-81],
     PARAMETER["scale_factor",0.9996],
     PARAMETER["false_easting",500000],
     PARAMETER["false_northing",0],
     UNIT["metre",1,
         AUTHORITY["EPSG","9001"]],
     AXIS["Easting",EAST],
     AXIS["Northing",NORTH],
     AUTHORITY["EPSG","32617"]]
Origin = (706185.000000000000000,3943515.000000000000000)
Pixel Size = (30.000000000000000,-30.000000000000000)
Metadata:
   AREA_OR_POINT=Point
   METADATATYPE=ODL
Image Structure Metadata:
   INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (  706185.000, 3943515.000) ( 78d43'24.74"W, 35d36'50.15"N)
Lower Left  (  706185.000, 3725685.000) ( 78d46'35.65"W, 33d39' 3.82"N)
Upper Right (  924615.000, 3943515.000) ( 76d19' 2.05"W, 35d32'39.74"N)
Lower Right (  924615.000, 3725685.000) ( 76d25'33.46"W, 33d35'10.99"N)
Center      (  815400.000, 3834600.000) ( 77d33'38.95"W, 34d36'17.35"N)
Band 1 Block=7281x1 Type=UInt16, ColorInterp=Gray

And this is right CRS.
Where do you get you geotiff?

Best regards,
     Dmitry

17.01.2016 03:41, Nevzat Guler пишет:
> Dear experts,
>
> I am reading LANDSAT GeoTIFF files and combining bands to create and ENVI
> cube.
> I am using GDAL to read the GeoTIFF file, and my own custom cube writer to
> write the ENVI style cube. Transferring the map information proved to be a
> bit convoluted. I seek your help to figure out this.
>
> My first problem is to access map info from GeoTIFF file. The map info
> includes:
>
> map info = {UTM, 1.000, 1.000, 145185.000, 2189715.000, 3.0000000000e+001,
> 3.0000000000e+001, 19, North, WGS-84, units=Meters}
>
> I am able to get the location (x,y), and pixel size (x,y) from :
> double adfGeoTransform[6];
> srcDS->GetGeoTransform(adfGeoTransform);
>
> But, I could not find any way to get the other variables in the string: UTM,
> pixel tie points, Unit and DATUM. Is there any way to get them?
>
> Finally, for the Coordinate System String, GDAL gives me:
>
> PROJCS["unnamed",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_or
> igin
> ",0],PARAMETER["central_meridian",-69],PARAMETER["scale_factor",0.9996],PARA
> METE
> R["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]]
>
> But I should actually get
>
> PROJCS["UTM_Zone_19N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],A
> UTHO
> RITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["de
> gree
> ",0.0174532925199433,AUTHORITY["EPSG","9108"]],AUTHORITY["EPSG","4326"]],PRO
> JECT
> ION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["cent
> ral_
> meridian",-69],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",50
> 0000
> ],PARAMETER["false_northing",0],UNIT["Meter",1]]
>
> GDAL gives me PROJCS, "unnamed". And no GEOGCS information is given.  I am
> able to get the coordinate system properties by using the following commands
> but I first need to set few things to use exportToWTK.
>
>>>        OGRSpatialReference oSRS;
>>>        char *pszWKT = NULL;
>>>        oSRS.SetProjCS("UTM_Zone_19N");
>>>        oSRS.SetWellKnownGeogCS("WGS84");
>>>        oSRS.SetUTM(19, TRUE);
>>>        oSRS.SetWellKnownGeogCS("WGS84");
>>>        oSRS.exportToWkt(&pszWKT);
>>>        printf("%s\n", pszWKT);
> However, this requires me to set SetProjCS, SetWellKnownGeogCS and SetUTM
> first. I don't know these before I read the file. Is there any way to get
> them from the file so that I don't need prior knowledge to create the
> header. When I pull the GeoTIFF file into ENVI, all these information is
> already there. If this list is only or development purposes, please let me
> know if there is any other email list that can give me guidance on this
> quest.
>
> I appreciate your help and suggestions.
> Best regards,
> - Nevzat
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev



More information about the gdal-dev mailing list