I cannot find a CRS description for the USNG to reproject coordinates that look like this: YD307682. YD denotes a square within the grid zone 48Q (Vietnam). There are thousands of those coordinates, and all of them in 48Q-P, 49Q-P grid zones.

I searched for "USNG" and "MGRS" (Military Grid Reference System) on Spatialreference.org. I looked through PROJ documentation. I did many Google searches.

Ideally, I need the description of USNG in Proj string or an EPSG code, stuff that GeoPandas package in Python works with. But if this is not possible, solutions outside of the box are welcome too.

I am a social scientist, cartography is fascinating, but not my field at all.

  • 1
    USNG isn't a projection so much as a zonal naming scheme. The underlying projection is UTM (well, 60 UTMs, or 120), but there's an inherent precision issue that makes exact conversion, challenging. Many packages have "conversion" functions, but it's not generally the Reproject tool that exposes the functionality.
    – Vince
    Aug 3, 2019 at 19:47
  • @Vince Then the question becomes, how does one rewrite the USNG string in UTM terms? And then converting into lat/lon isn't a problem. Aug 4, 2019 at 9:19
  • So far, found this gis.stackexchange.com/questions/15373/… extremely useful. Remains to make it work for a data frame, and I will end up posting an answer to my own question, fate permitting. Aug 4, 2019 at 12:14
  • It isn't a problem if you use the USNG tools to convert directly to geographic, either, though over Vietnam they're probably MGRS, not USNG. Converting MGRS to UTM, as a generic problem, requires a great deal of supplemental metadata on zone boundaries.
    – Vince
    Aug 4, 2019 at 12:24
  • I came across this site and found it somewhere...Projection Wizard... projectionwizard.org/#
    Aug 4, 2019 at 19:54

3 Answers 3


At the site http://legallandconverter.com/p50.html you can convert USNG coordinates to lat/lon.

For example, for your 48Q YD 307 682, you will get: enter image description here


How to convert MGRS to Lat/Long or UTM? helped. I adapted the answer by Sasa Ivetic and the solution is somewhat obscure.

In order to convert coordinates from USNG/ MGRS to lon/lat, when there are far too many coordinates and you need to have it outomated:

1/ Get the GeographicLib package and use the GeoConvert utility.

2/ The general idea is to repeatedly call this utility from whatever tool you use (R, Python...), and supply user input and capture output.

3/ Specifically, and as an example, in Python 3.7, using the subprocess module, here are a couple of lines which can be looped:

from subprocess import Popen, PIPE
p = Popen('C:\\pkg-vc12-x64\\GeographicLib-1.49\\bin\\GeoConvert.exe', stdin=PIPE, stdout=PIPE)

Open this GISsurfer map https://mappingsupport.com/p2/gissurfer.php?basemap=ESRI_aerial&overlay=ESRI_roads_and_labels

Click Menu ==> Search and enter any of your coordinates, such as 48Q YD 307 682

Click Search

The map will center at that spot. The lat lng for the center of the map is shown in one corner of the screen.

For more info about GISsurfer see https://gissurfer.com Full disclosure - I am the developer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.