Buenas a todos/as, amigos del foro. Estoy trabajando en un proyecto con GPS (Ublox NEO 6M), un arduino UNO y un display LCD 16x2. Lo que estoy queriendo lograr con estas tres cosas es lo siguiente, la ciudad donde vivo (en Bolivia) está dividida en distritos/zonas de variadas formas geométricas; con las coordenadas que me de el GPS quiero que mi Arduino me indique (en el LCD) en que zona me encuentro. La siguiente imagen representa el mapa de la ciudad para que se den una idea mas clara.

Mi problema es que no se como encarar la parte del reconocimiento de zonas; dado un par de coordenadas del GPS indicar por el LCD en que zona me encuentro, ya que cada paso que dé ya es una coordenada distinta, y si cruzo una frontera (entre zonas) que me indique ese cambio.
Seria sencillo definir mis límites de coordenadas si los distritos fuesen cuadrados o rectangulares, pero no es asi. No se si me deje entender.
La única solución bruta que se me vino a la cabeza es agrupar un conjunto de coordenadas por cada distrito, y empezar a compararlas con las del GPS; con la que coincida seria la zona en que me encuentro. Pero seria escribir demasiado código y llenaría rápido la memoria del arduino UNO.
Si alguien pudiese haber hecho algún trabajo parecido agradeceria una orientación o alguna idea a nivel de algoritmo para la implementación de mi código.
De antemano les agradezco por cualquier ayuda que puedan ofrecerme.
Saludos!!