Workflow: Erstellen eines ArcObjects-Raster-Feldes

Komplexität: Erweitert Erforderliche Daten: Eigene Daten verwenden Ziel: Erstellen und füllen Sie ein nicht räumliches Raster-Feld, und bereiten Sie es für den Zugriff durch ArcGIS vor.

Einige Anwendungen zeigen Bilder, z. B. Bilder von Verkehrszeichen, Flüssen oder Gebäuden, um einen Punkt, eine Linie oder ein Polygon-Feature detaillierter darzustellen. Diese Bilder sind möglicherweise nicht räumlich referenziert. Sie können mithilfe von SQL eine Tabelle mit einer nicht räumlichen Raster-Spalte erstellen.

Der folgende Workflow beschreibt, wie eine Raster-Spalte erstellt, befüllt und für den Zugriff durch ArcGIS vorbereitet wird.

Erstellen und Befüllen einer Tabelle mit einer Raster-Spalte

Schritte:
  1. Stellen Sie aus einem SQL-Editor eine Verbindung zur Datenbank her.

    Stellen Sie z. B. eine Verbindung zu Oracle von SQL*Plus, zu PostgreSQL von pgAdminIII oder von der psql-Eingabeaufforderung oder zu Microsoft SQL Server von Management Studio her.

  2. Erstellen Sie eine Tabelle mit einer ST_Raster-Spalte.

    Oracle

    CREATE TABLE real_estate (address nvarchar2(255),
    sde.st_raster picture);

    PostgreSQL

    CREATE TABLE real_estate (address varchar(255), 
    sde.st_raster picture);

    SQL Server

    CREATE TABLE real_estate (address varchar(255), 
    dbo.st_raster picture);

    Wenn die Geodatabase in SQL Server im Schema des sde-Benutzers gespeichert ist, stellen Sie der Funktion sde voran.

  3. Verwenden Sie die Methode "ST_Raster_Util_Initialize", um die Rasterspalte zu initialisieren.

    In diesen Beispielen ist das projectID-Argument NULL, da die Daten nicht räumlich referenziert sind.

    Oracle

    BEGIN
    SDE.ST_RASTER_UTIL.INITALIZE ('real_estate','picture',NULL,'defaults');
    END;
    /

    PostgreSQL

    SELECT st_raster_util_initialize  
    ('real_estate','address',4326,'DEFAULTS');

    SQL Server

    EXEC dbo.st_raster_util_initialize 
    'sde','bobby','real_estate','address',4326,NULL,'DEFAULTS'

    Nach der Ausführung dieser Methode wird die Raster-Spalte bei ArcSDE registriert und ist für die Funktionalität verfügbar.

  4. Konvertieren Sie ein TIFF-Bild mithilfe des ST_Raster-Konstruktors.

    In diesen Beispielen wird der Tabelle "real_estate" durch Konvertieren der TIFF-Bilddatei 30551_independence mit dem ST_Raster-Konstruktor ein Bild des Grundstücks "30551 Independence Ave" hinzugefügt.

    Oracle

    INSERT INTO REAL_ESTATE (address, sde.st_raster)
    VAULES
    ('30551 Independence  Ave',
    SDE.ST_RASTER('C:\30551_independence.tif','compression=lz77'));
    

    PostgreSQL

    INSERT INTO real_estate (address, sde.st_raster)
    VAULES
    ('30551 Independence Ave',  
    sde.st_raster('C:\30551_independence.tif'));

    SQL Server

    INSERT INTO real_estate (address, dbo.st_raster)
    VALUES
    ('30551 Independence Ave',
    ST_Raster::construct('C:\30551_independence.tif'));
    TippTipp:

    Stellen Sie sicher, dass der Datenbankserver auf den Pfad zum Bild zugreifen kann.

  5. Sie können weitere Daten zu dieser Tabelle hinzufügen.

Hinzufügen einer registrierten Zeilen-ID zur Tabelle

Um mit dem Cursor die Zeilen einer ArcSDE-Tabelle zu durchlaufen, benötigt ArcGIS eine in ArcSDE registrierte Zeilen-ID-Spalte (auch ObjectID) in der Tabelle. Sie können die Zeilen-ID mithilfe des Befehls "sdetable" hinzufügen.

Schritte:
  1. Führen Sie den Befehl "sdetable" mit der Operation "alter_reg" aus, um der Tabelle, die bei ArcSDE registriert ist, eine Zeilen-ID-Spalte hinzuzufügen.

    Oracle

    sdetable -o alter_reg -t real_estate -c objectid -C SDE 
    -i sde:oracle11g -s myserver -u tblowner -p ulook.away -N

    PostgreSQL

    sdetable -o alter_reg -t real_estate -c objectid -C SDE -N
    -i sde:postgresql:myserver -s myserver -D pgdb -u tblowner -p ulook.away 

    SQL Server

    sdetable -o alter_reg -t real_estate -c objectid -C SDE -N
    -i sde:sqlserver:myserver\ssinstance -D ssdb -u tblowner -p ulook.away 

    Die Raster dieser Tabelle können jetzt über die ArcGIS Desktop-Benutzeroberfläche angezeigt werden.

Wenn Sie die Tabelle in ArcGIS bearbeiten oder für sie Geodatabase-Funktionalität nutzen möchten, wie Subtypes oder Beziehungsklassen, müssen Sie sie bei der Geodatabase registrieren.

Registrieren der Tabelle bei der Geodatabase

Registrieren Sie die Tabelle mithilfe von ArcGIS Desktop bei der Geodatabase.

Schritte:
  1. Starten Sie ArcMap, und öffnen Sie das Fenster Katalog, oder starten Sie ArcCatalog.
  2. Stellen Sie eine Verbindung mit der ArcSDE-Geodatabase her, die die zu registrierende Tabelle enthält.

    Diese Verbindung wird unter dem Knoten "Datenbankverbindungen" des Kataloginhaltsverzeichnisses hergestellt. Stellen Sie sicher, dass Sie eine Verbindung als Besitzer der Tabelle herstellen.

  3. Klicken Sie mit der rechten Maustaste auf die Tabelle "real_estate".
  4. Klicken Sie auf In Geodatabase registrieren.
  5. Sie werden aufgefordert, das vorhandene ObjectID-Feld auszuwählen oder ein neues Feld zu erstellen.
  6. Verwenden Sie das Feld "objectid", das Sie mit dem Befehl "sdetable" hinzugefügt haben.
  7. Klicken Sie auf OK.

Verwandte Themen


7/10/2012