ST_Raster.mosaic

Definition

Mit der ST_Raster.mosaic-Funktion wird das Eingabebild bzw. werden die Eingabebilder mit einem vorhandenen ST_Raster-Objekt zusammengeführt. Diese Funktion ist nur für UPDATE-Anweisungen vorgesehen. Wenn sie in einer SELECT-Anweisung verwendet wird, wird ein Datenbankfehler zurückgegeben.

Die ST_Raster.mosaic-Funktion wird innerhalb einer einzelnen Transaktion ausgeführt, sodass Sie die Anzahl der gleichzeitig zu mosaikierenden Quell-Raster beachten müssen, und zwar in Bezug auf die Größe des Rollback-Speichers, der für die ausstehende Transaktion zur Verfügung steht.

Wenn sich die Quell-Raster-Daten auf einem Netzlaufwerk befinden, muss der Besitzer des aktuellen Datenbankprozesses über die entsprechenden Dateizugriffsberechtigungen verfügen.

Syntax

Oracle

mosaic (filename IN VARCHAR2) RETURN ST_RASTER

mosaic (filename IN VARCHAR2, 
        parameter_list IN VARCHAR2) RETURN ST_RASTER

mosaic (data IN ST_PIXELDATA) RETURN ST_RASTER

mosaic (data IN ST_PIXELDATA, 
        parameter_list IN VARCHAR2) RETURN ST_RASTER

PostgreSQL

mosaic (raster IN ST_RASTER, 
        filename IN TEXT) RETURN ST_RASTER

mosaic (raster IN ST_RASTER, 
        filename IN TEXT, 
        parameter_list IN TEXT) RETURN ST_RASTER

mosaic (raster IN ST_RASTER, 
        data IN ST_PIXELDATA) RETURN ST_RASTER

mosaic (raster IN ST_RASTER, 
        data IN ST_PIXELDATA, 
        parameter_list IN TEXT) RETURN ST_RASTER

SQL Server

mosaic (filename IN NVARCHAR, 
        data IN ST_PIXELDATA, 
        parameter_list IN NVARCHAR) RETURN ST_RASTER

Rückgaben

ST_Raster

Parameter

Parameter

Beschreibung

Dateiname

Der Dateiname bzw. die Dateinamen der Quell-Raster-Daten.

Der Dateiname kann betriebssystemspezifische Platzhalterzeichen enthalten. Es kann sich auch um eine SQL-SELECT-Anweisung handeln, mit der eine einzelne ST_Raster-Spalte aus einer benutzerdefinierten Tabelle ausgewählt wird. Das unterstützte Bilddateiformat ist GeoTIFF.

Daten

Ein vordefiniertes ST_PixelData-Objekt

Raster

Der ST_Raster-Zielwert, in den das entsprechende Bild mosaikiert werden soll

parameter_list

