Autor Tema: Modelos digitales de terreno, etc  (Leído 3777 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Patrick

  • Usuario que monta vídeos y los sube a Vimeo
  • ***
  • Mensajes: 792
    • Ver Perfil
    • Galeria de fotos de pdobeson
Modelos digitales de terreno, etc
« en: Enero 05, 2011, 01:33:06 am »
Aprovecho para contestar lo que se planteaba en otro hilo y así doy por inaugurado el subforo ;)

Gracias tocayo, añadiré unas cuantas siglas más al indice de formatos que podrían interesarme pero que desconozco. hgt, dem, shp, kml, gpx, dxf, cvs. 

Yo de momento para mis terrenos en Povray, trabajo con mapas en escalas de grises. jpg, gif, png, etc.  ;)

Me intriga una cosa. En shp (puede que también en otros formatos) veo que se trabaja con un sistema de coordenadas que no entiendo:  X,Y,Z y M.  No se me ocurre a que puede referirse la dichosa M.

Acabo de localizar un programilla en C sencillito que al parecer pasa el formato dem a una imagen tga pompatible con Povray.  Desconozco completamente estos temas pero me interesan bastante.

Creo que se podría crear una nueva categoría en el foro, para agrupar algunos temas  sin relación directa con timelapse como: animación tradicional 2D,  animación 3D, stop-motion, slow-motion, bullet-time, y todo aquello que se os ocurra. ¿Qué os parece?


A ver...

el formato shape (SHP) es empleado en sistemas de información geográfica, contiene información gráfica básica y su relación con unos metadatos.

hgt es un fichero que contiene alturas (height) del Shuttle Radar Topography Mission cde la NASA (no lo he usado nunca, creo que es un raster)

dem es un fichero alfanumérico que contiene el modelo digital de elevacion (Digital Elevation Model), originalmente empleado por el U.S. Geological Survey. Es una malla regular con elevaciones. La resolución máxima es de 10 metros (muy pobre).

kml es un formato de Google Earth para representar entidades básicas en un sistema de coordenadas geograficas (incluyendo o no la coordenada Z)

gpx es un formato básico de intercambio de información de GPS, contiene rutas, puntos de interes, etc.., es más o menos un formato XML

dxf es un formáto ASCII de intercambio gráfico, en formato vectorial. Muy empleado en CAD y 3D

cvs es un formato inespecifico, significa Valores Saparados por Comas, se ha empleado desde tiempo inmemorial para pasar datos entre aplicaciones, hojas de calculo, o lo que quieras. No es un formato estandar único, sino un formato de "usuario" (yo lo uso a veces como formato de intercambio entre aplicaciones diversas)

En el caso en el que hablamos, las alturas suelen estar en un archivo alfanumérico MDT (Modelo Digital del Terreno). Tiene un encabezado que indica las coordenadas de la cuadricula, el espacio entre puntos y a continuación una lista de alturas. Las imagenes (ortofotografías) para mapear pueden estar en diversos formatos Tiff, GeoTiff, JPG, JP2000, PNG, BMP. Son simples ficheros raster, algunos contienen embebida información para georreferenciarlas y en otros casos necesitan un fichero alfanumérico "satelite" que se denomina comunmente "world", que contiene las coordenadas, la rotación, la resolución y el sistema de referencia. Por ejemplo un fichero world de un TIFF tendrá la extensión TFW, de JPG JPW, etc

 Este es un fichero world, con resolución de 0,5 metros por pixel y las coordenadas corresponden a un punto entre Colmenar Viejo y San Agustín de Guadalix (me habeis pillado en casa que no suelo tener este tipo de cosas y es lo primero que he encontrado ;) )
Código: [Seleccionar]
0.50000
 0.00000
 0.00000
 -0.50000
 441849.484
 4499967.152
 

 Yo he desarrollado para el trabajo una aplicación en AutoCad que te captura de un servidor WMS (World Map Server, un servidor de mapas) las ortofotografias de PNOA (Plan Nacional de Ortofotografía Aerea) en "cachitos" de 600x600 metros a una resolución de medio pixel por metro (1200x1200 pixels) y genera el correspondiente archivo world para poder georreferenciarlo. Tambien tengo otra que hace lo mismo desde Access, a partir de un punto dado o a partir del centroide de una finca catastral ;) La razón de tenerlo en cachitos así es porque por trabajo son dimensiones que puedo manejar muy facilmente y que el nivel de detalle que nos permite identificar lo que podemos encontrarnos en las visitas al campo (cerramientos, edificaciones, etc)

