Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Using ArcGIS Desktop 10.0, is it possible to click anywhere on the map (projected to British National Grid), but return the coordinates in WGS84 lat long?

share|improve this question
Please expand "Alternatively, when will Streetview work with OS Eastings and Northings?" on is in Eastings and Northings – Mapperz Mar 11 '11 at 15:10
By streetview are you referring to Google Maps streetview, or something else? – jvangeld Mar 11 '11 at 19:43
I should have specified Google Streetview, and not the OS product. Apologies for the confusion. – user2285 Mar 18 '11 at 10:39
up vote 1 down vote accepted

To do this with arcobjects you could implement ITool. If using 10.0, you might find it easier to create a tool add-in.

In ITool.OnMouseDown take the x and y and convert it to an IPoint using IDisplayTransformation.ToMapPoint.

I'm not that familiar the the British National Grid, but it appears that a datum transformation is required when projecting to WGS84.

So, use ISpatialReferenceFactory.CreateGeoTransformation to create the appropriate datum transformation, and ISpatialReferenceFactory.CreateGeographicCoordinateSystem to create the target (WGS84) spatial reference.

Finally, cast the point into IGeometry5 and call ProjectEx, passing the target spatial reference and the geotransformation. IPoint.X and IPoint.Y should then represent longitude and latitude of the point where the user clicked.

share|improve this answer
British National Grid does require datum transformation -… – Mapperz Mar 11 '11 at 21:03

If you use the identify tool to click anywhere on the map, you can change the type of units displayed in the location bar. There is a (very tiny!) button at the end of the location bar that when clicked will open a menu displaying a list of unit types to display. Simply select Decimal Degrees or D/M/S to get your lat/long.

edit: Here's a screenshot: Set Identify Units

Another simple option is to switch your display units to Decimal Degrees (Data Frame Properties, General tab - set Display: to Decimal degrees). Then you can see the units in DD displayed at the bottom/right as you move the mouse cursor.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.