Generar malla de terreno usando el MDT05 del IGN

Discusiones sobre diseño de escenarios
Responder
JoseCalero
Recluta graduado
Recluta graduado
Mensajes: 86
Registrado: Octubre 7, 2008, 21:51

Generar malla de terreno usando el MDT05 del IGN

Mensaje por JoseCalero »

Buenas a todos:

Recientemente el ING liberó sus nuevos modelos de terreno con resolución de 5m. La mayor parte del territorio nacional ha sido ya preparado por nuestro compañero Valentín Casares (Ala78) y podéis encontrarlo en el subforo de mallas de terreno. Quedan algunas provincias por hacer, por ejemplo Madrid, que publicaré en los próximos días, Extremadura que también está preparando Valentin (update:también ya publicadas en el foro) o las Canarias con las que está Alberto Sanchez (AHS334A).

A titulo informativo, tanto por si alguno desea hacer alguna provincia de las que queda, o bien por si se tiene curiosidad de cómo se generan, aquí os indico brevemente los pasos:

1) En primer lugar habría que descargarse el fichero fuente desde el centro de descargas del IGN:

http://centrodedescargas.cnig.es/Centro ... o=catalogo

2)Una vez allí (es necesario estar registrado para descargarlas) desde la sección productos, bajaríamos hasta el apartado del MDT05 y pincharíamos en la imagen para que nos lleve al buscador de la zona que deseamos descargar.

3)En el buscador nos encontramos dos opciones de búsqueda, bien por municipio o bien por hoja MDT50. Recomiendo esta última opción. Para saber en qué hoja está incluida la zona que deseamos generar, basta con pinchar en el enlace "Ver cuadrícula del MTN50" para que nos salga un imagen (es un .png y pesa bastante) con la división de España siguiendo las hojas MDT50.

4) Indicamos en el buscador la hoja que deseamos descargar, aceptamos las condiciones legales que nos imponen (leerlas por favor, ya que si queréis publicar vuestro escenario deberéis incluir la nota legal que ahí se indica), y comenzamos la descarga.

5) Una vez tengamos descargado el fichero y antes de prepararlo para que la utilidad "Resample" que nos convertirá este fichero en malla de terreno en FSX (está incluida en el SDK del FSX) debemos conocer el formato del fichero que nos hemos descargado. Y aquí tenemos dos posibilidades:

a) Si es una malla de la peninsula, el formato será un archivo ASCII ESRI, con extensión .asc, con datum ETRS89 y proyección UTM. El uso dependerá de la zona, será 30 para longitudes comprendidas entre 0ºW y 6ºW
b) Si estamos hablando de las Canarias, el formato será el mismo, la proyección también (UTM), pero el datum será REGCAN95 (según se indica en la página del IGN es compatible con ETRS89) y por supuesto el uso será diferente, en este caso 28.

De todos modos estos datos los podéis encontrar con más detalle en la página del IGN.

6) Teniendo esto claro, sería cuestión de importar dentro del programa que uséis para hacer la conversión (GlobalMapper, ArcView, GRASS, etc). El más conocido por estos lares es el globalmapper, he usado su versión demo para hacer las capturas, os recuerdo que es de pago ;) Normalmente estos programas, el globalmapper también, suelen detectar el formato del fichero que estáis importando, a no ser, que tengáis una configuración de un formato anterior diferente. En principio, para ficheros de la peninsula, os encontraríais con la ventana de importación que sería algo así:
Imagen
Como véis ha detectado el formato del fichero. En el caso de las canarías habría que cambiar la zona (el uso horario, 28), y el datum (que sería REGCAN95)

7)Una vez que el programa haya cargado el fichero debemos hacer la conversión al formato que entiende el FSX, que sería proyección Geográfica con un datum WGS84 (los mismos que con las ortofotos). En el caso del globalmapper selecciona como unidad de medida automáticamente ARC Degrees, lo cual, lo dejaremos así.
Imagen

