Récupération de ST_PixelData à partir d'une colonne ST_Raster dans une colonne ST_PixelData

Vous pouvez utiliser la fonction getPixelData ST_Raster pour extraire la valeur ST_PixelData d'une valeur ST_Raster. Cette valeur peut être insérée dans un ST_Pixeldata ou récupérée dans une variable ST_PixelData.

Etapes :
  1. Utilisez une instruction SELECT pour extraire la valeur ST_PixelData du ST_Raster.

    Si vous placez l'instruction SELECT à l'intérieur d'une instruction INSERT, le résultat du ST_PixelData extrait sera inséré dans la colonne spécifiée.

    Dans les exemples suivants, la valeur ST_PixelData supérieure est récupérée de la colonne ST_Raster de la table urban_area et insérée dans la colonne ST_PixelData (pdata) de la table de pixels.

    Oracle

    INSERT INTO PIXELS (pdata)
    SELECT t.raster.getPixelData('level=1')
    FROM URBAN_AREA t
    WHERE t.raster.raster_id = 1;
    

    PostgreSQL

    INSERT INTO pixels (pdata)
    SELECT getPixelData(raster,'level=1')
    FROM urban_area
    WHERE raster_id(raster) = 1;
    

    SQL Server

    INSERT INTO pixels (pdata)
    SELECT raster.getPixelData('level=1')
    FROM urban_area
    WHERE raster.raster_id = 1;
    

    Dans ces exemples, le ST_PixelData est récupéré de la colonne ST_Raster de la table urban_area dans la variable ST_PixelData à l'aide de la méthode getPixelData ST_Raster.

    Oracle

    DECLARE
    p sde.st_pixeldata;
    BEGIN
     SELECT t.raster.getPixelData() INTO p
     FROM URBAN_AREA t
     WHERE t.raster.rasterid = 1;
    END;
    /
    

    PostgreSQL

    DROP FUNCTION IF EXISTS fetch_pixeldata();
    
    CREATE OR REPLACE FUNCTION fetch_pixeldata()
    RETURNS integer AS '
    
    DECLARE p st_pixeldata;
    BEGIN
     SELECT getPixelData(raster) INTO p
     FROM urban_area
     WHERE raster_id(raster) = 1;
    END;'
    LANGUAGE plpgsql;
     
    SELECT edit_pixeldata();
    DROP FUNCTION IF EXISTS fetch_pixeldata();
    

    SQL Server

    DECLARE @p ST_PIXELDATA;
    SET @p = (SELECT raster.getPixelData(NULL)
              FROM urban_area
              WHERE raster.raster_id = 1);
    

Thèmes connexes

5/10/2014