ThinkGeo.com    |     Documentation    |     Premium Support

Add a PNG to the Map

I was just handed a PNG file (satellite imagery) that I need to overlay onto our current world map kit layer.


If this is possible, I assume I'll at least need to figure out the lat/longs of the corners of the image to geo-reference it, but how do I then add it to my layers?  I saw a post about PNGTest, and took a look at it, but I didn't understand the code and am hoping that there is an easier way to do this.



Can you point us out to the post with the code you saw related to PNG? We will look at it and see how we can make clearer to understand. Thank you.

PNG rendering


gis.thinkgeo.com/Support/Dis...aspx#17964


Although, I'm hoping that you can simplify this down to just a few lines of code as I only need to drop a PNG image on the map at a specified location.  This sample looks like a special case and over-complicating things.



Nate, 
  
   I think this *can* be easy but we need to know some things first.  We need to make sure the image you have is in decimal degrees.  Satellite images can be in many different projections and we want to make sure this is in decimal degrees.  I suggest you go to the source of the image to make sure.  If you know the bounding box you can always try it out and if it doesn’t work, meaning you can’t find it on the map, then it was probably a projection problem.  Normally satellite images come with world files.  These are text and contain the bounding box information in them.  The extension is usually the first letter of the image extension and the last letter and then a W.  So for PNG iw should be .pgw.  Do you have that file?  If not and you know the extent you can pass it in the API below. 
  
 GdiPlusRasterLayer pngRasterLayer = new GdiPlusRasterLayer(@“C:\images\myfile.png”, new RectangleShape(-139.2, 92.4, 120.9, -93.2)); 
  
 Of course you need to change the path and the extent to match your file.  If this still does not work you can always send us the file and any information you have and we can check it out and give whatever help we can. 
  
 David

They didn't give me anything but a PNG.  But I just used Google Maps satellite imagery with the GPS Location plugin to figure out (as best as I could) the top left and lower right locations and put those into the line of code you provided.  I added it to an overlay and then to the map and it worked beautifully.


Thanks for the help, I knew this had to be an easy thing to do.



I am glad this is working for you now. This is a pretty simple API but it lacks a good documentation. I added this idea to the list of projects for the Code Community. Soon, we will publish a project with a clear explanation for everybody’s benefit. Thank you for the idea.