/********************************************************************** * $Id: pgraster_const.c 2007-07-15 Xing $ * * PostGIS - Spatial Types for PostgreSQL * http://postgis.refractions.net * Copyright 2001-2003 Refractions Research Inc. * * This is free software; you can redistribute and/or modify it under * the terms of hte GNU General Public Licence. See the COPYING file. * ********************************************************************** * * File Name: pgraster_const.c * * Author: Xing Lin, solo.lin@gmail.com * * Create Date: 2007-07-15 * * Description: This file will include the definition of const that * will be used in the database to store PGRaster data. * * Original Author: Xing Lin, solo.lin@gmail.com * * Maintainer: Xing Lin, solo.lin@gmail.com * * Last Update: 2007-07-15 * **********************************************************************/ #ifndef _PGRASTER_CONST #define _PGRASTER_CONST 1 /* DEFINITION OF BANDTYPE */ typedef enum _BandType { BT_UNKNOWN = -1, // UNKNOWN Band Type (uninitialized code) BT_SINGLE = 0, // Single Band Type BT_RGB = 1, // RGB Image Band Type BT_RGBA = 2, // RGBA Image Band Type BT_MULTI = 3, // Multi-spectral Band Type BT_OTHERS = 4 // Other Band Type (error code) } PGRasterBandType; /* DEFINITION OF DATA TYPE */ typedef enum _DataType { DT_UNKNOWN = -1, // Unknown Data Type DT_1BIT = 0, // 1 Bit Boolean Data Type DT_2BIT = 1, // 2 Bit Unsigned Integer Data Type DT_4BIT = 2, // 4 Bit Unsigned Integer Data Type DT_8BIT_U = 3, // 8 Bit Unsigned Integer Data Type DT_8BIT_S = 4, // 8 Bit Signed Integer Data Type DT_16BIT_U = 5, // 16 Bit Unsigned Integer Data Type DT_16BIT_S = 6, // 16 Bit Signed Integer Data Type DT_32BIT_U = 7, // 32 Bit Unsigned Integer Data Type DT_32BIT_S = 8, // 32 Bit Signed Integer Data Type DT_24BIT_RGB = 9, // 24 Bit Image Color Data Type (RGB) DT_32BIT_RGBA = 10, // 32 Bit Image Color Data Type (RGBA) DT_32BIT_REAL = 11, // 32 BIT Real/Single Floating Point Data Type DT_64BIT_REAL = 12 // 64 BIT Real/Double Floating Point Data Type }PGRasterDataType; /* DEFINITION OF VALUE TYPE */ typedef enum _ValueType { VT_NOTHING = -1, // Unknown Value Type VT_NOMINAL = 0, // Nominal Value Type VT_ORDINAL = 1, // Ordinal Value Type VT_INTERVAL = 2, // Interval Value Type VT_RATIO = 3, // Ratio Value Type VT_IMAGE = 4 // Image Value Type }PGRasterValueType; /* DEFINITION OF BANDINTERLEAVING TYPE*/ typedef enum _BandInterLeavingType { BI_UNKNOWN = -1, // Unknown Band Interleaving Type BI_BSQ = 0, // BSQ Band Interleaving Type BI_BIL = 1, // BIL Band Interleaving Type BI_BIP = 2 // BIP Band Interleaving Type }PGBandInterleavingType; /* DEFINITION OF COMPRESSION TYPE */ typedef enum _CompressionType { CT_UNKNOWN = -1, // Unknow Data Compression Type CT_JPEG_B = 0, // JPEG-B Data Compression Type CT_JPEG_F3 = 1, // JPEG-F3 Data Compression Type (JPEG Image compression) CT_JPEG_F4 = 2, // JPEG-F4 Data Compression Type CT_LZW = 3, // LZW/LZ77 Lossless Compressio Type CT_DEFLATE = 4, // LZW/LZ77 Lossless Compressio Type CT_NONE = 5 // No-Compression/Flat Data }PGRasterCompressionType; #endif