Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INFORMEMATEMATICAS ESPECIALES:
LEER UN RASTER DE SUPERFICIE
CONTINUA
INTEGRANTES:
Jhon Alexander Amaya
Adrián Alejandro Marín
Nicolás Soto León
María Camila Bolaños
ASIGNATURA: Matemáticas
Especiales
PROFESOR: Robín Olaya
18-7-2019
INTRODUCCIÓN
Leer un raster de superficie continua (altura, temperatura, radiación solar, etc.) que
permita visualizar la imagen, muestre las estadísticas de la misma (resolución,
tamaño, celda número de filas y columnas, valor máximo y valor mínimo, etc.) que
permita ingresar una coordenada X, Y que devuelva el valor de pixel en ese punto,
aplicando los conocimientos adquiridos en el curso de matemáticas especiales.
Contenido
OBJETIVOS. ......................................................................................................................................... 3
Objetivo General. ............................................................................................................................ 3
Objetivos Específicos. ...................................................................................................................... 3
RASTER ................................................................................................................................................ 4
Rásteres en forma de mapas base .................................................................................................. 4
Rásteres en forma de mapas de superficie ..................................................................................... 5
Rásteres en forma de mapas temáticos .......................................................................................... 5
Rásteres en forma de atributos de una entidad ............................................................................. 6
¿Por qué se han de almacenar datos en forma de ráster? ......................................................... 7
3.CARACTERISTICAS DEL RASTER ....................................................................................................... 7
Resolución Raster: ........................................................................................................................... 7
Tipos de resolución ......................................................................................................................... 8
La resolución espectral:................................................................................................................... 8
La resolución temporal: .................................................................................................................. 9
La resolución radiométrica:............................................................................................................. 9
Resolución espacial y escala ............................................................................................................ 9
Celda:............................................................................................................................................. 10
METODOLOGIA ................................................................................................................................. 11
BIBLIOGRAFIA ................................................................................................................................... 21
OBJETIVOS.
Objetivo General.
Implementar las herramientas que nos brinda Python para crear un Raster
de superficie continua que nos permita visualizar sus características.
Objetivos Específicos.
Los datos almacenados en formato ráster representan fenómenos del mundo real:
Los rásteres son apropiados para representar datos que cambian continuamente en
un entorno (superficie). Ofrecen un método efectivo para almacenar la continuidad
en forma de superficie. También proporcionan una representación de superficies
con espacios regulares. Los valores de elevación que se miden desde la superficie
de la Tierra son la aplicación más común de los mapas de superficie, pero otros
valores, como las precipitaciones, la temperatura, la concentración y la densidad de
población, también pueden definir superficies que se pueden analizar
espacialmente. En el siguiente ráster se visualiza la elevación: se utiliza el color
verde para mostrar una elevación menor y celdas de color rojo, rosa y blanco para
mostrar elevaciones mayores.
Los rásteres que representan datos temáticos se pueden derivar al analizar otros
datos. Una aplicación de análisis común consiste en clasificar una imagen de
satélite por categorías de cobertura de suelo. Básicamente, esta actividad agrupa
los valores de datos multiespectrales en clases (como tipo de vegetación) y asigna
un valor categórico. También es posible obtener mapas temáticos a partir de
operaciones de geoprocesamiento que combinen datos de varias fuentes como, por
ejemplo, datos vectoriales, ráster y de terreno. Por ejemplo, puede procesar datos
por medio de un modelo de geoprocesamiento para crear un dataset ráster
apropiado para una actividad específica. A continuación, encontrará un ejemplo de
dataset ráster clasificado en el que se muestra el uso del suelo.
Los rásteres utilizados como atributos de una entidad pueden ser fotografías
digitales, documentos escaneados o dibujos escaneados relacionados con un
objeto o ubicación geográfica. Una capa de parcela podría tener documentos
legales escaneados que identifiquen la transacción más reciente de dicha parcela,
o una capa que represente las entradas a una cueva que podría incluir imágenes
de las entradas reales a las cuevas asociadas a las entidades de puntos. A
continuación, encontrará una imagen digital de un viejo árbol de gran tamaño, que
podría utilizarse como atributo de una capa de paisaje que puede mantener una
ciudad.
¿Por qué se han de almacenar datos en forma de ráster?
En ocasiones no contará con la opción de almacenar los datos en forma de ráster,
ya que, por ejemplo, las imágenes solo se encuentran disponibles en forma de
ráster. No obstante, existen otras muchas entidades (como de puntos) y mediciones
(como de precipitaciones) que se podrían almacenar ya sea en forma de ráster o de
tipo de datos de entidad (vector).
Las ventajas de almacenar los datos en forma de ráster son las siguientes:
Existen otras consideraciones para almacenar los datos en forma de ráster que
podrían convencerle para que utilice una opción de almacenamiento basada en
vectores. Por ejemplo:
Tipos de resolución
Cuando se trabaja con datos ráster con imágenes, se deben tener en cuenta cuatro
tipos de resolución: resolución espacial, resolución espectral, resolución temporal y
resolución radiométrica.
METODOLOGIA
Usando el módulo de Python Osgeon y uno de sus sub módulos operativos GDAL,
mediante el uso de una Scanline la cual funciona como un escáner que analiza y
procesa cada pixel del raster según el número de filas y columnas de este, el método
Scanline / Struct depende de Fmttypes y sus valores se pueden proporcionar en un
diccionario, este módulo funciona con análisis espaciales de tipo raster y permite
emplear múltiples funciones y características funcionales para el desarrollo del
proyecto.
Para la metodología a emplear es necesario la instalación del módulo Osgeon el
cual nos permitirá importar, ejecutar y manipular el formato tipo raster desde
comando de Python, para importar un raster, la cual es una librería que contiene el
módulo Gdal.
La estructura del programa constara de una interfaz gráfica que pida al usuario en
primera instancia importar al archivo ejecutable desde la carpeta en que este se
encuentre, desarrollando un código que permita esta función. Seleccionando el
archivo directamente desde su ubicación y pueda cargarse al programa, luego de
cargarse, pueda mostrarse el raster como tal y mostrar datos estadísticos básicos
sobre el raster, como número de filas y columnas, valor máximo y mínimo de pixel
y su resolución, además de pedirle al usuario datos coordenados X Y para saber y
determinar valores específicos del cierto pixel, como su altura o radiación
dependiendo de la temática del raster.
La interface básicamente constará de un botón el cual permitirá abrir el archivo
raster desde su ubicación y dos cajones de texto para ingresar las coordenadas X.
Y, textos emergentes donde se evidenciará l información del raster.
A continuación, describiremos el proceso que realizamos para poder ejecutar el
raster:
El Open es el método el cual realiza una búsqueda del archivo con el nombre
especificado con extinción.
raster = gdal.Open(nombreTXT.get())
El método raster.GetRasterBand retorna la cantidad de bandas en la cual la posición
1 es la suma de todas
band = raster.GetRasterBand(1)
En este metodo band.ReadAsArray combierte la la imagen en una matriz numerica
o arreglo
rasterArray = band.ReadAsArray()
el + es una concatenación de términos de los cuales el x esta en medio de los dos.
shape es una propiedad ósea una información que me determina la resolución de
la imagen por medio de un arreglo
se debe tener cuenta que al momento de recorrer el arreglo la posición de las
coordenadas es inverso al de la imagen
lo que se dice es que x,y en la imagen queda como y,x en el arreglo
el 1 y 0 es la posicion del valor de la resolucion en el arreglo
rasterArray es la descricion de la matriz numerica
El STR combierte cualquier informacion a texto
resolucion = str(rasterArray.shape[1]) + " x " + str(rasterArray.shape[0])
filas = band.YSize
filasLBL.configure(text = str(filas))
columnas = band.XSize
columnasLBL.configure(text = str(columnas))
minValue = minValueInRaster(rasterArray)
minLBL.configure(text = str(minValue))
maxValue = maxValueInRaster(rasterArray)
maxLBL.configure(text = str(maxValue))
def minValueInRaster(ra):
como hay zonas en el tif que no poseen información tomamos el valor de esos
pixeles que no poseen información y le asignamos una descripción con el fin de
evirtar tomar estos valores como mínimos
noData = ra.min()
value = ra.max()
for x in range(ra.shape[1]):
for y in range(ra.shape[0]):
return value
def maxValueInRaster(ra):
value = ra.min()
for x in range(ra.shape[1]):
for y in range(ra.shape[0]):
if value < ra[y,x]:
value = ra[y,x]
return value
def findValue():
x = int(xTXT.get())
y = int(yTXT.get())
value = rasterArray[y, x]
valorLBL.configure(text = str(value))
def showRaster():
plt.imshow(rasterArray, cmap="gray")
plt.show()
window = Tk()
window.title('Lector Raster')
window.mainloop()
BIBLIOGRAFIA
http://desktop.arcgis.com/es/arcmap/10.3/manage-data/raster-and-
images/what-is-raster-data.htm
https://www.anaconda.com/distribution/
https://anaconda.org/conda-forge/gdal