Extrahieren einer Raster-Teilmenge aus einem "ST_Raster"-Wert

Die Teilmengenfunktion "ST_Raster" gibt eine Teilmenge von sich selbst als "ST_Raster"-Wert zurück. Diese Funktion kann nützlich für das Erstellen eines neuen "ST_Raster"-Werts aus einem alten Wert sein, bei dem nur ein Teil des "ST_Raster"-Werts, z. B. die Pixel, die in eine Ausdehnung fallen, von geographischen Koordinaten oder Pixelkoordinaten definiert werden soll. In anderen Fällen soll ggf. nur ein bestimmtes Band eines "ST_Raster"-Werts verwendet werden, oder vielleicht soll die Ausgabe auf ein bestimmtes Band beschränkt und die Pixel von einer Ausdehnung definiert werden.

In den folgenden Beispielen wird die Teilmengenfunktion verwendet, um die Ausdehnung der Stadt Paris nach geographischen Koordinaten zu extrahieren. Das Ergebnis wird unter dem Namen "Paris" in einen neuen Datensatz der gleichen Tabelle eingefügt. Das Teilmengenergebnis wird mit der JPEG-Komprimierung komprimiert, und es werden vor dem Einfügen dafür Pyramiden mit bilinearer Interpolation erstellt.

Schritte:
  1. Verwenden Sie die SQL-Anweisung für Ihr Datenbankmanagementsystem.

    Oracle

    INSERT INTO URBAN_AREA (sde.st_raster, name)
    SELECT t.raster.subset(
    'extent=(2.313,48.825,2.381,48.891)',
    'compression=rgb,level=-1,bilinear'),'Paris'
    FROM URBAN_AREA t
    WHERE NAME = 'ALL_CITIES';

    PostgreSQL

    INSERT INTO urban_area (sde.st_raster, name)
    SELECT subset(raster,
    'extent=(2.313,48.825,2.381,48.891)',
    'compression=rgb,level=-1,bilinear'),'paris'
    FROM urban_area
    WHERE name = 'all_cities';

    SQL Server

    INSERT INTO urban_area (dbo.st_raster, name)
    SELECT raster.subset(
    'extent=(2.313,48.825,2.381,48.891)',
    'compression=rgb,level=-1,bilinear'),'Paris'
    FROM urban_area
    WHERE name = 'all_cities';

Verwandte Themen


3/6/2012