ODM Rest API

Índice

OpenDroneMap despliega una api para poder hacer modificaciones, consultar, etc.

Tareas

task/new/init?token=

nos devuelve uuid Por defecto lleva en formdata: name, webhook, skipPostProcessing = true, options = []

task/new/upload/:uuid?token=

que hemos recibido antes para cada archivo. Podemos definir el uuid en vez de dejar que lo cree

task/new/commit/:uuid?token=

para lanzar el procesado

task/:uuid/info?token=

nos va dando el estado del procesado

task/:uuid/output?token=

nos va danto la salida del procesado y nos permite monitorear

task/:uuid/info?token=

para ver el estado del procesado. Respuesta:

{
    "uuid":"1d8f55db-35cc-46a0-b12a-ef8e7bf77ee3",
    "name":"2fe410c4-fad9-4665-b667-c5ed7d6f81ad",
    "dateCreated":1692263527337,
    "processingTime":11018,
    "status": {
        "code":20
    },
    "options":[],
    "imagesCount":210,
    "progress":4.5
}

Donde el atributo progress nos da el porcentage del procesado. En NodeODM hace peticiones aproximada cada 2 segundos.

task/:uuid/output?line=-9&token=

Aquí pedimos cuando se abre la consola, también cada 4 segundos aproximadamente, la salida Nos da con el line=-9 cuántas líneas queremos desde el final. Nos devuelve un array de 9 elementos en este caso, cada elemento un string con una línea de salida. En cuanto ocultamos deja de pedir, y si volvemos a abrir pide otras 9 lineas, por lo que nos dejamos lo que pueda haber entre media. De hecho ese número es demasiado arbitrario. Si no pasamos line, por defecto es 0 y nos devuelve todo.