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.

Objektmodelldiagramm des Typs "ST_Raster"

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

9/11/2013