8)Con la conversión ya hecha tendriamos que salvar el fichero en un formato entendible por el FSX. Al igual que haciamos con la ortofoto usaremos los geotiff. Importante, no debemos salvarlos como imagen/raster, sino como elevación (en la versión que tengo exactamente pone "elevation grid format"). La pantalla que nos aparece para salvar quedaría tal que así:
Imagen
Como podréis ver, en mi caso lo salvo como 16bit aunque puede hacerse también con 32bit. Sobre ésto comentar que he leido en los foros de FSDeveloper que en algunos casos puede dar algún que otro problema:
http://www.bbs.fsdeveloper.com/forum/sh ... p?p=253841
A pesar de ello (por lo que se ve en el mismo post, el formato del fichero que estaba usando era 16bit nativo), por lo que sé Valentín ha estado haciendo sus mallas en 32 y no han dado ningún problema. En mi caso he probado con ambas resoluciones sin notar ninguna diferencia.

(a partir de aquí explico muy por encima la generación del .BGL. Doy por supuesto que se sabe cómo debe ser la estructura de carpetas de un escenario para FS)
9) Una vez que tengamos el geotiff listo tan solo debemos preparar el fichero .inf para que el resample.exe se encargue de realizar la conversión. Adjunto el formato genérico de un fichero .inf para generar mallas, éste en concreto, lo ha facilitado Valentín y funciona bastante bien:

[Source]
Type = GeoTIFF
Layer = Elevation
SourceDir = "SourceData"
SourceFile = "nombre_del_tif.tif"
NullValue = -1
MaxValidValue = 4000
MinValidValue = 0
---------------------------------
[Destination]
DestDir = "Output"
DestBaseFileName = "nombre_del_fichero_que_queréis_generar"
DestFileType = BGL
LOD = Auto
FractionBits = 1
CompressionQuality = 97
===========================

9)Por último, con el .bgl que os genere el resample, lo dáis de alta en la biblioteca de escenarios del FSX y ya podríais disfrutar de él.

Si hay algún punto que no esté claro, o he cometido alguna errata, por favor, no dudéis en indicármelo (por privado o en este mismo post) para que lo pueda corregir.

Para más información sobre la generación de mallas, recomiendo el post que publicó en su día Valentín sobre este tema:
viewtopic.php?f=14&t=1809

Un saludo
Jose Calero
Twitter: @Simulondo
AHS334A
Capitán
Capitán
Mensajes: 233
Registrado: Diciembre 6, 2008, 12:26

Re: Generar malla de terreno usando el MDT05 del IGN

Mensaje por AHS334A »

Muchas gracias por el tutorial Jose.

Me ha abierto los ojos y creo que se ha solucionado el problema!!

La única diferencia que hay respecto al método que estaba siguiendo yo es que al abrir el fichero con el Global Mapper que automáticamente sale una ventanita con las características de Projection y Datum que detecta en el fichero que estabas abriendo...en lugar de aceptar y una vez cargado cambiarle tú manualmente la Projection a Geo y el datum a WGS84 yo se lo estaba cambiando en el mismo momento que te salta la ventanita inicial para que me lo convirtiera directamente. No sé por qué pero eso no le gustaba.

Como dices en el tutorial he aceptado para que se cargara con la projection que trae el fichero por defecto y luego lo re-proyecto a GEO WGS84...así le gusta más y ya me reconoce perfectamente los ficheros .tif al hacer el resample!!!

Muchas gracias!!!
AHS334A - Alberto Sánchez
Valverde
Recluta graduado
Recluta graduado
Mensajes: 92
Registrado: Noviembre 23, 2009, 14:49

Re: Generar malla de terreno usando el MDT05 del IGN

Mensaje por Valverde »