La tierra, como supongo que sabreis es más o menos una esfera y cualquier punto de su superficie se representa mediante unas coordenadas geograficas (en grados, minutos y segundos). Hay muchos sistemas de representación de una esfera en 2D (en un plano, vamos), pero estos sistemas de representación suelen ser bastante incorrectos a medida que nos alejamos del ecuador (presenta "distorsiones"). Por eso se creó un sistema de referencia más cómodo de maneja y más exacto, es el Universal Transverse Mercator (UTM). Este sistema de referencia divide el globo terraqueo en sesenta zonas que se pueden representar en coordenadas locales (o Datum) y cada zona está dividida en Husos (para que las coordenadas se mantengan en un orden de magnitud manejable.).

Las coordenadas UTM se expresan en metros. En España se emplean varios Datum, el tradicional  ED50 (Datum Europeo de 1950), el ETRS89 (European Terrestrial Reference System 1989, oficial en españa desde 2008), el WGS84 (World Global Survey 1984). Por ejemplo el ED50 en la peninsula es el que se ha venido usando en ingeniería civil y divide la peninsula en 3 husos, el 29 al oeste y hasta Zamora, el 30 a continuación y el 31 que está más al este incluyendo Cataluña y Baleares. Para Canarias suele usarse el Datum WGS84 o el ETRS89 (Huso 28).

Bien, al meollo. Para representar un terreno necesitas por un lado un mapa de bits (ortofotografía), que esté georreferenciado  y un fichero que contenga las alturas (tambien georreferenciado, of course). En terminos de render las alturas georreferenciadas son el modelo 3D y la ortofoto es el mapa de material.

Los programas que mencionas para pasar de DEM a TGA lo que hacen es representar en tonalidades de gris las alturas, para poder hacer un mapa de relieve sobre la superficie de el objeto 3D. Tambien podrías usar directamente el DEM para generar la geometría del objeto, escalable y con más precisión.


Desconectado Patrick

  • Usuario que monta vídeos y los sube a Vimeo
  • ***
  • Mensajes: 792
    • Ver Perfil
    • Galeria de fotos de pdobeson
Re:Modelos digitales de terreno, etc
« Respuesta #1 en: Enero 05, 2011, 09:55:42 am »
Este es un ejemplo de las ortofotos que capturo (es el aeropuerto de A Coruña)

Desconectado actpower

  • Administrator
  • Usuario del recopón
  • *****
  • Mensajes: 2.024
  • Staff
    • Ver Perfil
    • Timelapses.es
Re:Modelos digitales de terreno, etc
« Respuesta #2 en: Enero 05, 2011, 09:58:02 am »
Jeje, no me acordaba que tú trabajas en esto ;-). Me vas a venir MUY BIEN para un proyecto, ya te contaré.

Me he bajado ISLANDIA entera en fichero HGT, que luego he pasado a DEM (una monstruosidad de 400MB que el MAX ha sido incapaz de abrir y tendré que hacerlo por trocitos, por la densidad de la malla resultante). Ahora me quedaría encontrar mapas de Islandia de una resolución más que decente, para realizar vuelos virtuales al estilo Google Earth, pero mucho más realista :-D
----------------------------
www.timelapses.es
www.transfercinedigital.com
----------------------------

Desconectado acastro

  • Usuario que monta vídeos y los sube a Vimeo
  • ***
  • Mensajes: 458
    • Ver Perfil
Re:Modelos digitales de terreno, etc
« Respuesta #3 en: Enero 05, 2011, 10:44:14 am »
Yo uso Linux y he localizado dos cosillas para DEM. Una es un programa en C bastante simple, y otra en un programilla drawmap. Ambos pueden generar imágenes compatibles con la sentencia  'height_field' para construir relieves. Ya he logrado algún vídeo para visualizar terrenos DEM girando en el espacio.

