[GIS] Finding adjacent grid squares in MGRS/USNG

coordinate systemmgrs

Given an MGRS grid reference, for example 4QFJ123678 (100m precision), is there a good way to obtain the adjacent squares (north, south, east and west) from that origin square?

Is it better to compute the neighbors within the MGRS system, or convert to lat/long, find the coordinates 100m away in each direction, and convert back to MGRS?

Best Answer

I believe that you cannot rely on computing adjacent MGRS grid references by altering the numeric values. I'm pretty sure that method works for going North and South but West or East is a problem because not all grid squares are 100,000km wide 30U YC 051 804 has an easterly neighbour of 31U BT 804 948 for instance, instead of the computable 30U YC 052 804. It is possible that even the method of moving a search point by a set distance may fail to return the adjacent grid square if the set distance is greater than the width of an adjacent grid square. I have a requirement for a system that allocates a location with a grid square identifier and then is able to find all such locations within a radius. I was hoping to do an initial coarse grain search for locations by getting all the grid square identifiers intersecting the area. Am not sure now if mgrs is the system to use due to this problem.