Guías · 12 de octubre de 2026
Cómo programar vuelos fotogramétricos con el DJI Mini 5 Pro
La aplicación DJI Fly no tiene modo de mapeo ni opción para importar misiones. Aun así, el Mini 5 Pro puede volar una cuadrícula fotogramétrica planificada en el ordenador. Te contamos cómo lo hacemos nosotros y qué conviene vigilar.
El problema
El Mini 5 Pro tiene un sensor de 1" y fotos de 50 MP, así que da resoluciones de centímetro con un dron compacto. Pero DJI Fly, la aplicación de consumo con la que se maneja, solo deja dibujar rutas de waypoints a mano sobre el mapa:
- no genera pasadas paralelas con solape (la «cuadrícula» de fotogrametría),
- no tiene botón para importar un KMZ planificado fuera de la app,
- no sigue el terreno: la altura de cada punto es relativa al punto de despegue.
La solución es planificar la misión fuera, escribirla en el formato de waypoints de DJI (WPML) y colocarla en el mando en lugar de una ruta creada en la app. Funciona, pero no es un método oficial.
Antes de empezar. DJI no ofrece ni admite este procedimiento, y una actualización de DJI Fly podría inutilizarlo. Haz una copia de las rutas que ya tengas guardadas en el mando y prueba primero con una misión corta en una zona despejada. El vuelo automático no te exime de nada: mantén el dron a la vista, comprueba las restricciones de la zona en ENAIRE Drones y vuela dentro de tu categoría de operación. Si pierdes el control de la misión, la responsabilidad es del piloto.
1. Define la zona
Dibuja el contorno de la parcela en QGIS (u otro SIG) y expórtalo como GeoJSON en coordenadas geográficas (EPSG:4326). Para calcular la cuadrícula, reproyecta a UTM (en la España peninsular, normalmente el huso 30: EPSG:25830 o 32630) y trabaja en metros. Nosotros aplicamos un pequeño margen hacia dentro del contorno para no volar sobre la parcela vecina; si necesitas los bordes bien resueltos en la ortofoto, hazlo al revés y amplía unos metros.
2. Calcula altura, solapes y velocidad
Con los datos reales de la cámara (medidos en los EXIF de nuestras fotos y en la calibración del procesado), la geometría del Mini 5 Pro a 50 MP es:
- Imagen: 8192 × 6144 px. Focal física: 8,67 mm (23 mm equivalentes).
- GSD (cm/px) ≈ 0,0185 × altura (m).
- Huella en el suelo ≈ 1,51·H × 1,14·H, con el lado largo perpendicular a la dirección de vuelo.
- Intervalo mínimo entre fotos a 50 MP: unos 2 s. Por eso la velocidad no debe pasar de la mitad de la distancia entre fotos:
v ≤ paso / 2.
Con un 85 % de solape frontal y un 80 % lateral, que es lo que usamos en viñedo:
| Altura | GSD | Huella | Entre pasadas | Entre fotos | Velocidad máx. |
|---|---|---|---|---|---|
| 30 m | 0,55 cm | 45 × 34 m | 9,1 m | 5,1 m | 2,5 m/s |
| 60 m | 1,11 cm | 91 × 68 m | 18,2 m | 10,2 m | 5,1 m/s |
| 90 m | 1,66 cm | 136 × 102 m | 27,3 m | 15,3 m | 7,6 m/s |
Comprueba el tamaño de foto en DJI Fly antes de despegar. Si la app está en 12 MP (4096 × 3072), el GSD real será el doble del planificado. A nosotros nos pasó: la misión salió perfecta, pero con la mitad de resolución.
Si puedes, ajusta la misión para que quepa en una batería. Si no, divídela en varias misiones y vuélalas todas desde el mismo punto de despegue (lo explicamos en el paso siguiente).
3. Compensa el relieve: el dron no sigue el terreno
En DJI Fly la altura de cada waypoint es relativa al punto de despegue, no al suelo que hay debajo. En una parcela con pendiente, una misión a «60 m» vuela más alta sobre la zona baja y más baja sobre la zona alta, así que el GSD y el solape cambian, y el margen con los obstáculos también.
La solución es calcular la altura de cada waypoint con un modelo digital del terreno:
altura del waypoint = AGL deseado + (cota del terreno en el punto − cota del punto de despegue)
- Usamos el MDT de 5 m del IGN. Se descarga del Centro de Descargas del CNIG o se pide por WCS a
servicios.idee.es/wcs-inspire/mdt(coberturaElevacion4258_5, formatoArcGrid). Al compararlo con el modelo de nuestros propios vuelos, coincide muy bien. - Si es posible, despega desde el punto más bajo de la zona. Así ningún waypoint queda por debajo de la altura nominal.
- Si despegas desde un punto alto, algunas alturas pueden salir negativas o casi nulas. DJI Fly no acepta menos de 2 m: o subes todo el perfil o aceptas que en la zona baja el AGL sea algo mayor.
- Usa el mismo punto de despegue para todas las misiones del día. Todas comparten la misma referencia de altura y se procesan juntas sin sorpresas.
- Si hay árboles, tendidos o construcciones, revisa los obstáculos con un modelo de superficie (por ejemplo, el LiDAR del PNOA o de tu comunidad autónoma) y deja margen.
4. Escribe la misión en el formato que DJI Fly entiende
Una misión de DJI es un KMZ (un ZIP) que contiene un template.kml y un waylines.wpml. DJI publica la especificación WPML, pero DJI Fly no la sigue al pie de la letra. Al importar la misión, la app la reescribe, y ese fichero reescrito muestra qué entiende de verdad. Esto es lo que hemos comprobado con el Mini 5 Pro:
| Aspecto | Qué funciona |
|---|---|
| Espacio de nombres | http://www.uav.com/wpmz/1.0.2 (no el de www.dji.com que aparece en la documentación) |
| Modelo de dron | La app escribe droneEnumValue 68 con el Mini 5 Pro conectado |
| Disparo de fotos | Un waypoint por foto, con un actionGroup en modo parallel y disparador reachPoint. El disparo por distancia (multipleDistance) no lo hemos podido verificar. |
| Número de waypoints | Hemos cargado misiones de varios centenares de waypoints sin problema |
| Ángulo de la cámara | Hay que ponerlo en tres sitios: una acción gimbalRotate (ángulo absoluto) en el primer waypoint, una gimbalEvenlyRotate hasta el último y el waypointGimbalPitchAngle de cada punto |
| Giros | toPointAndPassWithContinuityCurvature en los puntos intermedios y toPointAndStopWithContinuityCurvature en el último |
| Pérdida de señal | exitOnRCLost = executeLostAction con executeRCLostAction = goBack |
Nuestro consejo: crea una ruta corta en la propia app, cópiala al ordenador y úsala como plantilla. Así partes del dialecto exacto de tu versión de DJI Fly.
5. Carga la misión en el mando (DJI RC 2)
DJI Fly guarda la lista de rutas en una base de datos interna a la que no se llega desde el ordenador. Por eso no basta con copiar un KMZ en una carpeta nueva: la app no lo listará. Lo que sí funciona es sustituir el fichero de una ruta que haya creado la propia app:
- En DJI Fly, crea una ruta de waypoints cualquiera (2 o 3 puntos), guárdala y ponle un nombre reconocible. Si vas a cargar varias misiones, crea una ruta por misión y en un orden conocido.
- Conecta el RC 2 al ordenador por USB en modo transferencia de archivos (MTP).
- Ve a
Almacenamiento interno compartido/Android/data/dji.go.v5/files/waypoint/. Cada ruta tiene una carpeta con un identificador (UUID) y, dentro, un fichero<UUID>.kmz. La más reciente es la que acabas de crear. - Guarda una copia del KMZ original, bórralo del mando y copia en su lugar tu misión renombrada exactamente como
<UUID>.kmz. - Espera a que termine la copia y comprueba que el tamaño coincide con el de tu fichero. Por MTP, una copia interrumpida puede quedarse en 0 bytes.
- Cierra DJI Fly del todo y vuelve a abrirla. La ruta aparecerá con el nombre que le diste y con tu trazado.
6. En el campo
- Antes de despegar, revisa el tamaño de foto, el formato y el ángulo de la cámara.
- Pon el RC 2 en hora automática. Si el reloj del mando va desfasado, las fotos salen con fechas erróneas, y eso complica ordenarlas y procesarlas.
- Vuela las misiones del día desde el mismo punto y sigue el dron con la vista durante toda la ruta.
7. Revisa antes de procesar
- Compara el número de fotos con el de puntos planificados. Si coinciden, la misión se ha ejecutado completa.
- Comprueba en los EXIF el ángulo real de la cámara. En vuelos nadir (−90°) lo hemos visto estable. En oblicuas, el gimbal no siempre mantuvo el ángulo programado, así que conviene revisarlas foto a foto.
- Si las misiones se solapan en planta, sepáralas por bloques de tiempo y no por posición.
Hazlo con Claude u otra IA
No hace falta saber programar para seguir esta guía. Un asistente de IA como Claude, ChatGPT o Gemini puede escribir por ti el script que genera la misión. Nosotros trabajamos con Claude, y con Claude Code, que se ejecuta en tu ordenador, la IA puede además leer tus ficheros, ejecutar el script y comprobar el resultado. Así lo planteamos:
- Dale el contexto. Pásale el GeoJSON de la parcela, el modelo de dron y los parámetros que buscas (GSD o altura, solapes, ángulo de cámara). Pásale también esta guía o los datos de la cámara del paso 2.
- Dale una plantilla real. Crea una ruta corta en DJI Fly, cópiala del mando y pásale ese KMZ. Es la mejor forma de que la IA escriba exactamente el dialecto que entiende tu versión de la app, en lugar de fiarse de la documentación.
- Pídele el script, no solo el fichero. Un script en Python (con
shapelyypyproj) que lea el polígono, genere las pasadas, descargue el MDT del IGN, calcule la altura de cada waypoint y escriba el KMZ. Así lo reutilizas en cada parcela cambiando dos parámetros. - Pídele que lo compruebe. Que cuente waypoints y fotos, que calcule el tiempo de vuelo y que te muestre la ruta y las alturas sobre el mapa (en QGIS o Google Earth) antes de llevarla al mando.
- Con Claude Code, también la carga. Con el RC 2 conectado por USB, puede copiar el KMZ en la carpeta de la ruta que creaste y verificar que el fichero ha llegado entero.
Un ejemplo de petición para empezar:
«Tengo un DJI Mini 5 Pro con el mando RC 2 y DJI Fly. Te paso el polígono de mi parcela en GeoJSON y una ruta de ejemplo exportada desde la app. Escríbeme un script en Python que genere una misión fotogramétrica en ese mismo formato KMZ: 60 m sobre el terreno, solape frontal del 85 % y lateral del 80 %, cámara a −90°, un waypoint por foto y la altura de cada punto corregida con el MDT de 5 m del IGN respecto a este punto de despegue. Antes de generar el fichero, enséñame cuántas fotos saldrán y cuánto durará el vuelo.»
La IA acelera el trabajo, pero no sustituye tu revisión. Puede equivocarse en una unidad, en un signo o en una etiqueta del formato. Comprueba siempre la ruta y las alturas sobre el mapa y haz un primer vuelo de prueba corto antes de volar la misión completa.
¿Merece la pena?
Para levantamientos de parcelas agrícolas, viñedos o pequeñas obras, sí. Un dron compacto con buena cámara y una misión bien planificada da ortofotos y modelos 3D de resolución centimétrica con poca logística. Para grandes superficies, cuando se exige precisión topográfica con puntos de control o RTK, o cuando se necesitan sensores específicos, un equipo profesional sigue siendo la opción adecuada.