00001 /****************************************************************************** 00002 * Copyright (c) 1998, Frank Warmerdam 00003 * 00004 * Permission is hereby granted, free of charge, to any person obtaining a 00005 * copy of this software and associated documentation files (the "Software"), 00006 * to deal in the Software without restriction, including without limitation 00007 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 00008 * and/or sell copies of the Software, and to permit persons to whom the 00009 * Software is furnished to do so, subject to the following conditions: 00010 * 00011 * The above copyright notice and this permission notice shall be included 00012 * in all copies or substantial portions of the Software. 00013 * 00014 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00015 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00016 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00017 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00018 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 00019 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 00020 * DEALINGS IN THE SOFTWARE. 00021 ****************************************************************************** 00022 * 00023 * gdalallregister.cpp 00024 * 00025 * Main format registration function. 00026 * 00027 * $Log: gdalallregister_cpp-source.html,v $ 00027 * Revision 1.13 2002/12/21 19:13:12 warmerda 00027 * updated 00027 * 00028 * Revision 1.53 2002/12/03 19:03:08 dron 00029 * Added BMP driver. 00030 * 00031 * Revision 1.52 2002/12/03 04:42:35 warmerda 00032 * added NITF 00033 * 00034 * Revision 1.51 2002/11/05 06:20:07 warmerda 00035 * hacks for JP2KAK support 00036 * 00037 * Revision 1.50 2002/10/21 18:03:22 warmerda 00038 * added AutoSkipDrivers() call 00039 * 00040 * Revision 1.49 2002/10/10 10:43:37 dron 00041 * Fix for buiding GDAL with JasPer software under Windows. 00042 * 00043 * Revision 1.48 2002/10/05 12:05:21 dron 00044 * JPEG2000, L1B and HDF4 registrations moved in front of RAW (to avoid 00045 * problems with PAux). Removed extra JPEG2000 registration. FAST registration 00046 * combined with other RAW formats. 00047 * 00048 * Revision 1.47 2002/10/03 05:41:17 warmerda 00049 * added GSC Geogrid format 00050 * 00051 * Revision 1.46 2002/09/19 14:49:41 warmerda 00052 * added jpeg2000 00053 * 00054 * Revision 1.45 2002/08/13 16:59:53 dron 00055 * New driver: EOSAT FAST format 00056 * 00057 * Revision 1.44 2002/07/16 13:30:27 dron 00058 * New driver: HDF4 dataset. 00059 * 00060 * Revision 1.43 2002/06/13 09:53:45 dron 00061 * Registration of AVHRR L1B driver moved above of GRASS driver registartion. 00062 * 00063 * Revision 1.42 2002/05/08 16:34:26 dron 00064 * NOAA Polar Orbiter Dataset reader added 00065 * 00066 * Revision 1.41 2002/04/12 20:19:25 warmerda 00067 * added xpm 00068 * 00069 * Revision 1.40 2002/03/04 21:54:20 warmerda 00070 * added envi format 00071 * 00072 * Revision 1.39 2001/12/08 04:43:48 warmerda 00073 * added BSB registration 00074 * 00075 * Revision 1.38 2001/11/27 14:39:41 warmerda 00076 * added usgsdem 00077 * 00078 * Revision 1.37 2001/11/16 21:13:47 warmerda 00079 * added VRT dataset 00080 * 00081 * Revision 1.36 2001/09/17 18:05:20 warmerda 00082 * Register DOQ2 format. 00083 * 00084 * Revision 1.35 2001/07/18 04:51:56 warmerda 00085 * added CPL_CVSID 00086 * 00087 * Revision 1.34 2001/07/05 23:53:53 nemec 00088 * Add FIT file format 00089 * 00090 * Revision 1.33 2001/05/15 13:24:42 warmerda 00091 * added fujibas 00092 * 00093 * Revision 1.32 2001/04/02 17:11:45 warmerda 00094 * added ecw support 00095 * 00096 * Revision 1.31 2001/03/12 15:17:32 warmerda 00097 * added aaigrid 00098 * 00099 * Revision 1.30 2001/03/06 03:53:44 sperkins 00100 * Added FITS format support. 00101 * 00102 * Revision 1.29 2001/02/06 16:34:30 warmerda 00103 * moved format registration entry points to gdal_frmts.h 00104 * 00105 * Revision 1.28 2001/01/15 14:32:30 warmerda 00106 * added envisat 00107 * 00108 * Revision 1.27 2001/01/10 04:41:09 warmerda 00109 * added gif support 00110 * 00111 * Revision 1.26 2001/01/03 18:53:23 warmerda 00112 * Added PNM 00113 * 00114 * Revision 1.25 2000/11/27 19:03:44 warmerda 00115 * added JDEM format 00116 * 00117 * Revision 1.24 2000/11/16 14:48:53 warmerda 00118 * moved GXF down in driver ordering 00119 * 00120 * Revision 1.23 2000/09/11 13:32:26 warmerda 00121 * added grass 00122 * 00123 * Revision 1.22 2000/07/19 19:06:39 warmerda 00124 * added mem 00125 * 00126 * Revision 1.21 2000/06/20 17:36:38 warmerda 00127 * added eosat fast format support 00128 * 00129 * Revision 1.20 2000/04/28 20:59:03 warmerda 00130 * added jpeg 00131 * 00132 * Revision 1.19 2000/04/27 20:02:17 warmerda 00133 * added png 00134 * 00135 * Revision 1.18 2000/04/04 23:44:45 warmerda 00136 * also call auto register function 00137 * 00138 * Revision 1.17 2000/03/31 13:35:32 warmerda 00139 * added SAR_CEOS 00140 * 00141 * Revision 1.16 2000/03/07 21:34:50 warmerda 00142 * added HKV 00143 * 00144 * Revision 1.15 2000/03/06 21:51:09 warmerda 00145 * Added MFF 00146 * 00147 * Revision 1.14 2000/01/31 16:24:37 warmerda 00148 * added aigrid2 00149 * 00150 * Revision 1.13 1999/12/29 20:42:45 warmerda 00151 * Added DOQ1 00152 * 00153 * Revision 1.12 1999/10/21 13:24:52 warmerda 00154 * Added documentation. 00155 * 00156 * Revision 1.11 1999/08/13 03:25:58 warmerda 00157 * add paux 00158 * 00159 * Revision 1.10 1999/07/23 19:36:41 warmerda 00160 * added raw/ehdr support 00161 * 00162 * Revision 1.9 1999/06/03 14:05:33 warmerda 00163 * added SDTS support 00164 * 00165 * Revision 1.8 1999/05/17 01:51:43 warmerda 00166 * Removed unused variable. 00167 * 00168 * Revision 1.7 1999/05/13 15:28:19 warmerda 00169 * Added elas format. 00170 * 00171 * Revision 1.6 1999/05/05 17:32:53 warmerda 00172 * added ceos 00173 * 00174 * Revision 1.5 1999/02/04 22:14:46 warmerda 00175 * added aigrid format 00176 * 00177 * Revision 1.4 1999/01/27 18:33:45 warmerda 00178 * Use FMRT_ macros to test if format avail 00179 * 00180 * Revision 1.3 1999/01/11 15:30:16 warmerda 00181 * added OGDI 00182 * 00183 * Revision 1.2 1998/12/03 18:37:26 warmerda 00184 * Drop GDB, add geotiff. 00185 * 00186 * Revision 1.1 1998/11/29 22:22:14 warmerda 00187 * New 00188 * 00189 */ 00190 00191 #include "gdal_priv.h" 00192 #include "gdal_frmts.h" 00193 00194 CPL_CVSID("$Id: gdalallregister_cpp-source.html,v 1.13 2002/12/21 19:13:12 warmerda Exp $"); 00195 00196 #ifdef notdef 00197 // we may have a use for this some day 00198 static char *szConfiguredFormats = "GDAL_FORMATS"; 00199 #endif 00200 00201 /************************************************************************/ 00202 /* GDALAllRegister() */ 00203 /* */ 00204 /* Register all identifiably supported formats. */ 00205 /************************************************************************/ 00206 00229 void GDALAllRegister() 00230 00231 { 00232 GetGDALDriverManager()->AutoLoadDrivers(); 00233 00234 #ifdef FRMT_vrt 00235 GDALRegister_VRT(); 00236 #endif 00237 00238 #ifdef FRMT_gdb 00239 GDALRegister_GDB(); 00240 #endif 00241 00242 #ifdef FRMT_gtiff 00243 GDALRegister_GTiff(); 00244 #endif 00245 00246 #ifdef FRMT_nitf 00247 GDALRegister_NITF(); 00248 #endif 00249 00250 #ifdef FRMT_hfa 00251 GDALRegister_HFA(); 00252 #endif 00253 00254 #ifdef FRMT_ceos2 00255 GDALRegister_SAR_CEOS(); 00256 #endif 00257 00258 #ifdef FRMT_ceos 00259 GDALRegister_CEOS(); 00260 #endif 00261 00262 #ifdef FRMT_elas 00263 GDALRegister_ELAS(); 00264 #endif 00265 00266 #ifdef FRMT_aigrid 00267 GDALRegister_AIGrid2(); 00268 GDALRegister_AIGrid(); 00269 #endif 00270 00271 #ifdef FRMT_aaigrid 00272 GDALRegister_AAIGrid(); 00273 #endif 00274 00275 #ifdef FRMT_sdts 00276 GDALRegister_SDTS(); 00277 #endif 00278 00279 #ifdef FRMT_ogdi 00280 GDALRegister_OGDI(); 00281 #endif 00282 00283 #ifdef FRMT_dted 00284 GDALRegister_DTED(); 00285 #endif 00286 00287 #ifdef FRMT_png 00288 GDALRegister_PNG(); 00289 #endif 00290 00291 #ifdef FRMT_jpeg 00292 GDALRegister_JPEG(); 00293 #endif 00294 00295 #ifdef FRMT_mem 00296 GDALRegister_MEM(); 00297 #endif 00298 00299 #ifdef FRMT_jdem 00300 GDALRegister_JDEM(); 00301 #endif 00302 00303 #ifdef FRMT_gif 00304 GDALRegister_GIF(); 00305 #endif 00306 00307 #ifdef FRMT_envisat 00308 GDALRegister_Envisat(); 00309 #endif 00310 00311 #ifdef FRMT_fits 00312 GDALRegister_FITS(); 00313 #endif 00314 00315 #ifdef FRMT_bsb 00316 GDALRegister_BSB(); 00317 #endif 00318 00319 #ifdef FRMT_xpm 00320 GDALRegister_XPM(); 00321 #endif 00322 00323 #ifdef FRMT_bmp 00324 GDALRegister_BMP(); 00325 #endif 00326 00327 #ifdef FRMT_ecw 00328 GDALRegister_ECW(); 00329 #endif 00330 00331 #ifdef FRMT_jp2kak 00332 // JPEG2000 support using Kakadu toolkit 00333 GDALRegister_JP2KAK(); 00334 #endif 00335 00336 #ifdef FRMT_jpeg2000 00337 // JPEG2000 support using JasPer toolkit 00338 GDALRegister_JPEG2000(); 00339 #endif 00340 00341 #ifdef FRMT_hdf4 00342 GDALRegister_HDF4(); 00343 GDALRegister_HDF4Image(); 00344 #endif 00345 00346 #ifdef FRMT_l1b 00347 GDALRegister_L1B(); 00348 #endif 00349 00350 #ifdef FRMT_raw 00351 GDALRegister_PNM(); 00352 GDALRegister_DOQ1(); 00353 GDALRegister_DOQ2(); 00354 GDALRegister_ENVI(); 00355 GDALRegister_EHdr(); 00356 GDALRegister_PAux(); 00357 GDALRegister_MFF(); 00358 GDALRegister_HKV(); 00359 GDALRegister_EFF(); 00360 GDALRegister_FujiBAS(); 00361 GDALRegister_GSC(); 00362 GDALRegister_FAST(); 00363 #endif 00364 00365 #ifdef FRMT_fit 00366 GDALRegister_FIT(); 00367 #endif 00368 00369 /* -------------------------------------------------------------------- */ 00370 /* Our test for the following is weak or expensive so we try */ 00371 /* them last. */ 00372 /* -------------------------------------------------------------------- */ 00373 #ifdef FRMT_usgsdem 00374 GDALRegister_USGSDEM(); 00375 #endif 00376 00377 #ifdef FRMT_gxf 00378 GDALRegister_GXF(); 00379 #endif 00380 00381 #ifdef FRMT_grass 00382 GDALRegister_GRASS(); 00383 #endif 00384 00385 /* -------------------------------------------------------------------- */ 00386 /* Deregister any drivers explicitly marked as supressed by the */ 00387 /* GDAL_SKIP environment variable. */ 00388 /* -------------------------------------------------------------------- */ 00389 GetGDALDriverManager()->AutoSkipDrivers(); 00390 }