Was ist der Speichertyp "ST_Raster"?
"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 mit dem Datenbankmanagementsystem (DBMS) zu erstellen, sodass Sie auf Raster-Vorgänge und Abfragen zugreifen und sie verwenden können.
"ST_Raster" wird in Oracle-, Microsoft SQL Server- und PostgreSQL-Datenbanken unterstützt. Der Datentyp wird nicht in SQL Server Express unterstützt.
Um den Typ "ST_Raster" verwenden zu können, müssen Sie ihn im DBMS konfigurieren. Anleitungen dazu finden Sie unter Installieren des ST_Raster-Typs unter Oracle, Installieren des ST_Raster-Typs unter PostgreSQL bzw. Installieren des ST_Raster-Typs unter 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 |
|
Ausdehnung |
Ein optionales Attribut, das die Suchausdehnung speichert |
|
Eigenschaften |
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 |
|
Höhe |
Definiert die Pixelhöhe des Raster-Bandes |
|
Ausdehnung |
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 |
|
Höhe |
Die Pixelhöhe des Objekts |
|
numbands |
Definiert die Anzahl der Objektbänder |
|
Ausdehnung |
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 |
|
Maskieren |
Das NoData-Bitmasken-Array des Objekts |