DBaddRasterElement

Top  Previous  Next

Rasterelement hinzufügen.

Mit dieser Funktion wird in einer Datenbank ein neues Rasterelement an einem Objekt erzeugt. Dies kann sowohl ein in der Datenbank gespeichertes Element, als auch eine Datei sein. Es können 1, 8 und 24 Bit je Pixel vergeben werden. Bei 1 und 8 Bit wird eine Palette verwendet. Die Unterscheidung, ob es sich um eine Datei oder ein internes Raster handelt, geschieht an Hand des Feldes data. Wird hier NULL übergeben, so wird der Dateiname als TIFF-File aufgefasst.

Rasterelemente können nicht in allen Planarten gespeichert werden. Dieser Elementtyp wird zum Beispiel in DBB-Plänen ignoriert.

Parameter

obj (POBJECT)                                           [IN]

Das neue Rasterelement wird diesem Objekt zugeordnet.

typ (int)                                                         [IN]

RASTER_TYP_1BPP    1        1 Bit je Pixel.

RASTER_TYP_8BPP    2        8 Bit je Pixel

RASTER_TYP_24BPP  3        24 Bit je Pixel

sizeX (long int)                                            [IN]

Breite des Rasters in Pixeln, wird nur verwendet bei internen Rasterdaten.

sizeY (long int)                                             [IN]

Höhe des Rasters in Pixeln, wird nur verwendet bei internen Rasterdaten.

data (char *)                                                 [IN]

Die Rasterdaten. Sie werden gepackt erwartet.

flags (int)                                                      [IN]

Momentan ist nur ein Flag definiert:

RASTER_FLAG_SIZE   1

Die Daten werden zwischen (xlow,ylow) und (xhigh,yhigh) eingepasst. Ohne Angabe dieses Flags entspricht 1 Pixel der Ausgabe einem Pixel des Rasterfiles.

xLow (double)                                             [IN]

yLow (double)                                             [IN]

GEO-Koordinaten der unteren, linken Ecke des Rasters

xHigh (double)                                             [IN]

yHigh (double)                                             [IN]

GEO-Koordinaten der oberen, rechten Ecke des Rasters

palette (long int *)                                        [IN]

Zeiger auf ein Feld, in dem die Palette gespeichert ist, wenn ein Format diese benötigt. Jeder Eintrag enthält in den unteren 24 Bit die Rot- (16-23), Grün- (8-15) und Blauwerte(0-7).

datalen (long int)                                          [IN]

Länge des Feldes Data in Bytes.

filename (char *)                                          [IN]

Name der Datei, wenn das Raster aus einer TIFF-Datei geladen werden soll. Der Dateiname muss vollständig sein.

filetype (char *)                                            [IN]

Bisher immer „TIF“. Es gibt einen weiteren Typ RDV für eine Rasterdatenbank.

DKY (int)                                                      [IN]

Zeichenschlüssel. Hat keine grafische Bedeutung, dient zur Unterscheidung der Raster in einem Objekt.

PaletteLen (int)                                            [IN]

Anzahl der Einträge in der Palette. Wenn keine Palette angegeben ist wird der Wert ignoriert. Ist eine Palette angegeben, so wird bei Wert 0 die Länge aus dem Rasterdatentyp berechnet, bei Werten größer 0 wird der Wert als Länge übernommen. Werte größer als 256 erzeugen eine Erweiterte Palette z.B. für DEMs.

Ergebnis

(PRASTER_ELEMENT)                        [OUT]

Die Prozedur liefert entweder das Handle des neuen Rasterelements oder NULL im Falle eines Fehlers.

Deklaration

#include "database.h"

 

PRASTER_ELEMENT DLLENTRY   DBaddRasterElement(

     POBJECT        obj,

     int            typ,

     long int    sizeX,

     long int    sizeY,

     char *         data,

     int            flags,

     double         xLow,

     double         yLow,

     double         xHigh,

     double         yHigh,

     long int *     palette,

     long int    datalen,

     char *         filename,

     char *         filetype

);