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 |