Eine kommagetrennte Liste mit in einfachen Anführungszeichen eingeschlossenen Parametern, die folgende Parameter umfassen kann:

  • align - Ausdehnungs-Fangvorgang des Quell-Rasters am Ziel-ST_Raster wird durchgeführt.
  • recursive - Wenn als Quelldatenpfad ein Platzhalterargument angegeben ist, werden alle Unterordner rekursiv vom angegebenen Ordner der obersten Ebene aus durchsucht.
  • conversion <rgb | grayscale> - Wenn hierfür "rgb" festgelegt ist, weist der Konvertierungsparameter die Mosaik-Funktion an, Colormap-Quellbilder mit einem Band in ein Dreiband-RGB-ST_Raster-Objekt zu konvertieren. Ein auf "grayscale" festgelegter Konvertierungsparameter weist darauf hin, dass die Mosaik-Funktion 1-Bit-Schwarzweißbilder in ein 8-Bit-Graustufen-ST_Raster-Objekt konvertieren soll.
  • quality <Wert> - Wenn der Komprimierungstyp des Basis-Layers JPEG oder JPEG 2000 ist, wird die Komprimierungsqualität der Pyramide durch die Einstellung dieses Parameters gesteuert. Die standardmäßige Komprimierung für JPEG ist "75", während die standardmäßige Komprimierung für JPEG 2000 "0" ist.
  • bitrate <Wert> - Die Bitrate für feste JPEG 2000-Komprimierung.
  • nodata (r,g,b) | <Wert> - Die Pixelwerte des Quellbildes, die beim Mosaikieren in das ST_Raster in "nodata" konvertiert werden.
  • nocolormap - Gibt an, dass die Colormap beim Mosaikieren in das ST_Raster von einem Colormap-Quellbild entfernt wird.
  • edge <Wert>:<Toleranz> - Entfernt die unerwünschten Grenzpixel um ein ST_Raster, die mit "NoData" gekennzeichnet sind; "edge" gibt an, dass nur die Pixel im angegebenen Wertebereich und nur von der äußeren Kante des Rasters entfernt werden. Dadurch wird verhindert, dass Pixel mit dem gleichen Wert innerhalb des Rasters entfernt werden.
  • level <Pyramidenebene> - Die maximale Pyramidenebene von ST_Raster, die nach dem Mosaikieren des Quellbildes in das ST_Raster vorhanden ist.
  • skipLevel1 - Weist die Funktion an, die erste Pyramidenebene nicht zu speichern.
  • nearest | bilinear | bicubic - Der zum Erstellen der Pyramide verwendete Interpolationsalgorithmus; der Standardwert ist "nearest".
  • log <Protokolldateiname> - In der Protokolldatei werden die Ergebnisse der Mosaik-Funktion beim Mosaikieren der Quelldaten aufgezeichnet.
  • erase - Hierdurch wird der Löschmodus für das Mosaik aktiviert; für alle vorhandenen Eingabe-NoData werden die entsprechenden Pixeldaten aus dem resultierenden Raster entfernt.

Beispiele

In diesen Beispielen wird Folgendes veranschaulicht:

  1. Es wird ein Mosaik aller TIFF-Dateien im Pfad E:\data und dessen Unterordnern in einem vorhandenen ST_Raster-Objekt erstellt. Die Ergebnisse der Mosaik-Funktion werden in der Protokolldatei E:\'log.txt' aufgezeichnet.
  2. Ein ST_PixelData-Objekt wird mit den Pixeln eines ST_Raster-Objekts gefüllt und dann in ein anderes ST_Raster-Objekt mosaikiert.

Oracle

  1. UPDATE SAT t
    SET image = t.image.mosaic('E:\data\*.tif',
                               'recursive,log=E:\log.txt');
  2. DECLARE
      	  data sde.ST_PIXELDATA;
     BEGIN
      	  SELECT t.image.getPixelData('level=1') 
         INTO DATA 
         FROM SAT t;
    
      	  UPDATE SAT t
    	    SET image = t.image.mosaic(data,'log=E:\log.txt'); 
     END; 
     /

PostgreSQL

  1. UPDATE sat
    SET image = mosaic(image,'E:\data\*.tif',
                      'recursive,log=E:\log.txt');
  2. DROP FUNCTION IF EXISTS mosaic_from_pixeldata();
    
    CREATE OR REPLACE FUNCTION mosaic_from_pixeldata() 
    RETURNS integer AS '
    DECLARE data sde.st_pixeldata; 
     BEGIN 
      	  SELECT getPixelData(image) 
         INTO data 
      	  FROM sat; 
      	  UPDATE sat 
      	  SET image = mosaic(image,data,''log=E:\log.txt'') 
      	  WHERE name = ''1_1_data'';
     END;' 
    LANGUAGE plpgsql; 
    
         SELECT mosaic_from_pixeldata();
    
    DROP FUNCTION IF EXISTS mosaic_from_pixeldata();

SQL Server

  1. UPDATE sat
    SET image = image.mosaic('E:\data\*.tif',NULL,
                             'recursive,log=E:\log.txt');

  2. DECLARE
    @data ST_PIXELDATA;
     SET @data = (SELECT image.getPixelData('level=1')
     FROM sat);
    
    UPDATE sat
    SET image = image.mosaic(NULL,@data,'log=E:\log.txt');

7/10/2012