domingo, 13 de enero de 2008

CONVERTIR UN ARCHIVO XYZ A RASTER EN ARCGIS 9.2

Cuando se trabaja con programas SIG, muchas veces acudimos como para tantas otras cosas a la web para encontrar solución a problemas técnicos que se plantean. Yo lo hago a menudo y existen algunos foros de discusión verdaderamente buenos. Hoy me he decidido a describir la conversión de un archivo “.xyz” en raster para su uso con Arcgis 9.2, por lo que me ha costado a mi descubrirlo. La solución la encontré en uno de los foros a los que me refería, en este caso http:\\foro.gabrielortiz.com, pero aún así hubieron pasos que no estaban claros, por ello dejo aquí esta guíaburros que a veces nos son de mucha utilidad.
¡IMPORTANTE! Si transformamos el .xyz a .txt y la separación de las columnas de datos está hecha por tabulaciones, podemos pasar directamente al paso 3, usando directamente el .txt para ADD XY en Arcgis.
Paso 1
Se cuenta con un archivo en formato .xyz. Es mejor cambiar la extensión a .txt, ya que de otra forma no es operativo para el método que se va a emplear en su conversión. Puede ser que ya lo tengamos en .txt, de cualquier forma, la estructura que deben tener los datos es la que se ve abajo.
Como se observa, aparecen las columnas en orden de izquierda a derecha, los valores x, y, z. Siendo x, y las coordenadas y z el valor concreto, en este caso de altitud. No es necesario que añadamos encabezados a las columnas.
Paso 2 (SÓLO CUANDO ARCGIS NO LEE EL .TXT PARA ADD XY).
Se convierte el .txt en .dbf, para ello he utilizado el Access de Microsoft. Esto se hace siguiendo la siguiente secuencia.
a) Se crea una nueva base de datos e importamos una tabla. Se elige el formato .txt.

b) En el asistente de importación del Access, he marcado las siguientes opciones.

c) Luego se selecciona, importar en una tabla nueva y se cambian los nombres de los campos por x, y, z.

d) En los siguientes pasos, se permite a Access agregar la clave principal, luego se da un nombre a la tabla.

e) Una vez creada la tabla, esta se exporta a .dbf. Se hace clic con el botón derecho sobre la tabla y se exporta en dBASE IV(*.dbf).

Paso 3
Una vez que se ha convertido el archivo .txt a .dbf, los siguientes procesos se desarrollan totalmente en el Arcgis 9.2.
Se utiliza Add XY Data, que se encuentra en el menú Tools. Seleccionamos el .dbf como origen de los datos e indicamos en que campos se encuentran los valores X e Y.
Paso 4
Una vez añadido el feature de puntos mediante las coordenadas X,Y, este se exporta para almacenarlo en formato shape.


Paso 5
Almacenado el feature de puntos como shape o feature class como se quiera, lo siguiente es transformar todo esta malla de puntos, en este caso con valores altimétricos, a un raster. Yo he utilizado la herramienta Point to Raster, seleccionando el tipo de asignación de celda El más frecuente y dando el tamaño de la celda, en este caso es conocido, siendo de 25 metros.

Este sería el resultado, después de realizar un modelo de sombras (herramienta hillshade).

IN jaimegeografo.blogspot.com . Espero que haya servido a alguien. Saludos.