Hola Jose Calero, gracias por el aviso, espectacular la mejora del nuevo mesh, yo lo he visto para Canarias, y no sabía que puediera mejorar tanto, es casi definitivo, como dije antes es espectacular, saludos y muchas gracias.
Valverde
Recluta graduado
Recluta graduado
Mensajes: 92
Registrado: Noviembre 23, 2009, 14:49

Re: Generar malla de terreno usando el MDT05 del IGN

Mensaje por Valverde »

Otra cosa mas, no se ha hecho el nuevo mesh para Canarias ?¡¡
Edito: Perdonen señores, no había mirado la fecha del post. ya veo que es reciente :geek: por ahora haré las islas occidentales.Palma Gomera, Tenerife y Hierro.
JoseCalero
Recluta graduado
Recluta graduado
Mensajes: 86
Registrado: Octubre 7, 2008, 21:51

Re: Generar malla de terreno usando el MDT05 del IGN

Mensaje por JoseCalero »

Buenas Valverde:
Ponte en contacto con Ángel (AHS334A), que le verás un poco más arriba, por que creo que él estaba con las Canarias liado. Mándale si acaso un privado.

Un saludo
Jose Calero
Twitter: @Simulondo
Valverde
Recluta graduado
Recluta graduado
Mensajes: 92
Registrado: Noviembre 23, 2009, 14:49

Re: Generar malla de terreno usando el MDT05 del IGN

Mensaje por Valverde »

Oido, a ver que cuenta. para mi es un poco penoso bajar los ficheros pues my conexión no es del todo buena, aunque no es mala, como te decía este mesh es el punto que le faltaba al escenario fotorreal, se ven mejor las carreteras y se aprecian los barrancos :D , yo estoy hacendo los ficheros a comprension=100, y 32 bits, sin probemas aparentes, para grandes extensiones supongo que habria que pensarselo un poco.
Según que islas no se aprecian tanto pero en la isla del Hierro se ve la mejora. ;) .saludos y gracias de nuevo.
Ahorita voy a por Tenerife, je je,
Una cosa que he observado es que ha mejorado la manera en que el escnerio se presenta a distancia, no ves efectos extraños (a veces las montañas se forman delante de uno), supongo que tiene que ver con el Lod que se aplica en el .inf.
Avatar de Usuario
Ala78
Capitán Jefe
Capitán Jefe
Mensajes: 304
Registrado: Enero 6, 2009, 18:40

Re: Generar malla de terreno usando el MDT05 del IGN

Mensaje por Ala78 »

Hola.
He encontrado un problema en la configuración del fichero .inf que puede provocar falsas elevaciones en los mesh.
Ante todo decir que la explicación de Jose Calero es correcta y está muy clara, pero al utilizar el archivo .inf que yo le proporcioné pueden obtenerse resultados inesperados:
la configuración está preparada para ser usada con España, por eso si ponemos
MaxValidValue = 4000
es de suponer que ninguna elevación es superior a los 4000 metros, pero esto no sirve por ejemplo en el Himalaya.
Pero el problema no está aquí, sino en la línea:
MinValidValue = 0
esta orden tampoco sirve en zonas que están por debajo del nivel del mar, como por ejemplo el mar muerto.
En los modelos de elevación de España cualquier valor por debajo de 0 debería ser nulo. El 0 es siempre el mar.
Pero en algunos MDT me he encontrado que no están "depurados" y me he encontrado elevaciones cerca de las costas con valores del tipo -0.1 y parecidas por debajo de 0.
Al construir el .bgl para el FSX, esos valores no se compilan, no se tienen en cuenta. En principio no debería haber problema, pero al dejar ese "hueco", el simulador da preferencia en esa zona al mesh de menos resolución y si este es el que trae por defecto o el LOD11, se notan esos picos inesperados en las costas que no salen suaves como deberian salir.
En el mesh LOD13 de Andalucia este efecto, si no se activa el LOD12, es muy evidente, por eso no lo he vuelto a subir hasta que no lo revise completo.

Un saludo.
Responder