"ST_Raster" ist ein benutzerdefinierter Datentyp. Er wird in einer einzelnen Zeile gespeichert, in einer einzelnen Spalte des Objekttyps "ST_Raster" in einer benutzerdefinierten Tabelle. "ST_Raster" bietet vollständige Geodatabase-Unterstützung sowie SQL-Zugriff auf Raster-Daten. Sie haben dadurch die Möglichkeit, SQL-Anwendungen zu schreiben, die Raster-Vorgänge und -Abfragen aufrufen und verwenden können.
"ST_Raster" wird in Oracle-, Microsoft SQL Server- und PostgreSQL-Datenbanken unterstützt. Keine Unterstützung gibt es in SQL Server Express, Amazon Relational Database Service for SQL Server oder Amazon Relational Database Service for PostgreSQL.
Zur Verwendung des Typs "ST_Raster" müssen Sie diesen in der Geodatabase konfigurieren. Anleitungen dazu finden Sie unter Installieren von ST_Raster in Oracle, Installieren von ST_Raster in PostgreSQL oder Installieren von ST_Raster in SQL Server.
Der Objekttyp "ST_Raster" wird wie folgt definiert:
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);
Attribut | Beschreibungen |
---|---|
raster_id | Identifiziert jedes Raster innerhalb einer als "ST_Raster" definierten Tabellenspalte eindeutig |
type | Derzeit nur zur internen Verwendung reserviert |
extent | Ein optionales Attribut, das die Suchausdehnung speichert |
properties | Wird verwendet, um verschiedene mit dem Raster verknüpfte Attribute zu speichern, jedoch keine einzelnen Raster-Bänder |
rasterband_list | Eine Sammlung von Raster-Bändern, die bandspezifische Attribute speichern |
data | Reserviertes Feld |
Das Objekt "ST_Raster" besteht aus mehreren Unterobjekten.
ST_RASTERBAND und ST_RASTERBAND_LIST
Der Typ "ST_RASTERBAND_LIST" wird wie folgt definiert:
CREATE TYPE st_rasterband_list
AS VARRAY(4096) OF ST_RASTERBAND;
Der Typ "ST_RASTERBAND" wird wie folgt definiert:
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);
Attribut | Beschreibung |
---|---|
rasterband_id | Identifiziert jedes Raster-Band innerhalb der Spalte des Typs "ST_Raster" eindeutig |
sequence | Behält die Sequenz jedes Bands innerhalb der Raster-Bandsammlung bei; für eine bestimmte Raster-Bandsammlung muss der Sequenzwert für jedes Band innerhalb der Sammlung eindeutig sein. |
types | Eine Bitmaske, die verwendet wurde, um verschiedene Raster-Bandmetadaten zu speichern; einzelne in der Bitmaske enthaltene Attribute können bewertet und durch SQL-Funktionen zugewiesen werden. Der Wert dieses Attributs sollte nicht direkt geändert werden. |
width | Definiert die Pixelbreite des Raster-Bandes |
height | Definiert die Pixelhöhe des Raster-Bandes |
extent | Geographische Ausdehnung des Raster-Bandes |
block_origin | Behält die geographische Koordinate des Blockursprungs bei |
block_width | Definiert die Pixelbreite der Raster-Bandkachel |
block_height | Definiert die Pixelhöhe der Raster-Bandkachel |
flags | Eine Bitmaske mit Raster-Bandmetadaten; einzelne in der Bitmaske enthaltene Attribute können abgerufen und durch SQL-Funktionen zugewiesen werden. Der Wert dieses Attributs sollte nicht direkt geändert werden. |
SE_RASTERPROPERTY und SE_RASTERPROPERTY_LIST
Der Typ "SE_RASTERPROPERTY_LIST" wird definiert als:
CREATE TYPE se_rasterproperty_list
AS VARRAY(1048576) OF SE_RASTERPROPERTY;
Der Typ "SE_RASTERPROPERTY" wird wie folgt definiert:
CREATE TYPE se_rasterproperty AS OBJECT (
name VARCHAR2(65),
intvalue INTEGER,
strvalue VARCHAR2(160));
Attribut | Beschreibung |
---|---|
name | Der Name der Raster-Eigenschaft |
intvalue | Speichert den Ganzzahlwert der Raster-Eigenschaft |
strvalue | Speichert den Zeichenfolgenwert der Raster-Eigenschaft |
SE_EXTENT
Der Typ "SE_EXTENT" wird wie folgt definiert:
CREATE TYPE se_extent AS OBJECT (
minx FLOAT(64),
miny FLOAT(64),
maxx FLOAT(64),
maxy FLOAT(64));
Attribut | Beschreibung |
---|---|
minx | Der minimale X-Koordinatenwert |
miny | Der minimale Y-Koordinatenwert |
maxx | Der maximale X-Koordinatenwert |
maxy | Der maximale Y-Koordinatenwert |
SE_COORD
Der Typ "SE_COORD" wird wie folgt definiert:
CREATE TYPE se_coord AS OBJECT (
x FLOAT(64),
y FLOAT(64));
Attribut | Beschreibung |
---|---|
X | Der X-Koordinatenwert |
y | Der Y-Koordinatenwert |
ST_PIXELDATA
Der Typ "ST_PIXELDATA" wird wie folgt definiert:
CREATE TYPE st_pixeldata AS OBJECT (
width INTEGER,
height INTEGER,
numbands INTEGER,
extent SE_EXTENT,
types INTEGER,
data BLOB,
mask BLOB);
Attribut | Beschreibung |
---|---|
width | Die Pixelbreite des Objekts |
height | Die Pixelhöhe des Objekts |
numbands | Definiert die Anzahl der Objektbänder |
extent | Geographische Ausdehnung des Objekts |
types | Eine Bitmaske, die verwendet wurde, um verschiedene Raster-Metadaten zu speichern; einzelne in der Bitmaske enthaltene Attribute können bewertet und durch SQL-Funktionen zugewiesen werden. Der Wert dieses Attributs sollte nicht direkt geändert werden. |
data | Das Array der Pixelwerte des Objekts |
mask | Das NoData-Bitmasken-Array des Objekts |