Ok, según lo veo yo tenemos dos problemas:
1. traducción de latitud y longitud a códigos postales
2. equivalencia de dicho código postal con los códigos de aemet
Para la primera cuestión hay servicios (me imagino que activos y gratuitos, aunque no lo se cierto) que de internet y mediante un HTTP Get (como nuestra tarea) o un HTTP Post podríamos obtener dicha equivalencia, habría que jugar con el tipo de archivo obtenido, tratar dicha información, ver si la API es libre de ser utilizada o si es de pago,... en fin, complicado pero creo que no imposible, solo es cuestión de tiempo y ponerse a ello
Si pruebas el enlace de geonames y cambias la latitud y la longitud, verás que obtienes un archivo xml en el que hay un código postal, habría que hacer pruebas para comprobar la fiabilidad, pero aquí tenemos una posible solución al primero de los problemas
La segunda cuestión sería la creación de una tabla de datos para dicha equivalencia o algo parecido