39 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. ESTIMADO AMIGO TENGO UNA CONSULTA ,RESULTA QUE BAJE UNAS IMAGENES DE GETECH PAR WORLD WIND ES UN MAPA MAGNETICO QUE ESTA MUY BUENO Y SE ABRE CON WORLD WIND PERO ESTA EN EXTENSION XYZ Y NO SE COMOP ABRIR O INSTALARLO EN EL W.W.AGRDESERIA ALGUNA SOLUCION. ATTTE ALÑBERTO DE ARGENTINA

    ResponderEliminar
  4. Hola Alberto. No suelo utilizar el word wind de NASA, únicamente como visualizador para servicios wms (web map service) y para wmj (web map java, este último formato creo que es propio de ellos. Echa un vistazo a esta página, http://www.iagt.org/servir/servir_viz/Espanol/ se describe un procedimiento similar.
    Siento no poder ayudarte más en este caso.

    ResponderEliminar
  5. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  6. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  7. He eliminado los comentarios de esta entrada que no aportaban nada a mi blog y pienso que a nadie, incluyendo los míos. Lo que aparece en este artículo ha sido ilustrado de la solución recogida en otro espacio, si a usted le es útil me alegro de haberle ayudado. Seguiré publicando con al menos, buenas intenciones. A partir de ahora trataré de moderar mejor los comentarios. Muchas gracias por su colaboración en el blog.

    ResponderEliminar
  8. Hola Jaime,no se como resolver una duda, y esq tengo coordenadas deun mismo municipio donde esta dividido por dos husos distintos, como hago para representar.gracias!! grata sorpresa al descubrirte.marta.

    ResponderEliminar
  9. Hola Marta, para mi es también una grata sorpresa, gracias por participar en el blog. ¿De qué municipio se trata? Si son husos UTM, y hablamos de España, tendrás que decidir. De Oeste a Este tienes los usos UTM, 28 (Canarias) 29 (Galicia), 30 (Centro y Oeste), 31 (Cataluña, Baleares, zona oriental). Muchas veces cuando trabajan con el territorio español de la península se trabaja todo en UTM zona 30N. No sé que más concretar, quizás si me explicas un poco mejor puedo ayudarte más. Saludos, y de nuevo gracias por visitar este espacio.

    ResponderEliminar
  10. Hola jaime muchos saludos
    Te escribo desde Caracas, Venezuela, desde la universidad Simon Bolivar.
    necesito que me ayudes con un dato
    tengo un archivo .txt que es raster: el comienza de esta manera:

    ncols 55
    nrows 21
    xllcorner -64.5749969
    yllcorner 9.9750004
    cellsize 0.0499999290909092
    5.53002805954894 5.49247176464095 5.41424175845307 5.45944738481654 5.42860345572055 5.48040234200179 5.47396355339715 5.46464022655581 5.48622523946955 5.48251960204614
    por supuesto estos datos son mucho mas largos, solo coloque una muestra.
    mi pregunta es:
    como hago para visualizar estos datos en ArcGIS 9?
    gracias por tu colaboracion
    saluddos

    ResponderEliminar
  11. Hola amigo de Caracas,

    Creo que tienes un archivo ASCII, y el encabezado es el que acepta sin problemas el Arcgis. Utiliza la herramienta ASCII to raster, para poder transformarlo y visualizarlo para trabajar con él. Te paso el link de ESRI donde tienes ayuda para ello.
    Saludos
    http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=ascii_to_raster_(conversion)

    ResponderEliminar
  12. Gracias jaime, tremenda ayuda!!!!
    ya lo resolvi
    Saludos

    ResponderEliminar
  13. Hola, soy francisco y tengo unos archivos con la extension .xyz, son mapas que necesito para trabajar en un programa de navegacion llamado Ozi Explorer. Alguno de Ustedes podria decirme como se pueden convertir a JPG, TIFF, BMP o PDF? Desde ya muchas gracias!

    ResponderEliminar
  14. Hola Francisco,
    Si no utilizas algún software gis lo veo complicado. Existe un programa, el global mapper, que permite cargar los x,y,z de manera sencilla. Lo que no sé es si con la versión de prueba del producto puedes luego exportar el raster en uno de los formatos que comentas.
    El programa lo puedes descargar en:

    http://www.globalmapper.com/

    Suerte!!

    ResponderEliminar
  15. Hola buen dia, te escribo desde Caracas, Venezuela.
    tengo un conjunto de 700 archivos ASCII para ser convertidos en mapas raster.
    en ARCGIS 9.2 hay alguna funcion que transforme los 700 archivos en mapas raster de manera masiva?
    gracias por su ayuda.
    Saludos Cordiales

    ResponderEliminar
  16. hola saludos, le escribo desde Venezuela, tengo una carpeta con muchos archivos ASCII para ser vistos en raster, habrá una forma tal como model builder para procesar todos los datos al mismo tiempo y generar los mapas.
    saludos cordiales

    ResponderEliminar
  17. Para realizar estas operaciones masivas desde Arcgis 9.2, como bien comenta Raúl pueden usar model builder. Si no se conoce lenguaje de programación para construir un script en VBS o Phyton, pueden tratar de fabricarlo a través del model builder. Por ejemplo, para este caso construyen un modelo donde realicen la conversión de 2 o 3 archivos ASCII a raster, mediante la herramienta correspondiente. Luego pueden exportar el modelo desde el model builder a Phyton o VBS como Script. Por último pueden abrir el Script incluso en un notepad y fijarse en la sintaxis para luego reproducirla igual cambiando los nombres de los archivos tanto los de entrada ASCII como los destino Raster.
    Si necesitan alguna ilustración o tienen alguna duda sobre algún paso escríbanme e intentaré volver a contestar pronto. Muchas gracias por participar en el blog del geógrafo.

    ResponderEliminar
  18. gracias Sr. Jaime Diaz, lo intentaré, si tengo exito le aviso y si no lo tengo tambien le aviso para que siga auxiliando
    muy amable de su parte por la ayuda prestada.
    atte.
    Raul

    ResponderEliminar
  19. Hola a todos los amigos de este blog. Mi comentario es para Raul Ramirez: para hacer lo que pides creo que una buena opción es hacer un batch de la herramienta "ASCII to Raster", esto se hace desde las ArctoolBox clikeando con el botón derecho encima de la herramienta y eligiendo del menú contextual la opción "batch". Con esto puedes realizar una misma operación para muchos archivos o capas. De todas formas yo no metería más de 50 de una vez, es más, probaría 10 primero para ver como va y luego iría metiendo el resto.

    Espero te sirva de ayuda este comentario y aprovecho para felicitar al creador de este blog, hay que seguir haciendo lo posible por compartir el conocimiento y éste es un un medio muy bueno, ánimo.

    ResponderEliminar
  20. Hola! no he entendido muy bien los pasos en "point to raster". al final me sale una malla con un degradado de negro a blanco y no me hace el modelado. ¿podrías especificar cómo lo has hecho paso por paso?
    muchas gracias, Jaime

    ResponderEliminar
  21. Hola! Entiendo que has generado el modelo digital de elevación, una malla raster con valores de altitud en cada celdas. Con esa capa raster, mediante la herramienta "hillshade" , puedes extraer un modelo de sombras, donde el programa a través de un cálculo de la inclinación de los rayos de luz sobre la superficie genera una imagen como que observas arriba y que simula la realidad. Espero haberte ayudado, un saludo.

    ResponderEliminar
  22. Buen día a todos! Tengo un enorme problema, necesito convertir una cantidad considerable de archivos .dat a ASCII RASTER, intente seguir las instrucciones descritas en esta pagina pero me encontre conque no tengo la herramienta de Point to Raster, alguien podria ayudarme y si de paso me explican un poco se los agradecere.
    Un saludo desde México...
    Paty

    ResponderEliminar
  23. Hola Paty,
    http://arcscripts.esri.com/details.asp?dbid=12876
    aquí tienes un script que alguien ha elaborado. Yo no lo he utilizado, parece un programita sencillo que alguien a elaborado para convertir xyz files a ASCII RASTER. Espero que pueda servirte.
    Es posible que sólo tengas licencia arcview en Arcgis y por eso no tengas esa herramienta. Yo no recuerdo que herramientas tiene Arcview, ¿quizás tenga ASCII to RASTER? También puede ser otra solución.
    Siento no poder ayudarte más. Si quieres ponerte en contacto por correo y enviar algún archivo de ejemplo, quizás podría hacer algo más.
    He enviado la duda a otras personas del foro. Saludos.

    ResponderEliminar
  24. Hola Jaime. Sólo tengo una duda: A la hora de crear un MDE a partir de los puntos en .txt ¿cuando crear un TIN y luego pasarlo a raster? ¿cuando pasar esos puntos a raster como tú lo has hecho con Poitn To Raster? y ¿cuando emplear algún método de interpolación (como IDW)?
    ¿Los resultados obtenidos con cualquiera de estos métodos es similar al resto?

    ResponderEliminar
  25. Hola,
    En el caso de este ejemplo del blog, lo hice con point to raster porque hay un malla "perfecta" de puntos que en cierto modo cada uno representa el valor de la celda, en este caso de 25 m. Cuando no tienes una malla regular de puntos de información, si sería preciso interpolar por ejemplo con IDW o otro tipo de interpolación que consideres. Si por ejemplo tienes las curvas de nivel que proporciona un mapa topográfico, viene bien hacer un TIN y luego un raster por interpolación para obtener esa malla regular. Todo son operaciones para modelar y cubrir los vacíos de información a partir de unos puntos con valores conocidos. También dejo aquí este enclace que me han pasado hace poco, donde en el completo website de Javier Herrero Lantarón, este deja una aplicación muy útil (WiM-tools) que realiza las siguientes funciones:
    * Convertir de formato gridded XYZ (p.e. exportaciones del Modelo Digital del Terreno de Andalucía 2005) a raster ASCII ArcGIS
    * Convertir de formato ASCII Grid Surfer a raster ASCII ArcGIS
    * Convertir de formato ASCII ArcGIS a formato WiM-Med y viceversa
    * Cambiar todas las comas de un fichero por puntos y viceversa

    web: http://www.ugr.es/~herrero/

    Espero que te haya ayudado en algo. Saludos. Feliz Año 2010

    ResponderEliminar
  26. hola amigos! espero desesperadamente que alguin sepa contastarme una pequeña duda. tengo que trabar con un programa que requiere como datos de entrada datoas ascii grid con estendion .asc, los datos que dispongo son .shp, mediante argis he conseguido pasarlos a raster en primer lugar y luego transformarlos en ascii pero con estension .txt y no .asc, como podria lograrlo?? muchas gracias

    ResponderEliminar
  27. Hola Daniel,

    Creo que puedes abrir tu archivo con txt y guardarlo con extensión .asc. Tienes que cambiar en el desplegable el tipo de archivo de .txt a all files. Luego pones en el nombre el archivo.asc y lo guardas. En principio creo que debe funcionar. Una vez guardado también debes fijarte como quiere el encabezado de tu archivo .asc para tu programa. En ArcGIS requiere esta forma:

    ncols 2595 (este es el número de columnas)
    nrows 2839 (este es el número de filas)
    xllcorner 365812 (coordenadas x del pixel superior izquierdo)
    yllcorner 4415535 (coordenadas y del pixel inferior izquierdo)
    cellsize 50 (este es el tamaño de celda)
    NODATA_value -9999 (este es el valor NODATA)

    pero tu programa puede requerir otra forma.
    Espero que te sirva, saludos.

    ResponderEliminar
  28. Daniel, olvidé comentarte que el archivo lo puedes abrir con el mismo bloc de notas si utilizas windows.

    ResponderEliminar
  29. Muchas gracias por contenstar tan rápido, da gusto encontrar gente tan amable por el mundo, pero lamentablemente no he logrado intodudir los datos de esa manera, me sale el siguiente mensaje: "Error: raster fiel not supported ,FARSITE only accepts grass or arcgrid ASCII files" siento molestarles pero si alguien tuviera una idea de como solucionarlo me seria de gran ayuda; farsite es el programa(un simulador de incendios forestales) Muchas gracias de nuevo

    ResponderEliminar
  30. Hola Daniel, espero que alguien más aporte algo. De todos modos ya que me confirmas el programa que utilizas FARSITE, este parece muy interesante. No lo conocía. Trasteando un poco en internet veo que uno de los formatos que acepta tal como dice es el ascii. Si exportar un raster como has hecho a ascii en txt y luego lo guardas como *.asc debería poder importarlo. Aquí te dejo unos enlaces donde puedes comprobar que el formato ascii grid es el que te dije anteriormente.

    http://docs.codehaus.org/display/GEOTOOLS/ArcInfo+ASCII+Grid+format

    www.prism.oregonstate.edu/pub/prism/gem/.../Arcinfo_Format.doc

    Sólo fíjate si el sistema de coordenadas lo acepta el programa. También si requiere la separación de los campos por espacios y también si los datos x,y son integer o decimales.

    Suerte, un saludo.

    ResponderEliminar
  31. hola...veo que das buenas respuestas a tu gente.

    sabes que tengo el medio problema...tengo puntos gps (x,y,z) en excel, de unas secciones que hice a un rio. ahora quiero ver el perfil trasversal de rio pero aun no se como..

    me podrias ayudar. me dijeron q con arcgis se puede pero no se como..

    ResponderEliminar
  32. Hola,
    En principio tienes que convertir la información de la tabla excel a un archivo shapefile de puntos. Esto lo puedes hacer usando la herramienta de ArcGIS situada e el desplegable Tools/Add XY Data. Para ello es mejor que guardes el archivo excel en formato dbf4 o simplemente como un .txt. Cada columna debe tener un encabezado, p.e.:

    coordx coordy altitud(z)
    704553 4645452 180
    (...)

    En el paso 3 explicada tienes el ejemplo de como hacerlo.
    Cuando por fin tengas las coordenadas visualizadas como puntos en ArcMap, puedes exportarlas (export data) p.e. como shapefile.
    Luego si cuentas en ArcGIS con la extension 3D Analyst, puedes utilizar "convert" incluido en este módulo, para convertir tu shapefile a "feature 3D", utilizando la coordenada z (que ya tienes en la tabla de atributos de tu shapefile de puntos).
    Luego usa ArcScene para visualizar la nueva "feature", modificando en las propiedades las alturas de la base "base heights", creo que podrías ver algo parecido a la sección transversal de tu río.

    ResponderEliminar
  33. Hola Jaime. Te hablo de Peru y utilizo el ArcGIs por primera ves y quiero saber como puedo ver un archivo en excel en ArgGis. y convertir estos datos o ver como mapa es decir en capas de colores
    gracias

    ResponderEliminar
  34. Hola Jaime, es la primera ves que uso ArcGIS y no tengo idea como puedo convertir un archivo excel para ver en capas de colores en ArcGIS
    es decir quiero ver los datos de excel como un mapa de colores

    ResponderEliminar
  35. Hola Yetsabel,
    bienvenido. La operación que me comentar es muy sencilla de las que más se usan en un sig, a la hora de elaborar mapas temáticos. Para arcgís seguro que encontrarás muchos manuales básicos en la red donde te explican muy claro como hcer un join entre tablas y luego representar los favor con una simbología de todos modos te doy algunos consejos. 1. Organiza bien tu tabla en una hola excel nueva y limpia. 2. El nombre de los campos que no tenga más de 8 caracteres, que no empiecen por un número y sin símbolos. 3. La tabla debe tener un campo coincidente con la tabla de la cobertura a la que quieres unir, esto es, si tienes una cobertura de polígonos de municipios, su tabla tiene que tener un campo con nombre o código de municipio que coincida con otro campo de la tabla de información que tienes en excel. Cuidado porque si algún código o nombre o código en tus tablas no coincide luego no se unirán. Imagina que en tu cobertura un municipio se llama á y en la tabla excel se llama a, no funcionara la unión.4 abre la tabla excelente en la arcgís te preguntara que hola del libro excel quieres abrir. Elige la hola donde están tus datos. Luego abre la tabla y mira si todos los datos se visualizan bien, en este caso es mejor que en un arcgis exportes la tabla a dbf, esto es, botón derecho sobre la tabla. Export, y guarda como dbf. 5 está nueva tabla la unes (botón derecho sobre la capa. Join) a la cobertura plpo el campo común entre las tablas. Tendrás que indicarle cual es ese campo para la ancestrales y para la tabla. 6 una vez unida la información ya puedes ir a simbología y presentar tú variable.
    Suerte!gía.

    ResponderEliminar
  36. Hola a todos,
    Tengo el siguiente problema, e convertido mis puntos a raster con un tamaño especifico 12.5 lo cual necesito ahora el problema consiste en que el punto no es el centro del cuadro, yo necesito que el centro sea la coordenada especifica u otra herramienta que me pueda facilitar la trasformación de punto a cuadrado ejemplo son locaciones de ciertas áreas las cuales tienen de frente 12.5 como de largo un cuadrado perfecto pero que la coordenada es el centro de esta locación, y comprobando la trasformación que realiza de punto a rastes no lo coloca al centro.
    Por favor si me pueden ayudar estaría muy agradecido.
    Att. David Justiniano

    davidmjg@hotmail.com

    ResponderEliminar
  37. Hola Justiniano,
    No sé si he entendido bien tu objetivo. Pero me arriesgo a contestar en base a lo que he entendido. Entiendo que tienes una serle de puntos en formato vectorial con un valor asociado y quieres convertir cada uno de estos puntos a polígono cuadrado cuyo centroide de cada corresponda a la posición del punto. Si conviertes los puntos a raster y los puntos no forman una malla perfecta el centro de las celdas no tienen que coincidir con la posición de tus puntos. Por tanto trataría de buscar una herramienta para convertir puntos a polígonos, en este caso cuadrados. Si no recuerdo mal el paquete de herramientas ET Geowizards traía esta función. También ArcGÍs en las últimas versiones tiene algo de estas conversiones geometricas. Tienes que hacer tu busqueda internet por el tópico point to polygon.Espero que te sirva. Saludos!

    ResponderEliminar
  38. Hola a todos y todas, tengo una gran duda, estoy en primer semestre de geografía y me ha gustado mucho, pero no estoy muy enterado de los trabajos que puede desempeñar un geografo y de igual manera me preocupa no poder conseguir trabajo, también me preocupa no ser bien remunerado, si alguien me pudiera resolver las dudas lo agradecería mucho!

    ResponderEliminar
  39. Hola Sergio, te podría recomendar que te pusieras en contacto con el colegio de geógrafos, no obstante, lo más útil en este foro creo que puede ser darte mi opinión. Encontrar hoy un buen trabajo, bien remunerado y además con cierta estabilidad, no es sólo una misión complicada para un geógrafo, sino para muchos licenciados en otras disciplinas. Yo, en el comienzo del grado, no me preocuparía tanto por esa cuestión. Ahora lo más importante debería ser que te guste lo que estás estudiando, esto te ayudará a ser luego un buen profesional. Debes pensar que tal y como están funcionando ahora las cosas, probablemente tengas que hacer luego un máster de especialización. Algo que es desde mi humilde opinión, muy importante es que adquieras destreza en el manejo de las nuevas tecnologías (tecnologías de la información geográfica), idiomas (inglés especialmente) y que trates de formarte al menos durante algún tiempo en otros países distintos al tuyo de origen.

    ResponderEliminar