4-bytes:

0: A3B4 D5C6	(marca que indica que se trata de un fichero bnf)
1: 0000 0001	Nmero de versin
2: Posicin del array de enteros
3: Posicin del nice a los arrays de elementos
4: Posicin del array de elementos sueltos pequeos
5: Posicin del ndice de elementos sueltos grandes
6: Posicin de "Cadenas de texto, 8-bits"
7: Posicin de "Cadenas de texto, 16-bits"

Las posiciones se indican en 4-bytes a contar desde el comienzo del fichero.

Los arrays o elementos sueltos  en los que el tamao del elemento sea menor que
un 4-byte se completan con 00 si es necesario hasta llenar el ltimo 4-byte.


* Array de enteros

0: n fotogramas
1: n CentrosProy
2: n PuntosM
3: n puntosA
4: n puntosC
5: n GruposGPS
6: n gpss
7: n inss
8: n observaciones (de fotocoordenas. Cada par (x,y) es una)
9: FFFF FFFF

Un nmero igual a -1 (FFFF FFFF) indica el final, de modo que programas preparados
para leer supuestas versiones futuras en las que haya ms elementos puedan leer
versiones anteriores sin error.

En los ndices que se describen a continuacin los nombres que aparecen comentados
an no se escriben y lo indicado es lo que se prev para un futuro, pero podra cambiar.


* Cadenas de texto, 8-bits

El primer 4-byte indica el tamao en 4-bytes del elemento. A partir del segundo
comienzan las cadenas de texto, una a continuacin de otra y cada una terminada
por un byte 0.

* Cadenas de texto, 16-bits

El primer 4-byte indica el tamao en 4-bytes del elemento. A partir del segundo
comienzan las cadenas de texto, en unicode, una a continuacin de otra y cada una
terminada por un 2-byte 0.


* ndice a los arrays de elementos.

    Cada entrada ocupa 4 4-bytes. El primero especifica el tipo de datos del array. Vanse sus
posibles valores en el fichero clases_infobinario.h. El segundo indica la posicin en bytes
del nombre del array a contar desde el 4-byte 1 del elemento "Cadenas de texto, 8-bits"
(el 4-byte 0 se omite porque es un nmero entero. Las cadenas de texto empiezan en el
4-byte1). El nombre es una cadena de 8-bit chars terminada por 0. El tercer 4-byte es
el nmero de elementos de que consta el array. El cuarto 4-byte es la posicin del comienzo
del array, contada desde el comienzo del fichero. Un segundo 4-byte (nombre) a -1 indica
el final. En esta entrada adems el tipo debe estar a 0.
    Para cada array se indica a continuacin: entre comillas el nombre, entre corchetes
el tipo de elemento del array, entre parntesis el nmero de elementos del mismo,
que ser siempre uno de los valores incluidos en el array de enteros o un nmero
que se puede expresar en funcin de ellos, salvo para los arrays de nombres de elementos.
En el nombre no se han de distinguir maysculas de minsculas. No obstante se puede
usar las cadenas presentes en clases_infobinario.h mientras el mismo no indique que se ha
producido algn cambio en maysculas / minsculas desde la primera versin.
    Los arrays de chars contienen nombres de elementos (puntos, fotogramas... )
y no es necesario manejarlos directamente, ya que cada elemento con un nombre
contiene un entero que indica la posicin de su nombre a partir del comienzo
del array de nombres correspondiente. Por ejemplo, cada punto de apoyo incluye
un entero que indica la posicin del nombre del punto a partir del comienzo del
array "Nombres puntosA". Cada nombre est terminado por un 0.

"Nombres fotogramas"	[char8_t]		(valor nico)
"Nombres puntosf"			[char8_t]		(valor nico)
"Nombres puntosA"		[char8_t]		(valor nico)
"Nombres gpss"				[char8_t]		(valor nico)
"CentrosProy"		[CentroProy]	(n CentrosProy)
"PuntosModelo"		[PuntoM]		(n PuntosM)
"puntosApoyo"			[PuntoM]		(n PuntosA)
"puntosControl"		[puntoM]		(n puntosC)
"gpss"						[PuntoGPSINS]	(n gpss)
"GruposNAV"		[GrupoGPSINS]	(n GruposNAV)
"puntosC_a_puntosA"				[uint]		(n puntosC)
"Acumulado GruposNAV"		[uint]		(n GruposNAV)
"Calc_a_orig GruposNAV"	[uint]		(n GruposGPS)
"observaciones"						[int4]		(n observaciones)
"Acumulado CentrosProy"	[uint]		(n CentrosProy)
"PuntoM_en_CentroProy"	[int2]		(n observaciones + n PuntosM)
"Ppios PuntoM_en_CP"			[uint]		(n PuntosM + 1)
"puntosC_a_PuntosM"	[uint]		(n puntosC)
"puntosA_a_PuntosM"	[uint]		(n puntosA)
"Orden CentrosProy"		[uint]		(n CentrosProy)
"Orden PuntosM"			[uint]		(n PuntosM)
"L puntosf"						[float]		(2 * n observaciones)
"L puntosA"						[float]		(3 * n puntosA)
"L gpss"								[float]		(3 * n gpss)
"L inss"								[float]		(3 * n inss)
"Lnorm puntosf"				[float]		(2 * n observaciones)
"Lnorm puntosA"				[float]		(3 * n puntosA)
"Lnorm gpss"						[float]		(3 * n gpss)
"Lnorm inss"						[float]		(3 * n inss)
"L puntosC"						[float]		(3 * n puntosC)
"Lnorm puntosC"				[float]		(3 * n puntosC)
//"Varianzas CentrosProy"	[float]		(36 * n CentrosProy)
//"Varianzas PuntosM"	[float]		(9 * n PuntosM)

