Changeset 10962

Show
Ignore:
Timestamp:
03/14/07 14:28:06 (2 years ago)
Author:
tamas
Message:

Report image corner coordinates.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/gdal/swig/csharp/apps/GDALInfo.cs

    r10906 r10962  
    127127 
    128128            /* -------------------------------------------------------------------- */ 
     129            /*      Report corners.                                                 */ 
     130            /* -------------------------------------------------------------------- */ 
     131            Console.WriteLine( "Corner Coordinates:" ); 
     132            Console.WriteLine("  Upper Left (" + GDALInfoGetPosition( ds, 0.0, 0.0) + ")"); 
     133            Console.WriteLine("  Lower Left (" + GDALInfoGetPosition( ds, 0.0, ds.RasterYSize) + ")"); 
     134            Console.WriteLine("  Upper Right (" + GDALInfoGetPosition( ds, ds.RasterXSize, 0.0) + ")"); 
     135            Console.WriteLine("  Lower Right (" + GDALInfoGetPosition( ds, ds.RasterXSize, ds.RasterYSize) + ")"); 
     136            Console.WriteLine("  Center (" + GDALInfoGetPosition( ds, ds.RasterXSize / 2, ds.RasterYSize / 2) + ")"); 
     137            Console.WriteLine(""); 
     138 
     139            /* -------------------------------------------------------------------- */ 
    129140            /*      Get raster band                                                 */ 
    130141            /* -------------------------------------------------------------------- */ 
     
    163174        } 
    164175    } 
     176 
     177    private static string GDALInfoGetPosition(Dataset ds, double x, double y) 
     178    { 
     179        double[] adfGeoTransform = new double[6]; 
     180        double  dfGeoX, dfGeoY; 
     181        ds.GetGeoTransform(adfGeoTransform); 
     182 
     183        dfGeoX = adfGeoTransform[0] + adfGeoTransform[1] * x + adfGeoTransform[2] * y; 
     184        dfGeoY = adfGeoTransform[3] + adfGeoTransform[4] * x + adfGeoTransform[5] * y; 
     185 
     186        return dfGeoX.ToString() + ", " + dfGeoY.ToString(); 
     187    } 
    165188}