Los tipos de ráster se pueden personalizar e implementar en Python en función del tipo de datos ráster que se desee agregar. Los tipos de ráster se pueden comparar con un conjunto de funciones que reconocen el formato de la estructura de metadatos asociada con los datos. El tipo de ráster también puede analizar los metadatos para recuperar información, como rutas de archivos de datos, información de referencia espacial y metadatos (como los parámetros de nombre del sensor, elevación del sol, acimut del sol, distancia del sol, fecha de adquisición, radiancia y reflectancia).
Además de analizar y leer información de metadatos del archivo de metadatos, un tipo de ráster también define las plantillas de procesamiento que se pueden aplicar al tipo de datos que se va a leer. Las plantillas de procesamiento pueden combinar distintos datos de los datos de origen para generar una salida que sea más intuitiva y resulte más cómoda para la visualización y el análisis posterior. La mayoría de los tipos de ráster basados en los datos de los sensores definen Multiespectral como una de sus plantillas de procesamiento. Muchas otras plantillas se pueden definir en función del tipo de datos disponible para un producto. Por ejemplo, el tipo de ráster Landsat 8 define varias plantillas, como Multiespectral, Pancromático, Con refinado pancromático, Vegetación, Cirro y Nieve/Hielo.
Para obtener más información sobre los tipos de ráster de ArcGIS implementados en Python, consulte Github Raster Types.
Propiedades de un tipo de ráster
Un tipo de ráster se crea definiendo una o varias de las siguientes propiedades a partir de los datos de origen:
- Propiedades de la banda: como nombre de la banda, longitud de onda mínima y máxima e irradiancia solar
- Plantillas de procesamiento: plantillas de función de ráster que contienen entradas, funciones y valores o variables
- Campos auxiliares: que se agregan a un dataset de mosaico
- Entradas auxiliares: información adicional requerida por el tipo de ráster para describir completamente la fuente de datos, como un DEM que se debe aplicar al dataset de origen para ortorrectificar la imagen
Implementación de tipos de ráster personalizados
Los detalles de la implementación de un tipo de ráster en un módulo de Python se describen a continuación. Un tipo de ráster es una capa que facilita la interacción con la aplicación para diversos aspectos de los datos. Los tipos de ráster son también esenciales para agregar rásteres a un dataset de mosaico usando la herramienta Agregar rásteres a dataset de mosaico.
El marco de trabajo de ArcGIS identifica los tipos de ráster usando el patrón de fábrica conocido. Un patrón de fábrica de tipo de ráster alberga una colección de tipos de ráster, y la colección se puede organizar según un criterio concreto o puede ser un simple contenedor que albergue todos los tipos de ráster.
Hay tres componentes de un tipo de ráster que se han implementado en Python:
- RasterTypeFactory API
- Builder API
- Crawler_API (opcional)
¿Cómo funciona?
La arquitectura de la implementación de un tipo de ráster en Python es un proceso intuitivo. ArcGIS proporciona un adaptador de tipo de ráster que funciona como interfaz entre el sistema ArcGIS y el módulo de Python para la implementación del tipo de ráster. El adaptador carga el módulo de Python y busca RasterTypeFactory para identificar los tipos de ráster participantes de ese módulo. RasterTypeFactory debe contener al menos una función pública, getRasterTypesInfo, que devuelve información sobre todos los tipos de ráster de la fábrica. La función getRasterTypesInfo devuelve un diccionario de RasterTypeDefinitions. A continuación, el adaptador obtiene información sobre RasterTypes y trata los tipos de ráster basados en Python de la misma forma que otros tipos de ráster que están contenidos en ArcGIS. El marco de trabajo de ArcGIS interactúa con el tipo de ráster basado en Python usando la API del Builder y la API de Crawler.
Una vez que haya implementado el tipo de ráster usando Python, guarde el módulo de Python en la carpeta [InstallDirectory]\Resources\Raster\Types.
El marco de trabajo de tipo de ráster de ArcGIS seleccionará todos los archivos *.py de esta ubicación y comprobará si contienen tipos de ráster válidos. Si se encuentran tipos de ráster válidos, se agregarán a la lista de tipos de ráster compatibles en la herramienta Agregar rásteres a dataset de mosaico.
Para obtener más información sobre la manera de implementar un tipo de ráster en un módulo de Python, consulte Anatomy of Python Raster Type.