[GIS] Finding coordinates of the image corner

cartographycoordinatesimageraster

I have a .bmp image with a map. For creating image i used a Ingeo 4.4 and function MakeImage() What i know:

  1. Height an Width of bmp image
  2. dpi
  3. Map Scale
  4. Image Center's coordinates in meters.

What i want:

  1. How can i calculate some points of image (for example corners) in meters.
  2. Or how can i change a pixel distanse to meters?

What i do before:

For sure i know image center coordinates in pixels:

CenterXpix = Widht/2;
CenterYpix = Height/2;

But what i gonna do to find another corners coordinates. Don't think that:

metersDistance = pixelDistance*Scale;

is a correct equation.

Any advises?

Best Answer

As a background note: A BMP, PNG, or JPG have no gis information associated with the file types. GeoTIFF have information in the TIFF header. Non GIS drawing tools do not respect this information and will remove geolocation information if you edit the image.

The key piece of information that you are missing from your question that is available in geo related images is ground distance. It does not mater if the upper left corner is zero based, 0,0, or one based,1,1. If you know that one pixel represents 1000 meters, then 50 pixels down from the upper left corner is 50 * 1000 = 50,000 meters. At another scale value, the pixel may represent 50 meters of ground distance. The same pixel count in another scale, 50 * 50, is 250 meters. How much ground distance does that one pixel represent in your BMP image?

dpi only tells you that on a computer screen showing 96 dots per inch you can view this nicely. The same 96 dpi screen image printed on a 600 dpi laser printer will shrink dramatically.