Dada la definición del MGRS de wikipedia sabemos que su ejemplo 4QFJ123678
se puede dividir de la siguiente manera:
4Q
es la zona de la cuadrícula ( columnas en un rango de 1-60 y filas en el rango C-X omitiendo I y O). A medida que aumentan las filas, se va más al este; a medida que aumentan las columnas, se va más al norte.
FJ
es el cuadrado de la rejilla ( columnas en el rango A-Z y filas rango A-V, ambos omitiendo I y O). Los valores aumentan hacia el Este y el Norte.
123 678
es la precisión hasta el cuadrado de 100 metros en columnas y filas . Los valores aumentan hacia el Este y el Norte.
Así, en el caso más sencillo, para obtener arriba, abajo, izquierda y derecha sólo hay que restar o sumar a las filas y columnas de 100 metros de precisión, con lo que se obtiene:
- Norte
4Q FJ 123 679
- Sur
4Q FJ 123 677
- Este
4Q FJ 124 678
- Oeste
4Q FJ 122 678
Si quisieras podrías escribir esto en un script con bastante facilidad, pero tendrías que manejar los casos en los que se cruzan Cuadros y Zonas de Cuadrícula.
También, si usas Python, puede ser que mires el Python mgrs biblioteca que convierte a/desde MGRS a partir de la latitud/longitud.