En povray se usan las escalas de grises cuando se usan ficheros tipo png, gif, pgm, bmp, y otros, pero cuando se usa tga con 'height_field' . Se toma el valor de los octetos Red, y Green para componer un valor de 16 bits, y se desprecia el octeto Blue que viene a 0 generalmente. No son imágenes de tonos de grises. Son una cosa rara, pero permite usar representar 65536 (2^16) valores diferentes prete a los 768 (256*3).

El programita C genera tga y drawmap genera un pgm que no consigo usar sin reconvertir a png. pgm es un fichero de texto y he podido mirar en él y los valores de los pixels de este pgm son de 16 bits y por ello aún no he sido capaz de usarlos en povray pero todo se andará.

Sobre los tipos de fichero DEM encontré esto: http://www.vterrain.org/Elevation/dem.html

Con lo que más problema estoy teniendo es para conseguir datos DEM. En Windows hay conversores de formatos que no existen en Linux aún.

Por otra parte hay cantidad de sitios de descargas que no me han conducido a nada aprovechable. Tengo apenas tres ficheros de nada. Hay varios ficheros con extensión DEM con un formato que no soy capaz de leer.

Una de las ventajas de trabajar con ficheros que pueden abrir como imágenes es que si tienes uno muy grande puede usar un programa como photoshop o gimp para seleccionar un area. También puedes con ese mismo programa hacer cierto tipo de retoques (brillo contraste, curva de luminosidad, etc).

Desconectado Patrick

  • Usuario que monta vídeos y los sube a Vimeo
  • ***
  • Mensajes: 792
    • Ver Perfil
    • Galeria de fotos de pdobeson
Re:Modelos digitales de terreno, etc
« Respuesta #4 en: Enero 14, 2011, 09:40:26 am »
MODELO DIGITAL DEL TERRENO MDT25
*********************************

Se define como una malla cuadrada en proyección U.T.M., cubriendo todo el territorio nacional que,con un ancho de malla de 25 metros, establece en cada uno de sus nodos, su correspondiente cota.

Los datos utilizados para su formación son las coordenadas U.T.M. y la altitud de los puntos de referencia que describen geométricamente la
altimetría del país, datos que han sido obtenidos mediante la digitalización/restitución numérica de las curvas de nivel y puntos acotados contenidos en la serie cartográfica a escala 1:25.000 (MTN25) del Instituto Geográfico Nacional.

El MDT25 se ha subdividido en mallas que cubren las "HOJAS" de 14 km x 9.8km, con un rebase hacia afuera para asegurar la continuidad entre modelos colindantes que varía desde 100 metros hasta 500 metros, lo que supone una superficie total aproximada de 118 kilómetros cuadrados (unos 190.000 nodos de malla). Esto supone manejar del orden de 800 millones de cotas para toda España, distribuidas cada 25 metros en dirección Norte-Sur y Este-Oeste, con una exactitud que se puede cifrar en 3 metros en Z.

Se distribuye en un formato ASCII flexible, de fácil manejo. (formato matricial de filas (registro lógico) y columnas, de forma que cada elemento
de la matriz representa la altitud de un nodo de la malla).

Todos los elementos de una misma fila mantienen constante la coordenada Y, siendo de 0,025 Km. la diferencia en esa coordenada entre los elementos de una fila y los de la siguiente. Todos los elementos de una misma columna mantienen constante la coordenada X, siendo de 0,025 Km. la diferencia en esa coordenada entre los elementos de una columna y las de la adyacente.

En la cabecera del fichero se incluye la longitud del registro lógico y el huso correspondiente de la proyección.

Las coordenadas -999 son FRONTERA o ZONA CENSURADA y las 000 son AGUA


Proyección U.T.M., Elipsoide Internacional, Sistema de Referencia ED50 (Peninsula y Balears, Illes). Sistema de Referencia WGS84 (Canarias)   

                                 CABECERA DE LOS FICHEROS MDT25
                                 ------------------------------

                                     ---- MALLA MDT25 ----


 IGN/MDT25(malla 25m)  NOMBRE   XMIN    YMIN     XMAX    YMAX    HU  LONREG Proyeccion U.T.M. Elipsoide Internacional
                       ------  ------  -------  ------  -------  --  ------
                        ??? -?  705400  4643700  719600  4653400  ??  ??? ?

    1º CAMPO ......... NUMERO DE LA HOJA DEL MODELO
    2º CAMPO ......... X MINIMA EN METROS
    3º CAMPO ......... Y MINIMA EN METROS
    4º CAMPO ......... X MAXIMA EN METROS
    5º CAMPO ......... Y MAXIMA EN METROS
    6º CAMPO ......... HUSO UTM
    7º CAMPO ......... LONGITUD DEL REGISTRO


