Raster-Datasets und Raster-Kataloge in einer Geodatabase in PostgreSQL

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 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 PostgreSQL über folgende Symbole:

Raster-Dataset-Symbol

Ein Raster-Katalog im Kataloginhaltsverzeichnis verfügt über folgendes Symbol:

Raster-Katalog-Symbol

Die Namen von Raster-Katalogen und Raster-Datasets in PostgreSQL enthalten den Namen der Datenbank, den Namen des Besitzers des Raster-Katalogs oder -Datasets sowie den Namen des Raster-Katalogs oder -Datasets selbst.

Beispiel: Ein Raster-Dataset "qa_ras_seattle2", das Benutzer "rocket" gehört und in der Datenbank "m8db" gespeichert ist, wird im Kataloginhaltsverzeichnis als "m8db.rocket.qa_ras_seattle2" aufgelistet.

Weitere Informationen zur Speicherung von Mosaik-Datasets in einer Geodatabase finden Sie unter Mosaik-Datasets in einer Geodatabase in PostgreSQL.

Raster-Tabellen in einer PostgreSQL-Datenbank

ArcSDE-Geodatabases in einer PostgreSQL-Datenbank können Raster-Daten entweder in der nativen bytea-Spalte von PostgreSQL oder im ST_Raster-Speichertyp speichern.

In "bytea" gespeicherte Raster

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 ArcSDE-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. ArcSDE beschränkt dies auf eine Raster-Spalte pro Business-Tabelle.

TippTipp:

Sie können der Raster-Spalte einen beliebigen Namen geben, der der Namenskonvention für Spalten von PostgreSQL entspricht.

Ein Raster-Dataset besteht aus fünf Tabellen: Business-, Zusatz-, Block-, Band- und Raster-Tabelle. Die folgenden Tabellen gelten für das Raster-Dataset "qa_ras_seattle2_xf".

Die Zahlen in den Tabellen "sde_ras", "sde_bnd", "sde_aux" und "sde_blk" entsprechen der "rastercolumn_id" der Tabelle "sde_raster_columns".

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 qa_ras_seattle2_xf 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 sde_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 sde_table_registry.

Raster-Bild-Tabellen

Die tatsächlichen Raster-Bilder werden in diesen Tabellen gespeichert.

HinweisHinweis:

Die Raster-Tabellen sind nur dann in der Datenbank vorhanden, wenn in der Geodatabase Raster-Daten enthalten sind.

sde_aux_<raster_column_id>

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.

ArcSDE speichert alle vorhandenen Bildmetadaten wie Bildstatistik, Colormaps oder Bitmasken automatisch in der Raster-Erweiterungstabelle. 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 von ArcSDE 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

NOT NULL

object

bytea

Enthält die tatsächlichen Daten, entweder ein Colormap-Index, eine Raster-Statistik oder Koordinatentransformationen

NOT NULL

sde_blk_<raster_column_id>

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. ArcSDE kachelt die Bänder entsprechend der benutzerdefinierten Bemaßung gleichmäßig in Pixelblöcke. Im Gegensatz zu Anwendungen, die Raster-Daten in ArcSDE-Geodatabases speichern, verfügt ArcSDE über keine Standard-Bemaßung. 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.

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 ArcSDE 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 ArcSDE die Spitze erreicht hat, die möglicherweise 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.

Eine Raster-Pyramide
Eine Raster-Pyramide

Wenn Sie eine Pyramide erstellen, werden mehr Raster durch eine zunehmende Verringerung der vorherigen Ebene um den Faktor zwei bis zur Spitze erstellt werden. Wie die Anwendung die Ansicht verkleinert und die Raster-Zellen kleiner als der Auflösungsschwellenwert werden, wählt ArcSDE eine höhere Ebene der Pyramide aus. 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

bytea

In der Kachel gespeicherte Pixeldaten

NOT NULL

sde_bnd_<raster_column_id>

