Dmitry, After doing this, I following your suggested steps, I get the string:
Earth Projection 8, 104, "m", -69, 0, 0.9996, 500000, 0 Bit, the map info string I need to use looks like this: map info = {UTM, 1, 1, 145185, 2189715, 30, 30, 19, North} I tried other ExportTo functions but none gives me the specific map info string I want. This is ENVI map info string. I guess I will just have to stitch it together once I understand what the second and third elements are used for.. I really appreciated your help. Best regards, - Nevzat > Hi Nevzat, > > you need to get spatial reference from GDALDataset (via GetProjectionRef > http://gdal.org/classGDALDataset.html#aa42537e1062ce254d124b29ff3ebe857) > and convert it to OGRSpatialReference. > > Than use exportToMICoordSys to get MI CRS string. > > http://gdal.org/classOGRSpatialReference.html#a1f2908cd5ca33609844ef0c0ff2186ea > > Best regards, > Dmitry > > 18.01.2016 20:27, ngu...@jlab.org пиÑеÑ: >> It is solved. Thank you very much Even and Dmitry for your helps. I have >> missed the GDAL_DATA variable and it caused me all that trouble. >> >> Now I need to get the map info string: >> map info = {UTM, 1, 1, 145185, 2189715, 30, 30, 19, North,WGS-84} >> >> Using hDS->GetGeoTransform(adfGeoTransform) does not give me all the >> information in the map info string. It only gives me elements [4-7], how to >> get the others? >> >> Best regards, - Nevzat >> >>> Yes, Thank you Even, I was missing the GDAL_DATA environmental variable. >>> Now I >>> get the same gdalinfo output. Do I need to set this variable while using >>> the >>> C++ classes you suggested before: GetGeoTransform and GetProjectionRef()..? >>> Because, there also I had the same problem. >>> >>> Best regards, - Nevzat >>> >>> >>>> Le lundi 18 janvier 2016 17:13:14, ngu...@jlab.org a écrit : >>>>> Dmitry and All, >>>>> I just downloaded the set of tiff files from earthexplorer and run >>>>> gdalinfo >>>>> on it. Please see below. I am missing some fields in the output >>>>> information. It is different from what you got. I don't know what can >>>>> cause this? My gdalinfo.exe is not good? Any idea? >>>> Have a look at the FAQ entries about GDAL_DATA : >>>> https://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#WhatisGDAL_DATAenvironmentvariable >>>> >>>>> C:\Cubes\LC80080472013174LGN00.tar>gdalinfo LC80080472013174LGN00_B1.TIF >>>>> Driver: GTiff/GeoTIFF >>>>> Files: LC80080472013174LGN00_B1.TIF >>>>> .\LC80080472013174LGN00_MTL.txt >>>>> Size is 7571, 7411 >>>>> Coordinate System is: >>>>> PROJCS["unnamed", >>>>> PROJECTION["Transverse_Mercator"], >>>>> PARAMETER["latitude_of_origin",0], >>>>> PARAMETER["central_meridian",-69], >>>>> PARAMETER["scale_factor",0.9996], >>>>> PARAMETER["false_easting",500000], >>>>> PARAMETER["false_northing",0], >>>>> UNIT["metre",1, >>>>> AUTHORITY["EPSG","9001"]]] >>>>> Origin = (145185.000000000000000,2189715.000000000000000) >>>>> Pixel Size = (30.000000000000000,-30.000000000000000) >>>>> Metadata: >>>>> AREA_OR_POINT=Point >>>>> METADATATYPE=ODL >>>>> Image Structure Metadata: >>>>> INTERLEAVE=BAND >>>>> Corner Coordinates: >>>>> Upper Left ( 145185.000, 2189715.000) >>>>> Lower Left ( 145185.000, 1967385.000) >>>>> Upper Right ( 372315.000, 2189715.000) >>>>> Lower Right ( 372315.000, 1967385.000) >>>>> Center ( 258750.000, 2078550.000) >>>>> Band 1 Block=7571x1 Type=UInt16, ColorInterp=Gray >>>>> >>>>> C:\Cubes\LC80080472013174LGN00.tar>gdalinfo --version >>>>> GDAL 2.0.1, released 2015/09/15 >>>>> >>>>> C:\Cubes\LC80080472013174LGN00.tar> >>>>> >>>>>> I have the 2.0.1 version: >>>>>> C:\warmerda\bld\bin>gdalinfo --version >>>>>> GDAL 2.0.1, released 2015/09/15 >>>>>> >>>>>> I will check the history of the file I have. Maybe it is modified. I >>>>>> will >>>>>> also download the same file from earthexplorer and try my routines on >>>>>> it. Thanks for the suggestions. I appreciate. >>>>>> - Nevzat >>>>>> >>>>>> -----Original Message----- >>>>>> From: Dmitry Baryshnikov [mailto:bishop....@gmail.com] >>>>>> Sent: Sunday, January 17, 2016 12:57 PM >>>>>> To: Nevzat Guler <ngu...@jlab.org>; gdal-dev@lists.osgeo.org >>>>>> Subject: Re: [gdal-dev] map info and projections from GeoTIFF file to >>>>>> create ENVI header >>>>>> >>>>>> I downloaded this scene from earthexplorer, and everything is fine: >>>>>> >>>>>> $ gdalinfo LC80080472013174LGN00_B1.TIF >>>>>> Driver: GTiff/GeoTIFF >>>>>> Files: LC80080472013174LGN00_B1.TIF >>>>>> >>>>>> ./LC80080472013174LGN00_MTL.txt >>>>>> >>>>>> Size is 7571, 7411 >>>>>> Coordinate System is: >>>>>> PROJCS["WGS 84 / UTM zone 19N", >>>>>> >>>>>> 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",-69], >>>>>> 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","32619"]] >>>>>> >>>>>> Origin = (145185.000000000000000,2189715.000000000000000) >>>>>> Pixel Size = (30.000000000000000,-30.000000000000000) >>>>>> >>>>>> Metadata: >>>>>> AREA_OR_POINT=Point >>>>>> METADATATYPE=ODL >>>>>> >>>>>> Image Structure Metadata: >>>>>> INTERLEAVE=BAND >>>>>> >>>>>> Corner Coordinates: >>>>>> Upper Left ( 145185.000, 2189715.000) ( 72d23' 7.97"W, 19d46'16.43"N) >>>>>> Lower Left ( 145185.000, 1967385.000) ( 72d20'44.51"W, 17d45'55.15"N) >>>>>> Upper Right ( 372315.000, 2189715.000) ( 70d13' 8.50"W, 19d47'56.92"N) >>>>>> Lower Right ( 372315.000, 1967385.000) ( 70d12'16.74"W, 17d47'24.74"N) >>>>>> Center ( 258750.000, 2078550.000) ( 71d17'19.50"W, 18d47' 4.68"N) >>>>>> Band 1 Block=7571x1 Type=UInt16, ColorInterp=Gray >>>>>> >>>>>> $ gdalinfo --version >>>>>> GDAL 2.1.0dev, released 2015/99/99 >>>>>> >>>>>> What is your gdal version? Maybe the Landsat geotiff was modified from >>>>>> some software? >>>>>> >>>>>> Best regards, >>>>>> >>>>>> Dmitry >>>>>> >>>>>> 17.01.2016 20:15, Nevzat Guler ÃÂÿÃÂøÃÂÃÂÃÂõÃÂÃÂ: >>>>>>> Thank you Dmitry, >>>>>>> What is the best way to extract the information we got using >>>>>>> gdalinfo.exe by using GDAL classes, within a C++ code? As I mentioned, >>>>>>> I am using GetGeoTransform and GetProjectionRef() but the results miss >>>>>>> many of the information (specifically the map info elements as I >>>>>>> explained in the previous email). >>>>>>> >>>>>>> On another note, I actually get a different output from gdalinfo.exe >>>>>>> using my file (please see the printed result below). I got the geotiff >>>>>>> file from my colleague. When I open the file with ENVI, I get all the >>>>>>> information, including GEOGCS information. >>>>>>> >>>>>>> Can it be that my file is just corrupted and that's why I don't get all >>>>>>> the information from GetGeoTransform and GetProjectionRef()? But then >>>>>>> how would ENVI is able to extract this information if it were not in >>>>>>> the file? >>>>>>> >>>>>>> Thanks again, - Nevzat >>>>>>> >>>>>>> C:\Cubes\Landsat\LC80080472013174LGN00>gdalinfo >>>>>>> LC80080472013174LGN00_B1.TIF >>>>>>> Driver: GTiff/GeoTIFF >>>>>>> Files: LC80080472013174LGN00_B1.TIF >>>>>>> >>>>>>> .\LC80080472013174LGN00_MTL.txt Size is 7571, 7411 Coordinate >>>>>>> >>>>>>> System is: >>>>>>> PROJCS["unnamed", >>>>>>> >>>>>>> PROJECTION["Transverse_Mercator"], >>>>>>> PARAMETER["latitude_of_origin",0], >>>>>>> PARAMETER["central_meridian",-69], >>>>>>> PARAMETER["scale_factor",0.9996], >>>>>>> PARAMETER["false_easting",500000], >>>>>>> PARAMETER["false_northing",0], >>>>>>> UNIT["metre",1, >>>>>>> >>>>>>> AUTHORITY["EPSG","9001"]]] >>>>>>> >>>>>>> Origin = (145185.000000000000000,2189715.000000000000000) >>>>>>> Pixel Size = (30.000000000000000,-30.000000000000000) >>>>>>> >>>>>>> Metadata: >>>>>>> AREA_OR_POINT=Point >>>>>>> METADATATYPE=ODL >>>>>>> >>>>>>> Image Structure Metadata: >>>>>>> INTERLEAVE=BAND >>>>>>> >>>>>>> Corner Coordinates: >>>>>>> Upper Left ( 145185.000, 2189715.000) Lower Left ( 145185.000, >>>>>>> 1967385.000) Upper Right ( 372315.000, 2189715.000) Lower Right ( >>>>>>> 372315.000, 1967385.000) >>>>>>> Center ( 258750.000, 2078550.000) >>>>>>> Band 1 Block=7571x1 Type=UInt16, ColorInterp=Gray >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: gdal-dev [mailto:gdal-dev-boun...@lists.osgeo.org] On Behalf Of >>>>>>> Dmitry Baryshnikov >>>>>>> Sent: Sunday, January 17, 2016 6:57 AM >>>>>>> To: gdal-dev@lists.osgeo.org >>>>>>> Subject: Re: [gdal-dev] map info and projections from GeoTIFF file to >>>>>>> create ENVI header >>>>>>> >>>>>>> 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["latitud >>>>>>>> e >>>>>>>> _of_or >>>>>>>> igin >>>>>>>> ",0],PARAMETER["central_meridian",-69],PARAMETER["scale_factor",0.999 >>>>>>>> 6 >>>>>>>> ],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"]],U >>>>>>>> N >>>>>>>> IT["de >>>>>>>> gree >>>>>>>> ",0.0174532925199433,AUTHORITY["EPSG","9108"]],AUTHORITY["EPSG","4326" >>>>>>>> ]],PRO >>>>>>>> JECT >>>>>>>> ION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETE >>>>>>>> R >>>>>>>> ["cent >>>>>>>> ral_ >>>>>>>> meridian",-69],PARAMETER["scale_factor",0.9996],PARAMETER["false_east >>>>>>>> i >>>>>>>> ng",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@lists.osgeo.org >>>>>>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev >>>>>>> _______________________________________________ >>>>>>> gdal-dev mailing list >>>>>>> gdal-dev@lists.osgeo.org >>>>>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev >>>>>> _______________________________________________ >>>>>> gdal-dev mailing list >>>>>> gdal-dev@lists.osgeo.org >>>>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev >>>>> Nevzat Guler >>>>> Senior Scientist >>>>> Spectral Sciences >>>>> Phone: 781-273-4770 >>>>> http://www.spectral.com/index.shtml >>>>> http://www.linkedin.com/in/nevzatguler >>>>> >>>>> >>>>> _______________________________________________ >>>>> gdal-dev mailing list >>>>> gdal-dev@lists.osgeo.org >>>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev >>>> -- >>>> Spatialys - Geospatial professional services >>>> http://www.spatialys.com >>>> >>> >>> Nevzat Guler >>> Senior Scientist >>> Spectral Sciences >>> Phone: 781-273-4770 >>> http://www.spectral.com/index.shtml >>> http://www.linkedin.com/in/nevzatguler >>> >>> >> >> Nevzat Guler >> Senior Scientist >> Spectral Sciences >> Phone: 781-273-4770 >> http://www.spectral.com/index.shtml >> http://www.linkedin.com/in/nevzatguler >> >> >> _______________________________________________ >> gdal-dev mailing list >> gdal-dev@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/gdal-dev > > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/gdal-dev > Nevzat Guler Senior Scientist Spectral Sciences Phone: 781-273-4770 http://www.spectral.com/index.shtml http://www.linkedin.com/in/nevzatguler _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev