Raster-Datasets und Raster-Kataloge in einer in DB2 gespeicherten Geodatabase
Raster-Daten sind räumliche, in einem Array von gleich großen, in Zeilen und Spalten angeordneten Zellen dargestellte Daten. Raster-Daten können aus einem oder mehreren Raster-Bändern bestehen. Eine ausführliche Erklärung der Raster-Daten und den zugehörigen Attributen finden Sie unter "Raster-Daten" in dieser Hilfe. Beginnen Sie mit dem Abschnitt Was sind Raster-Daten?
Raster in ArcGIS for Desktop
In ArcGIS können Raster-Daten in einem einzelnen Raster-Dataset, Raster-Katalog oder Mosaik-Dataset gespeichert werden. Eine Beschreibung dieser Raster-Speichertypen finden Sie unter Organisation von Rasterdaten.
Im Kataloginhaltsverzeichnis verfügen einzelne Raster-Datasets in DB2 über folgende Symbole:
Ein Raster-Katalog im Kataloginhaltsverzeichnis verfügt über folgendes Symbol:
Die Namen von Raster-Katalogen und Raster-Datasets in DB2 enthalten den Namen der Datenbank, den Namen des Besitzers des Raster-Katalogs oder -Datasets sowie den Namen des Raster-Katalogs oder -Datasets selbst.
Beispiel: Das Raster-Dataset "world", das dem Benutzer "rock" gehört, wird in der globalen Datenbank im Kataloginhaltsverzeichnis als GLOBAL.ROCK.WORLD aufgeführt.
Weitere Informationen zum Speichern von Mosaik-Datasets in einer Geodatabase finden Sie unter Mosaik-Datasets in einer Geodatabase in DB2.
Raster-Tabellen in einer IBM DB2-Datenbank
Geodatabases in einer DB2 Datenbank speichern Raster-Daten im nativen Binärformat von DB2.
Das native DB2-Binärformat ähnelt dem "ArcSDE Compressed Binary"-Typ. Weitere Informationen zum Binärtyp finden Sie in der DB2-Dokumentation und unter ArcSDE Compressed Binary-Speicherformat. Einer Business-Tabelle wird eine Raster-Spalte hinzugefügt und jede Zelle der Raster-Spalte enthält einen Verweis auf ein in einer separaten Raster-Tabelle gespeichertes Raster. Daher verweist jede Zeile einer Business-Tabelle auf ein ganzes Raster.
Wenn Sie ein Raster in eine Geodatabase importieren, wird der Business-Tabelle Ihrer Wahl eine Raster-Spalte hinzugefügt. Jede Zelle der Raster-Spalte enthält einen Verweis auf ein in einer separaten Raster-Tabelle gespeichertes Raster. Daher verweist jede Zeile einer Business-Tabelle auf ein ganzes Raster. Nur eine Raster-Spalte pro Business-Tabelle ist zulässig.
Sie können der Raster-Spalte einen beliebigen Namen geben, der der Namenskonvention für Spalten von DB2 entspricht.
Ein Raster-Dataset, das den nativen Binärspeicher von DB2 verwendet, besteht aus fünf Tabellen: Business-, Zusatz-, Block-, Band- und Raster-Attributtabelle. Nachfolgend sehen Sie die Business- und Raster-Tabellen für ein Raster-Dataset mit dem Namen WORLD_TIF.
Die Zahl in den Namen der SDE_BLK-, SDE_AUX-, SDE_RAS- und SDE_BND-Tabellen entsprechen der RASTERCOLUMN_ID in der Tabelle RASTER_COLUMNS.
Aufgrund der Eigenschaften von Raster-Daten sind Datenbanken, die Raster enthalten, meist relativ groß. Raster-Datasets und Raster-Kataloge sind selten kleiner als mehrere Gigabyte (GB) und können im Datenbankmanagementsystem (DBMS) einige Terabyte (TB) einnehmen. Kopiervorgänge können aufgrund der großen Menge an Raster-Daten daher eine Herausforderung darstellen. Empfehlungen und Beispiele zum Verwalten der Raster-Daten in einer Enterprise-Geodatabase finden Sie im Whitepaper Raster Data in ArcSDE, das auf der Support-Website von Esri unter support.esri.com heruntergeladen werden kann.
Die Business-Tabelle
Die Business-Tabelle ist eine DBMS-Tabelle, in der Attribute gespeichert werden und die durch das Hinzufügen einer Raster-Spalte für die Speicherung räumlicher Daten aktiviert wurde. In dieser Tabelle wird der Footprint (grenzt die Fläche ab) des Rasters gespeichert. Im Beispiel oben ist die Tabelle WORLD_TIF die Business-Tabelle.
Eine Business-Tabelle mit einer Raster-Spalte ist ein Raster-Dataset oder ein Raster-Katalog. Ein Raster-Dataset kann nur eine Business-Tabellen-Zeile aufweisen, während ein Raster-Katalog mehrere Zeilen haben kann. Informationen über die Raster-Spalte befinden sich in der Systemtabelle RASTER_COLUMNS. Informationen über alle Business-Tabellen, unabhängig davon, ob sie eine räumliche Spalte oder eine Raster-Spalte haben, befinden sich in der Systemtabelle TABLE_REGISTRY.
Raster-Bild-Tabellen
Die tatsächlichen Raster-Bilder werden in diesen Tabellen gespeichert.
Die Raster-Tabellen sind nur dann in der Datenbank vorhanden, wenn in der Geodatabase Raster-Daten enthalten sind.
In der Raster-Erweiterungstabelle werden die Bild-Colormap, die Bildstatistik und die optionale Bitmaske gespeichert, die für Bild-Overlays und das Mosaikieren verwendet wird.
Alle vorhandenen Bildmetadaten wie Bildstatistik, Colormaps oder Bitmasken werden automatisch in der Raster-Erweiterungstabelle gespeichert Die "rasterband_id "-Spalte der Raster-Erweiterungstabelle ist ein Fremdschlüsselverweis auf den Primärschlüssel der Raster-Band-Tabelle. Beim Zugreifen auf die Metadaten eines Raster-Bandes werden die beiden Tabellen auf Basis der Urwahl-/Fremdschlüsselreferenz verbunden.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
RASTERBAND_ID |
INTEGER |
Eine Zahl, die ein Raster-Band darstellt. Ein Raster-Dataset mit zwei Raster-Bändern verfügt beispielsweise über zwei verschiedene Werte in diesem Feld – 1 und 2. |
NOT NULL |
TYPE |
INTEGER |
Werte enthalten 2 = Raster-Statistik 3 = Colormap 4 = Koordinatentransformationen 5 = für Geodatabase reserviert 6 = Sonstiges |
NOT NULL |
OBJECT |
BLOB |
Enthält die tatsächlichen Daten, entweder ein Colormap-Index, eine Raster-Statistik oder Koordinatentransformationen |
NOT NULL |
In der Raster-Blocktabelle werden die tatsächlichen Bilddaten für jedes Band des Bilds gespeichert.
In der Raster-Blocktabelle werden die Pixel der einzelnen Raster-Bänder gespeichert. Die Bänder werden entsprechend der benutzerdefinierten Bemaßung gleichmäßig in Pixelblöcke gekachelt. ArcGIS-Anwendungen, die Raster-Daten in Geodatabases importieren oder erstellen, haben Standarddimensionen. Geoverarbeitungswerkzeuge und ArcCatalog verwenden beispielsweise die Standard-Raster-Block-Bemaßung von 128 x 128 Pixel pro Block. Die Speichergröße der einzelnen Raster-Blöcke wird durch die Raster-Block-Bemaßung und die Komprimierungsmethode (falls angegeben) bestimmt. Sie sollten die Raster-Block-Bemaßung auswählen, die in Kombination mit der Komprimierungsmethode eine Anpassung der einzelnen Zeilen der Raster-Block-Tabelle an die DBMS ermöglicht.
Die Raster-Block-Tabelle enthält die RASTERBAND_ID-Spalte, die ein Fremdschlüsselverweis auf den Primärschlüssel der RASTERBAND_ID der Raster-Band-Tabelle ist. Beim Zugreifen auf die Blocks der Raster-Bänder werden diese Tabellen auf Basis der Urwahl-/Fremdschlüsselreferenz verbunden.
Für DB2 unter Linux, UNIX und Windows sollten Sie einen sehr großen Tablespace für das Speichern der Tabelle für die Raster-Blöcke (BLK) erstellen. Erstellen Sie außerdem einen zweiten Tablespace mittlerer Größe, um die übrigen Raster-Tabellen und Indizes zu speichern.
Bei der Erstellung der Tablespaces für die Raster-Blocktabelle in DB2 sollten Sie eine Ausdehnungsgröße von 64 verwenden. Mit der Ausdehnungsgröße wird die Anzahl der Seitengröße-Seiten angegeben, die in einen Container geschrieben werden, bevor mit dem nächsten Container fortgefahren wird. Die Ausdehnungsgröße wird bei der Tablespace-Erstellung definiert. Diese Größe kann anschließend nur schwer geändert werden. Es gibt noch einen weiteren Raster-Tabellentyp, die Raster-Attributtabelle. In Raster-Attributtabellen werden die auf den Zellwerten im Raster basierenden Attributwerte gespeichert.
Die Raster-Block-Tabelle wird gemäß einer zurückgehenden Auflösungspyramide aufgefüllt. Die Höhe der Pyramide wird durch die Anzahl der von der Anwendung angegebenen Ebenen bestimmt. Mit der Anwendung, z. B. Geoverarbeitungswerkzeuge oder ArcCatalog, können Sie die Ebenen definieren, anfordern, dass sie von der Geodatabase berechnet werden, oder beides. Die Pyramide beginnt an der Basis, oder auf Ebene 0, die die ursprünglichen Pixel des Bilds enthält. Die Pyramide setzt sich zur Spitze hin fort, indem sie vier Pixel aus der vorherigen Ebene zu einem einzelnen Pixel auf der aktuellen Ebene verbindet. Dieser Prozess wird fortgesetzt, bis die Spitze erreicht ist, die automatisch oder vom Benutzer definiert wird.
Die zusätzlichen Ebenen der Pyramide vergrößern die Anzahl der Raster-Blöcke um ein Drittel. Da Sie jedoch die Anzahl der Ebenen festlegen können, kann die Pyramide kleiner sein. Die erste Ebene der Pyramide macht 25 Prozent der Basis aus. Es sollte auch beachtet werden, dass die erste Ebene der Pyramide übersprungen werden kann, ein Faktor, der die Größe der Pyramide wesentlich reduzieren kann.
Wenn Sie eine Pyramide erstellen, werden mehr Raster durch eine zunehmende Verringerung der vorherigen Ebene um den Faktor zwei bis zur Spitze erstellt werden. Wenn die Anwendung die Ansicht verkleinert und die Raster-Zellen kleiner als der Auflösungsschwellenwert werden, wird eine höhere Ebene der Pyramide ausgewählt. Zweck der Pyramide ist die Optimierung der Darstellungs-Performance.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
RASTERBAND_ID |
INTEGER |
Eine Zahl, die ein Raster-Band darstellt. Ein Raster-Dataset mit zwei Raster-Bändern verfügt beispielsweise über zwei verschiedene Werte in diesem Feld – 1 und 2. |
NOT NULL |
RRD_FACTOR |
INTEGER |
Pyramidenebene. Pyramidenebenen beginnen bei 0 und können von dort aus zunehmen. |
NOT NULL |
ROW_NBR |
INTEGER |
Position von Kachelzeilennummern |
NOT NULL |
COL_NBR |
INTEGER |
Position von Spaltenzeilennummern |
NOT NULL |
BLOCK_DATA |
BLOB |
In der Kachel gespeicherte Pixeldaten |
NOT NULL |
In der Raster-Band-Tabelle werden Informationen über die Bändern der Bilder gespeichert. Es gibt einen Datensatz für jedes Raster-Band.
Geodatabases speichern Raster-Bänder in der Raster-Bänder-Tabelle. Die Raster-Bänder-Tabelle wird mit der Raster-Tabelle in der Spalte RASTER_ID verbunden. Die RASTER_ID der Raster-Band-Tabellenspalte ist ein Fremdschlüsselverweis auf den Primärschlüssel der Raster-Tabelle.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
RASTERBAND_ID |
INTEGER |
Eine Zahl, die ein Raster-Band darstellt. Ein Raster-Dataset mit zwei Raster-Bändern verfügt beispielsweise über zwei verschiedene Werte in diesem Feld – 1 und 2. |
NOT NULL |
SEQUENCE_NBR |
INTEGER |
Sequenz des Raster-Bands im Raster-Dataset |
NOT NULL |
RASTER_ID |
INTEGER |
Die eindeutige Kennung des Raster-Datasets. Sie entspricht dem Wert in der Raster-Spalte der Business-Tabelle. |
NOT NULL |
NAME |
VARCHAR(65) |
Der optionale Name eines Raster-Bands |
|
BAND_FLAGS |
INTEGER |
Eine Bitmaske, die Eigenschaften des Bands beinhaltet |
NOT NULL |
BAND_WIDTH |
INTEGER |
Die Pixelbreite des Bands |
NOT NULL |
BAND_HEIGHT |
INTEGER |
Die Pixelhöhe des Bands |
NOT NULL |
BAND_TYPES |
INTEGER |
Eine Bitmaske, die Eigenschaften des Bands beinhaltet |
NOT NULL |
BLOCK_WIDTH |
INTEGER |
Die Pixelbreite eines Blocks |
NOT NULL |
BLOCK_HEIGHT |
INTEGER |
Die Pixelhöhe eines Blocks |
NOT NULL |
BLOCK_ORIGIN_X |
DOUBLE |
Die X-Koordinate des Raster-Ursprungs |
NOT NULL |
BLOCK_ORIGIN_Y |
DOUBLE |
Die Y-Koordinate des Raster-Ursprungs. |
NOT NULL |
EMINX |
DOUBLE |
Der minimale X-Wert eines Raster-Bands Der Envelope eines Raster-Bands wird mit eminy, emaxx und emaxy definiert. |
NOT NULL |
EMINY |
DOUBLE |
Der minimale Y-Wert eines Raster-Bands Der Envelope eines Raster-Bands wird mit eminx, emaxx und emaxy definiert. |
NOT NULL |
EMAXX |
DOUBLE |
Der maximale X-Wert eines Raster-Bands Der Envelope eines Raster-Bands wird mit eminx, eminy und emaxy definiert. |
NOT NULL |
EMAXY |
DOUBLE |
Der maximale Y-Wert in einem Raster-Band Der Envelope eines Raster-Bands wird mit eminx, eminy und emaxx definiert. |
NOT NULL |
CDATE |
INTEGER |
Das Erstellungsdatum des Raster-Bands |
NOT NULL |
MDATE |
INTEGER |
Das letzte Änderungsdatum des Raster-Bands |
NOT NULL |
In der Raster-Beschreibungstabelle wird die Beschreibung der Bilder in einer Raster-Spalte gespeichert.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
RASTER_ID |
INTEGER |
Die eindeutige Kennung des Raster-Datasets. Sie entspricht dem Wert in der Raster-Spalte der Business-Tabelle. |
NOT NULL |
RASTER_FLAGS |
INTEGER |
Für zukünftige Zwecke reserviert |
|
DESCRIPTION |
VARCHAR(65) |
Die Beschreibung des Raster-Datasets |
Andere Systemtabellen zur Raster-Verfolgung
Wie andere Datentypen werden Raster-Kataloge und Datasets in den Tabellen GDB_ITEMS und LAYERS gespeichert. Spalten des Typ-Rasters werden in der Tabelle RASTER_COLUMNS gespeichert – es gibt einen Eintrag für jede Tabelle, die eine Raster-Spalte enthält.
Es können zusätzliche Attributtabellen als Teil des Raster-Datasets oder Raster-Katalogs vorhanden sein. Es sollte immer nur jeweils eine Raster-Attributtabelle pro Raster-Dataset geben, aber Raster-Kataloge können mehrere solcher Tabellen aufweisen. Die Raster-Attributtabellen werden verwendet, um Attribute für bestimmte Raster-Zellenwerte zu definieren. Informationen zum Verwenden dieser Tabellen finden Sie unterRaster-Dataset-Attributtabellen.
Sie können das Werkzeug "Raster-Attributtabelle erstellen" des Toolsets "Raster-Eigenschaften" im Toolset "Raster" der Toolbox "Datenmanagement" verwenden. Nähere Informationen zu diesem Werkzeug finden Sie unter Raster-Attributtabelle erstellen (Datenmanagement).
Bei Raster-Datasets werden die zusätzlichen Attributtabellen im Format SDE_VAT_<raster_column_ID> benannt. Bei Raster-Katalogen hat der Tabellenname das Format SDE_VAT_<raster_column_ID>_<Object_ID>.
View a diagram of a raster dataset in DB2.
Sie benötigen Adobe Acrobat Reader, um die Datei zu öffnen.
Gestrichelte Linien geben implizite Beziehungen zwischen Spalten an, durchgezogene Linien bedeuten, dass die Beziehungen explizit definiert werden, graue Tabellen sind Ansichten.
Raster in einem XML-Dokument
Raster-Datasets sind in einem XML-Dokument in DataElement-Tags eingeschlossen. Die Tags haben den Wert "esri:DERasterDataset".
Nachfolgend finden Sie einen Eintrag für das Dataset WORLD_TIF:
<DataElement xsi:type="esri:DERasterDataset">
<CatalogPath>/V=sde.DEFAULT/RD=global.ROCK.world_TIF</CatalogPath>
<Name>global.ROCK.world_TIF</Name>
<Children xsi:type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DERasterBand">
<CatalogPath>/V=sde.DEFAULT/RD=global.ROCK.world_TIF/RB=Band_1</CatalogPath>
<Name>Band_1</Name>
<DatasetType>esriDTRasterBand</DatasetType>
<DSID>-1</DSID>
<Versioned>false</Versioned>
<CanVersion>false</CanVersion>
<HasOID>true</HasOID>
<OIDFieldName>ObjectID</OIDFieldName>
<Fields xsi:type="esri:Fields">
<FieldArray xsi:type="esri:ArrayOfField">
<Field xsi:type="esri:Field">
<Name>ObjectID</Name>
<Type>esriFieldTypeOID</Type>
<IsNullable>false</IsNullable>
<Length>4</Length>
<Precision>0</Precision>
<Scale>0</Scale>
<Required>true</Required>
<Editable>false</Editable>
</Field>
<Field xsi:type="esri:Field">
<Name>Value</Name>
<Type>esriFieldTypeInteger</Type>
<IsNullable>true</IsNullable>
<Length>0</Length>
<Precision>0</Precision>
<Scale>0</Scale>
</Field>
<Field xsi:type="esri:Field">
<Name>Count</Name>
<Type>esriFieldTypeInteger</Type>
<IsNullable>true</IsNullable>
<Length>0</Length>
<Precision>0</Precision>
<Scale>0</Scale>
</Field>
</FieldArray>
</Fields>
<Indexes xsi:type="esri:Indexes">
<IndexArray xsi:type="esri:ArrayOfIndex" />
</Indexes>
<IsInteger>true</IsInteger>
<MeanCellHeight>0.175996089009095</MeanCellHeight>
<MeanCellWidth>0.176000337991447</MeanCellWidth>
<Height>1024</Height>
<Width>2048</Width>
<PixelType>U8</PixelType>
<PrimaryField>1</PrimaryField>
<TableType>esriRasterTableValue</TableType>
<Extent xsi:type="esri:EnvelopeN">
<XMin>-179.906382261841</XMin>
<YMin>-90.1303147686327</YMin>
<XMax>180.542309944643</XMax>
<YMax>90.089680376681</YMax>
<SpatialReference xsi:type="esri:GeographicCoordinateSystem">
<WKT>GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984", SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]]</WKT>
<XOrigin>-400</XOrigin>
<YOrigin>-400</YOrigin>
<XYScale>11258999068426.2</XYScale>
<ZOrigin>0</ZOrigin>
<ZScale>1</ZScale>
<MOrigin>0</MOrigin>
<MScale>1</MScale>
<XYTolerance>8.98315284119521E-09</XYTolerance>
<ZTolerance>2</ZTolerance>
<MTolerance>2</MTolerance>
<HighPrecision>true</HighPrecision>
<LeftLongitude>-180</LeftLongitude>
</SpatialReference>
</Extent>
</DataElement>