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 |