//En las matrices de varianzas el orden de los elementos es 11,12,22,13,23,33,41,...


* Array de elementos sueltos pequeos

Cada entrada consta de 2 4-bytes. El primero  indica la posicin en bytes del nombre
del array a contar desde el 4-byte 1 del elemento "Cadenas de texto, 8-bits". El segundo
contiene el propio elemento. Un primer 4-byte a -1 indica el final. Se incluyen en este array
array elementos que ocupan un 4-byte o menos: float, uint, 2-byte, byte, enteros de rango
predefinido y bool. Para los bool el valor puede ser 0 o 1. Para los enteros de rango
predefinido lo indicado entre corchetes es ese rango.
Entre parntesis se escriben aclaraciones.

"Ncalc CentrosProy"		[uint]
"Ncalc PuntosM"				[uint]
"Ncalc puntosA"				[uint]
"Ncalc GruposGPS"			[uint]
"Ncalc GruposINS"			[uint]
"Ncalc puntosGPS"			[uint]
"Ncalc puntosINS"			[uint]
"Ncalc Autocalibracion"	[uint]		(grupos de parmetros de autocalibracin. De momento solo puede valer 0 o 1)
"Sigma_a_priori coordenadas_imagen"		[float]
"Sigma_a_priori apoyoXY"	[float]
"Sigma_a_priori apoyoZ"		[float]
"Sigma_a_priori gpsXY"			[float]
"Sigma_a_priori gpsZ"			[float]
"Sigma_a_priori insWF"			[float]		(en radianes)
"Sigma_a_priori insK"				[float]		(en radianes)
"Sigma_a_posteriori global"	[float]		(en relacin a los valores a priori)
"Sigma_a_posteriori coordenadas_imagen"	[float]
"Sigma_a_posteriori apoyoXY"		[float]
"Sigma_a_posteriori apoyoZ"		[float]
"Sigma_a_posteriori gpsXY"			[float]
"Sigma_a_posteriori gpsZ"				[float]
"Sigma_a_posteriori insWF"			[float]		(en radianes)
"Sigma_a_posteriori insK"				[float]		(en radianes)
"Redundancia_parcial coordenadas_imagen" [float]
"Redundancia_parcial apoyo"		[float]
"Redundancia_parcial gps"				[float]
"Redundancia_parcial ins"				[float]
"Numero observaciones"				[uint]
"Numero incognitas"						[uint]
"Unidades_giros"								[0..2]		(en los fichero de entrada y salida. 0=rad., 1=gon, 2=sexag.)
"Tipo_de_fichero fotogramas"		[0..3]
"Tipo_de_fichero aproximadas"	[0..2]
"Tipo_de_fichero apoyo"				[0..3, 127]
"Tipo_de_fichero gps/ins"				[2,4, 127]
"Tipo_de_fichero camara"				[0, 127]
"Estimador"										[0-1]		(0: Mnimo cuadrtico. 1: Aerotri 2006)

El hecho de si los puntos de apoyo se mantienen o no fijos se indica indirectamente en los
valores de Sigma_a_priori para el apoyo. Si dichos valores valen 0 es que el apoyo se mantuvo fijo.


* Array de elementos sueltos grandes

Cada entrada consta de 2 4-bytes. El primero indica la posicin en bytes del nombre
del array a contar desde el 4-byte 1 del elemento "Cadenas de texto, 8-bits". El segundo
contiene la posicin del elementos a contar desde el principio del fichero o, si se trata
de array de chars, a contar desde el comienzo de "Cadenas de texto, 8-bits" o "Cadenas
de texto, 16-bits" segn corresponda. Un primer 4-byte a -1 indica el final.

"Fichero fotogramas"		[array de 16-bit chars]
"Fichero aproximadas"	[array de 16-bit chars]
"Fichero apoyo"				[array de 16-bit chars]
"Fichero gps/ins"			[array de 16-bit chars]
"Fichero camara"			[array de 16-bit chars]
"Sistema_coordenadas"	[BnfSistema]
