Skip to main content

Implementación de tipo de ráster personalizado en Python

Los tipos de ráster pueden personalizarse e implementarse en Python según el tipo de datos ráster que quiera agregar. Los tipos de ráster pueden compararse con un conjunto de funciones que reconocen el formato de la estructura de metadatos asociada a sus datos. El tipo de ráster también puede analizar los metadatos para recuperar información como por ejemplo rutas hacia los archivos de datos, información de referencia espacial y metadatos (nombre del sensor, elevación del sol, azimut del sol, distancia al sol, fecha de adquisición, radiancia y parámetros de reflectancia).

Además de analizar y leer la información de metadatos del archivo de metadatos, un tipo de ráster también define las plantillas de procesamiento aplicables al tipo de datos que se están leyendo. Las plantillas de procesamiento pueden combinar diferentes elementos de información de los datos origen para generar una salida más significativa y cómoda para la visualización y el análisis posterior. La mayoría de los tipos de ráster basados en datos de sensores definen Multiespectral como una de sus plantillas de procesamiento. Muchas otras plantillas pueden definirse en función del tipo de datos disponibles para un producto. Por ejemplo, el tipo de ráster Landsat 8 define varias plantillas como por ejemplo Multiespectral, Pancromático, 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 Tipos de ráster Github.

Propiedades de un tipo de ráster

Un tipo de ráster se crea definiendo una o más de las siguientes propiedades a partir de sus datos origen:

  • Propiedades de banda: como por ejemplo nombre de banda, longitud de onda mínima y máxima, e irradiancia solar

  • Plantillas de procesamiento; plantillas de función 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 debe aplicarse al dataset origen para ortorrectificar la imagen

Implementación de tipo de ráster personalizado

Los detalles para implementar 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 en varios aspectos de los datos. Los tipos de ráster también son fundamentales para agregar rásteres a un dataset de mosaico usando la herramienta Agregar rásteres a dataset de mosaico.

El marco ArcGIS identifica los tipos de ráster utilizando el conocido patrón de fábrica. Una fábrica de tipos de ráster alberga una colección de tipos de ráster, donde la colección puede organizarse según criterios específicos, o puede ser simplemente un contenedor que contiene todos los tipos de ráster.

Hay tres componentes de un tipo de ráster que se implementan en Python:

¿Cómo funciona?

La arquitectura de implementación de un tipo de ráster en Python es un proceso intuitivo. ArcGIS proporciona un adaptador de tipo de ráster que se conecta con el sistema ArcGIS y el módulo Python para la implementación del tipo de ráster. El adaptador carga el módulo Python y busca RasterTypeFactory para identificar los tipos de ráster participantes dentro de este módulo. RasterTypeFactory debe contener al menos una función pública, getRasterTypesInfo, que devuelve información sobre todos los tipos de ráster dentro de la fábrica. La función getRasterTypesInfo devuelve un diccionario de RasterTypeDefinitions. El adaptador recupera entonces información sobre RasterTypes y trata los tipos de ráster basados en Python de la misma manera que cualquier otro tipo de ráster contenido en ArcGIS. El marco ArcGIS interactúa entonces con el tipo de ráster basado en Python usando Builder API y Crawler API.

Una vez que haya implementado su tipo de ráster usando Python, coloque el módulo de Python en la carpeta [InstallDirectory]\Resources\Raster\Types.

El marco de tipo de ráster en ArcGIS recopilará 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 admitidos en la herramienta Agregar rásteres a dataset de mosaico.

Para obtener más información sobre cómo implementar un tipo de ráster en un módulo de Python, consulte Anatomía del tipo de ráster de Python.