¿Qué es el tipo de almacenamiento ST_Raster?
ST_Raster es un tipo de datos definido por el usuario. Se almacena en una fila simple, en una columna simple de tipo de objeto ST_Raster en una tabla definida por el usuario. ST_Raster proporciona una compatibilidad completa para la geodatabase así como acceso SQL a los datos ráster. Esto permite escribir aplicaciones SQL mediante el sistema de administración de bases de datos (DBMS) que puede utilizar y acceder a las operaciones y consultas de ráster.
ST_Raster es compatible con bases de datos Oracle, Microsoft SQL Server y PostgreSQL. No es compatible con SQL Server Express.
Para utilizar el tipo ST_Raster, debe configurarlo en el DBMS. Consulte Instalar el tipo ST_Raster en Oracle, Instalar el tipo ST_Raster en PostgreSQL o Instalar el tipo ST_Raster en SQL Server para obtener más instrucciones.
El tipo de objeto ST_Raster se define de la siguiente manera:
CREATE TYPE ST_Raster AS OBJECT (   raster_id			    INTEGER,   type				        INTEGER,   extent			       SE_EXTENT,   properties			   SE_RASTERPROPERTY_LIST,   rasterband_list	ST_RASTERBAND_LIST 	 data					       ST_PIXELDATA);
| Atributo | Descripciones | 
|---|---|
| raster_id | Identifica unívocamente cada ráster dentro de una columna de la tabla definida como ST_Raster | 
| tipo | Actualmente reservado sólo para uso interno | 
| extensión | Atributo opcional que almacena la extensión de la búsqueda | 
| propiedades | Se utilizan para almacenar varios atributos asociados con el ráster pero no bandas de ráster individuales | 
| rasterband_list | Conjunto de bandas de ráster que almacenan atributos específicos de la banda | 
| datos | Campo reservado | 
El objeto ST_Raster está constituido por varios subobjetos.
 
ST_RASTERBAND y ST_RASTERBAND_LIST
El tipo ST_RASTERBAND_LIST se define de la siguiente manera:
CREATE TYPE st_rasterband_list  AS VARRAY(4096) OF ST_RASTERBAND;
El tipo ST_RASTERBAND se define de la siguiente manera:
CREATE TYPE st_rasterband AS OBJECT (   rasterband_id	INTEGER,   sequence			   INTEGER,   types			      INTEGER,   width			      INTEGER,   height			     INTEGER,   extent			     SE_EXTENT,   block_origin		SE_COORD,   block_width		 INTEGER,   block_height		INTEGER,   flags			      INTEGER);
| Atributo | Descripción | 
|---|---|
| rasterband_id | Identifica unívocamente cada banda de ráster dentro de la columna de tipo ST_Raster | 
| secuencia | Mantiene la secuencia de cada banda dentro del conjunto de banda de ráster; para un conjunto de banda de ráster determinado, el valor de secuencia de cada banda dentro del conjunto debe ser único. | 
| tipos | Una máscara de bits que se utiliza para almacenar varios metadatos de banda de ráster; los atributos individuales contenidos en la máscara de bits se pueden evaluar y asignar mediante las funciones de SQL. El valor de este atributo no debe modificarse directamente. | 
| ancho | Define el ancho de píxel de la banda de ráster | 
| altura | Define la altura de píxel de la banda de ráster | 
| extensión | La extensión geográfica de la banda de ráster | 
| block_origin | Mantiene las coordenadas geográficas del origen de bloque | 
| block_width | Define el ancho de píxel de la tesela de la banda de ráster | 
| block_height | Define la altura de píxel de la tesela de la banda de ráster | 
| marcadores | Guarda un máscara de bits de metadatos de banda de ráster; las funciones de SQL pueden asignar y acceder a los atributos individuales contenidos en la máscara de bits. Este valor de este atributo no debe modificarse directamente. | 
SE_RASTERPROPERTY y SE_RASTERPROPERTY_LIST
El tipo SE_RASTERPROPERTY_LIST se define como:
CREATE TYPE se_rasterproperty_list   AS VARRAY(1048576) OF SE_RASTERPROPERTY;
El tipo SE_RASTERPROPERTY se define de la siguiente manera:
CREATE TYPE se_rasterproperty AS OBJECT (   name				 VARCHAR2(65),   intvalue	INTEGER,   strvalue	VARCHAR2(160));
| Atributo | Descripción | 
|---|---|
| nombre | El nombre de la propiedad de ráster | 
| intvalue | Almacena el valor entero de la propiedad de ráster | 
| strvalue | Almacena el valor de cadena de texto de la propiedad de ráster | 
SE_EXTENT
El tipo SE_EXTENT se define de la siguiente manera:
CREATE TYPE se_extent AS OBJECT (   minx				FLOAT(64),   miny				FLOAT(64),   maxx				FLOAT(64),   maxy				FLOAT(64));
| Atributo | Descripción | 
|---|---|
| minx | El valor mínimo de la coordenada X | 
| miny | El valor mínimo de la coordenada Y | 
| maxx | El valor máximo de la coordenada X | 
| maxy | El valor máximo de la coordenada Y | 
SE_COORD
El tipo SE_COORD se define de la siguiente manera:
CREATE TYPE se_coord AS OBJECT (   x				FLOAT(64),   y				FLOAT(64));
| Atributo | Descripción | 
|---|---|
| x | El valor de la coordenada X | 
| y | El valor de la coordenada Y | 
ST_PIXELDATA
El tipo ST_PIXELDATA se define como:
CREATE TYPE st_pixeldata AS OBJECT ( width    INTEGER, height   INTEGER, numbands INTEGER, extent   SE_EXTENT, types    INTEGER, data     BLOB, mask     BLOB);
| Atributo | Descripción | 
|---|---|
| ancho | El ancho de píxel del objeto | 
| altura | La altura de píxel del objeto | 
| numbands | Define la cantidad de bandas del objeto | 
| extensión | La extensión geográfica del objeto | 
| tipos | Una máscara de bits que se utiliza para almacenar varios metadatos de ráster; los atributos individuales contenidos en la máscara de bits se pueden evaluar y asignar mediante las funciones de SQL. El valor de este atributo no debe modificarse directamente. | 
| datos | El conjunto de valores de píxel del objeto | 
| máscara | El conjunto de la máscara de bits NoData del objeto |