Wednesday, May 25, 2016

Convert WGS84 to Web Mercator Pixel

My google-fu wasn't the best when searching for a way to convert WGS84 to Web Mercator EPSG:3857, which is the common Google Maps and Bing Maps projection. If you have arrived here in search of an answer, the links to explain everything are below.


Essential Background
https://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/

Take the EPSG WKT from article 1, and use it in the proj.net library
http://blogs.u2u.be/diederik/post/2010/01/01/Converting-Spatial-Coordinates-with-ProjNET.aspx


The definitive MSDN article
https://msdn.microsoft.com/en-us/library/bb259689.aspx

Code from MSDN article that doesn't use the proj.net Library
https://gist.github.com/aaronhoffman/f53e1852ca289e4a806c062f97a18f05

Bb259689.0cdb18d0-24cc-4cc9-a7ec-b67b42c8e636(en-us,MSDN.10).jpg

Live Demo (in JavaScript):
https://jsfiddle.net/aaronhoffman/L1kpdmgz/


And this next section is just to help others search and get here:

Convert WGS84 to Web Mercator
Convert WGS84 to Google Maps
Convert WGS84 to Bing Maps
Convert WGS84 to EPSG:3857
Convert Latitude and Longitude to Google Maps
Convert Latitude and Longitude to Bing Maps
Convert Latitude and Longitude to Web Mercator
Convert Latitude and Longitude to EPSG:3857


Hope this helps,
Aaron

Tuesday, May 17, 2016

Pixel Grid Images 8x8 pixel grid on 256 pixel image

Working with some images of maps, I had a need for some pixel grid overlays. I couldn't find any with a quick google search so I made these in paint.net using the Grid Maker plugin.


Images below


8x8 pixel grid on 256 pixel image




8x8 pixel grid on 1024 pixel image




16x16 pixel grid on 256 pixel image




16x16 pixel grid on 1024 pixel image



Hope this helps,
Aaron


Tuesday, April 19, 2016

UTM Zone WGS84 Latitude Longitude Bounding Box

We are using proj.net to calculate the UTM Easting/Northing values for a given pair of WGS84 Latitude/Longitude coordinates. But I couldn't find an easy way to determine the correct UTM Zone for a WGS84 coordinate pair. The Zone had to be provided for the library to calculate the Easting/Northing values. I wanted the library to decide the best UTM zone based on the lat/lng coordinates.

To assist with this, I created the following table containing the "bounding box" lat/lng values for each UTM Zone in North America.

Test Code and CSV file:
https://gist.github.com/aaronhoffman/699d3659e1f68991e85d05e5637e1c5a

The easiest way I found to determine these values was to use the centroid point for each UTM Zone, then add +/- 4 degrees Latitude (North/South) and +/- 3 degrees Longitude (East/West).

I have also provided some C# code to convert these into arrays, and then an example using a "point in polygon" function to determine the appropriate UTM Zone.



Hope this helps,
Aaron