# Kit del curso 6 · Geolocalización e imágenes (GEOINT)

## Qué es

Dos ficheros de entrada: `foto.jpg`, una imagen **sintética** (un dibujo de una plaza, sin personas) con EXIF ficticio (fecha 2026:03:14 11:32:08, zona +01:00, posición 40°24'57" N, 3°42'13" O y dirección 135), y `fuentes.ql`, la consulta de Overpass de la última práctica. `generar_foto.py` reconstruye la imagen.

Ficheros: `foto.jpg` (32.5 KB), `fuentes.ql` (102 bytes), `generar_foto.py` (2.7 KB).

Todo es ficticio: empresas, personas, dominios `.example`/`example.com` y direcciones de documentación (RFC 5737). No hay datos reales ni personales.

## Requisitos

`exiftool` para la primera práctica; `curl` para la segunda. Para regenerar la imagen: Python 3 y `pip install pillow`.

## Cómo usarlo

Descarga los dos ficheros a una carpeta vacía (la terminal de exiftool usa `~/practica/plaza`) y pega las órdenes de la diapositiva.

## Qué terminales cubre

Con ficheros de este kit:

| Terminal (diapositiva) | Ficheros del kit | Qué usa y qué variará |
|---|---|---|
| Práctica: buscar fuentes cerca de un punto con Overpass («Búsqueda por etiquetas con Overpass») | `fuentes.ql` | El fichero de consulta `fuentes.ql` y la API pública de Overpass. **Qué variará:** Los identificadores y los nombres; el servidor limita las peticiones y a veces responde con un error de saturación |
| Terminal: metadatos de una foto con exiftool («Metadatos EXIF: qué guarda una foto») | `foto.jpg` | La imagen sintética `foto.jpg` con EXIF ficticio y `exiftool`. **Qué variará:** Nada si el EXIF es el del kit. Aviso: `exiftool` no estaba instalado donde se preparó el kit, así que el EXIF se comprobó leyendo directamente sus etiquetas (Pillow y un lector TIFF propio), no con `exiftool` |

Otras terminales del curso, que **no necesitan ficheros** del kit:

| Terminal (diapositiva) | Qué usa | Qué variará |
|---|---|---|
| Práctica: de grados a decimal y el coste de un signo mal puesto («Coordenadas: grados, decimales y signos») | API pública de Nominatim (necesita un User-Agent y ≤ 1 petición por segundo) | Nada relevante. `curl` no añade salto de línea tras el error, así que el texto aparece pegado al siguiente resultado |
| Práctica: qué hay en una coordenada (geocodificación inversa) («OpenStreetMap: datos abiertos con reglas») | API pública de Nominatim, geocodificación inversa | Es dato vivo de OpenStreetMap: al repetirla (11-10-2026, hora local) `category` y `type` salieron `historic` y `monument` (la diapositiva muestra `tourism` y `attraction`); `name` coincide |

## Avisos

- Las coordenadas son las de la diapositiva (un punto del centro de Madrid) y no son de ninguna persona.
- `exiftool` no estaba instalado donde se preparó el kit: el EXIF se verificó leyendo sus etiquetas con Pillow y con un lector TIFF propio (latitud, longitud y dirección son racionales exactos 40/1, 24/1, 57/1, etc.), no con `exiftool`. La salida de la diapositiva ya está marcada como de ejemplo.
- La práctica de Overpass se ejecutó con éxito y la salida coincide con la diapositiva; el servidor público limita las peticiones y a veces responde con un error de saturación: espera y reintenta.
- Verificación: las órdenes de cada terminal reproducible se ejecutaron el 10 y 11-10-2026 en Ubuntu 26.04 (WSL2), Git Bash y Windows PowerShell 5.1, y la salida coincide con la diapositiva salvo lo indicado en «Qué variará». Las terminales marcadas «sin verificar», «verificada en parte» o «no reproducible» se indican aparte, con su motivo.