In der Raster-Band-Tabelle werden Informationen über die Bändern der Bilder gespeichert. Es gibt einen Datensatz für jedes Raster-Band.

ArcSDE-Geodatabases speichern Raster-Bänder in der Raster-Bänder-Tabelle. ArcSDE verbindet die Raster-Bänder-Tabelle mit der Raster-Tabelle in der Spalte RASTER_ID. 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 precision

Die X-Koordinate des Raster-Ursprungs

NOT NULL

block_origin_y

double precision

Die Y-Koordinate des Raster-Ursprungs.

NOT NULL

eminx

double precision

Der minimale X-Wert eines Raster-Bands

NOT NULL

eminy

double precision

Der minimale Y-Wert eines Raster-Bands

NOT NULL

emaxx

double precision

Der maximale Y-Wert in einem Raster-Band

NOT NULL

emaxy

double precision

Der maximale Y-Wert in einem Raster-Band

NOT NULL

cdate

integer

Das Erstellungsdatum des Raster-Bands

NOT NULL

mdate

integer

Das letzte Änderungsdatum des Raster-Bands

NOT NULL

sde_ras_<raster_column_id>

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 sde_layers gespeichert. Spalten des Typ-Rasters werden in der Tabelle sde_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).

Für Raster-Datasets werden die zusätzlichen Attributtabellen im Format sde_vat_<raster_column_ID> benannt. Bei Raster-Katalogen wird der Tabellenname im Format sde_vat_<raster_column_ID>_<Object_ID> benannt.

View a diagram of a raster dataset using bytea storage in PostgreSQL.

Die gestrichelten Linien geben implizite Beziehungen zwischen Spalten an.

HinweisHinweis:

Sie benötigen Adobe Acrobat Reader, um die Datei zu öffnen.

Im ST_Raster-Format gespeicherte Raster

"ST_Raster" ist ein benutzerdefinierter Objekttyp, der aus verschiedenen Subtypes besteht. Ein Raster-Dataset, das den Speichertyp "ST_Raster" verwendet, besteht aus drei Tabellen: Business-Tabelle, Zusatztabelle und Blocktabelle. Bei Verwendung des Speichertyps "ST_Raster" in einer Geodatabase sind die entsprechenden Informationen, die für binäre Raster in der Raster- und Raster-Bandtabelle gespeichert würden, Teil des Objekts "ST_Raster" in der Basistabelle. Im Objekt "ST_Raster" ist zudem die Geometrie für das Raster gespeichert.

Im ST_Raster-Format gespeicherte Raster weisen Zusatz- (sde_aux_<raster_ID>) und Blocktabellen (sde_blk_<raster_ID>) auf (weitere Informationen finden Sie im Abschnitt "Raster-Bildtabellen" dieses Themas), verwenden aber kein Raster-Band (sde_bnd_<raster_ID>) oder Rastertabellen (sde_ras_<raster_ID>).

View a diagram of a raster dataset using ST_Raster storage in PostgreSQL.

Die gestrichelten Linien geben implizite Beziehungen zwischen Spalten an.

HinweisHinweis:

Sie benötigen Adobe Acrobat Reader, um die Datei zu öffnen.

Raster in einem XML-Workspace-Dokument

Raster-Datasets sind in einem XML-Dokument in DataElement-Tags eingeschlossen. Die Tags haben den Wert "esri:DERasterDataset".

     <DataElement xsi:type="esri:DERasterDataset">
       <CatalogPath>/V=sde.DEFAULT/RD=m8db.rocket.qa_ras_seattle2_xf</CatalogPath> 
       <Name>m8db.rocket.qa_ras_seattle2_xf</Name> 
       <Children xsi:type="esri:ArrayOfDataElement">
          <DataElement xsi:type="esri:DERasterBand">
            <CatalogPath>/V=sde.DEFAULT/RD=m8db.rocket.qa_ras_seattle2_xf/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>
    

7/10/2012