Con este registro de cabecera, podemos interpretar el fichero de datos, que no es más  que una matriz de altitudes en formato F5.0 (FORTRAN). Las altitudes se expresan en metros.

 El primer dato tiene de " X "; " Y " , la X minima Y minima que leíamos en el registro de cabecera.
 Los siguientes datos de la malla, representan un incremento de 25 mts por cada avance.
 Así el segundo dato Z2, tiene de X = XMIN + 25, Y = YMIN, ....
 Y el primer dato del segundo registro X = XMIN, Y = YMIN + 25, ....

Y el fichero en cuestión es así (solo pongo los primeros caracteres)

Código: [Seleccionar]
IGN/MDT25(malla 25m)    347-4    470600   4613000    484600   4622400  30  2805   Proyecci¢n UTM. Elipsoide Internacional
 919. 918. 916. 915. 914. 914. 914. 915. 917. 921. 926. 929. 933. 941.  ..........

Desconectado acastro

  • Usuario que monta vídeos y los sube a Vimeo
  • ***
  • Mensajes: 458
    • Ver Perfil
Re:Modelos digitales de terreno, etc
« Respuesta #5 en: Enero 14, 2011, 01:01:13 pm »
Comento lo que he ido averiguando para poder usar este tipo de datos en mi trazador de rayos Povray bajo S.O. Linux

Los formatos de imagen que usan valores idénticos para RGB, para codificar grises. Sólo pueden manejar 256 valores diferentes para el gris. En Povray se soluciona usando un formato especial de TGA y o el formato PGM de tipo P5.

Povray puede usar un formato peculiar de fichero TGA como escala de grises donde los dos primeros octetos (R,G) se usan para construir un dato de 16 bits y el tercer octeto (B) se desprecia. Esta imagen TGA se puede visualizar pero no es la clásica imagen de escala de grises. Es una solución tipo truco y pocos programas pueden generar este tipo de ficheros TGA. La alternativa para poder usar en Povray una imagen de escala de grises de 16 bits por pixel es usar PGM en su variante de formato P5.


He localizado una aplicación interesante para Linux llamada drawmap que no tiene ninguna versión para Windows.

http://linux.about.com/cs/linux101/g/drawmap.htm


Este programa con la opción -h genera una imagen en escala de grises con un formato PGM que mi trazador de rayos Povray no reconocía. Esto es debido a que usa la variante P2 del formato PGM.  La solución es fácil. La reconvierto a P5 usando la utilidad convert de ImageMagikc.

Para pasar de DEM a PGM uso lo siguiente:

drawmap -d FICHERO.dem -h
convert drawmap.pgm P5:drawmap.pgm
convert P5:drawmap.pgm  -bordercolor black -border 1 FICHERO.pgm


Tanto Povray como ImageMagick tienen versiones para Linux y para Windows, y tengo entendido que hay programas que pueden pasar bastantes primitivas de Povray a otros formatos 3D.

Yo con todo esto ahora puedo usar los formatos de datos que drawmap es capaz de usar, pero de momento he encontrado muy poca cosa para descargar y en formato DEM. Pese a que acepta otros formatos, yo de momento no he logrado usar nada más.

Drawmap : dibuja mapas personalizados, utilizando los datos en bruto USGS, lee los datos en el Modelo de Elevación Digital (DEM), Digital Line Graph (DLG), y los nombres de Sistema de Información Geográfica en formato (GNIS). También se puede trabajar con SDTS, NAD-83, WGS-84, los datos GTOPO30.

Buscar estos ficheros descargables es un infierno. La cantidad de sitios que sólo ofrecen basura es enorme y encima te obligan a registro previo. No comprendo como hacen estos sitios para posicionarse en los buscadores, pero llenan de mierda todo Internet.

También puede ocurrir que alguno de los sitios que ofrecen ficheros lo hagan de una forma que yo como perfecto desconocedor, sea incapaz de aprovechar. Estoy bastante desorientado con los ficheros estos. Lo poco que he conseguido me ha costado bastante.  :'(