Line data Source code
1 : /****************************************************************************** 2 : * 3 : * Project: GDAL Core 4 : * Purpose: Implementation of GDALAllRegister(), primary format registration. 5 : * Author: Frank Warmerdam, warmerdam@pobox.com 6 : * 7 : ****************************************************************************** 8 : * Copyright (c) 1998, Frank Warmerdam 9 : * Copyright (c) 2007-2014, Even Rouault <even dot rouault at spatialys.com> 10 : * 11 : * SPDX-License-Identifier: MIT 12 : ****************************************************************************/ 13 : 14 : #include "gdal_priv.h" 15 : #include "gdal_frmts.h" 16 : #include "ogrsf_frmts.h" 17 : 18 : #ifdef GNM_ENABLED 19 : #include "gnm_frmts.h" 20 : #endif 21 : 22 : #if defined(HAVE_EXTERNAL_DEFERRED_PLUGINS) 23 : // The above define and the below functions are set and generated by 24 : // frmts/CMakeLists.txt when a CMake ADD_EXTERNAL_DEFERRED_PLUGIN_XXXX 25 : // variable is set. 26 : extern "C" void DeclareExternalDeferredPlugins(void); 27 : #endif 28 : 29 : extern "C" void CPL_DLL GDALRegister_raw_no_sidecar(); 30 : extern "C" void CPL_DLL GDALRegister_raw_with_sidecar(); 31 : 32 : /************************************************************************/ 33 : /* GDALRegisterPlugin() */ 34 : /* */ 35 : /* Register a plugin by name, returning an error if not found */ 36 : /************************************************************************/ 37 : 38 : /** 39 : * \brief Register a plugin by name, returning an error if not found 40 : * 41 : * This function will call GDALDriverManager::LoadPlugin() to register a 42 : * specific plugin by name. 43 : * 44 : * This method is intended to be called instead of GDALAllRegister() or 45 : * GDALRegisterPlugins() when fine tuning which drivers are needed at runtime. 46 : * 47 : * @see GDALDriverManager::LoadPlugin() 48 : * @see GDALDriverManager::AutoLoadDrivers() 49 : * @since GDAL 3.8 50 : */ 51 1 : CPLErr GDALRegisterPlugin(const char *name) 52 : { 53 1 : auto poDriverManager = GetGDALDriverManager(); 54 : // LoadPlugin is a no-op if compiled with GDAL_NO_AUTOLOAD defined. 55 1 : return poDriverManager->LoadPlugin(name); 56 : } 57 : 58 : /************************************************************************/ 59 : /* GDALRegisterPlugins() */ 60 : /* */ 61 : /* Register drivers and support code available as a plugin. */ 62 : /************************************************************************/ 63 : 64 : /** 65 : * \brief Register drivers and support code available as a plugin. 66 : * 67 : * This function will call GDALDriverManager::AutoLoadDrivers() to 68 : * register all drivers or supporting code (for example VRT pixelfunctions 69 : * or VSI adapters) that have not been compiled into the GDAL core but instead 70 : * are made available through GDAL's plugin mechanism. 71 : * 72 : * This method is intended to be called instead of GDALAllRegister() when 73 : * fine tuning which drivers are needed at runtime. 74 : * 75 : * @see GDALDriverManager::AutoLoadDrivers() 76 : * @since GDAL 3.8 77 : */ 78 1 : void CPL_DLL GDALRegisterPlugins(void) 79 : { 80 1 : auto poDriverManager = GetGDALDriverManager(); 81 : // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined. 82 1 : poDriverManager->AutoLoadDrivers(); 83 1 : poDriverManager->AutoLoadPythonDrivers(); 84 : 85 : /* -------------------------------------------------------------------- */ 86 : /* Deregister any drivers explicitly marked as suppressed by the */ 87 : /* GDAL_SKIP environment variable. */ 88 : /* -------------------------------------------------------------------- */ 89 1 : poDriverManager->AutoSkipDrivers(); 90 : 91 1 : poDriverManager->ReorderDrivers(); 92 1 : } 93 : 94 : /************************************************************************/ 95 : /* GDALAllRegister() */ 96 : /* */ 97 : /* Register all identifiably supported formats. */ 98 : /************************************************************************/ 99 : 100 : /** 101 : * Register all known configured GDAL drivers. 102 : * 103 : * This function will drive any of the following that are configured into 104 : * GDAL. See <a href="http://gdal.org/formats_list.html">raster list</a> and 105 : * <a href="http://gdal.org/ogr_formats.html">vector full list</a> 106 : * 107 : * This function should generally be called once at the beginning of the 108 : * application. 109 : */ 110 : 111 2129 : void CPL_STDCALL GDALAllRegister() 112 : 113 : { 114 2129 : auto poDriverManager = GetGDALDriverManager(); 115 : 116 : #if defined(HAVE_EXTERNAL_DEFERRED_PLUGINS) 117 : DeclareExternalDeferredPlugins(); 118 : #endif 119 : 120 : #if defined(DEFERRED_ARROW_DRIVER) 121 2129 : DeclareDeferredOGRArrowPlugin(); 122 : #endif 123 : #if defined(DEFERRED_BASISU_KTX2_DRIVER) 124 2129 : DeclareDeferredBASISU_KTX2Plugin(); 125 : #endif 126 : #if defined(DEFERRED_CAD_DRIVER) 127 2129 : DeclareDeferredOGRCADPlugin(); 128 : #endif 129 : #if defined(DEFERRED_CARTO_DRIVER) 130 : DeclareDeferredOGRCartoPlugin(); 131 : #endif 132 : #if defined(DEFERRED_DDS_DRIVER) 133 : DeclareDeferredDDSPlugin(); 134 : #endif 135 : #if defined(DEFERRED_DWG_DRIVER) 136 : DeclareDeferredOGRDWGPlugin(); 137 : DeclareDeferredOGRDGNV8Plugin(); 138 : #endif 139 : #if defined(DEFERRED_ELASTIC_DRIVER) 140 : DeclareDeferredOGRElasticPlugin(); 141 : #endif 142 : #if defined(DEFERRED_EXR_DRIVER) 143 2129 : DeclareDeferredEXRPlugin(); 144 : #endif 145 : #if defined(DEFERRED_ECW_DRIVER) 146 2129 : DeclareDeferredECWPlugin(); 147 : #endif 148 : #if defined(DEFERRED_FILEGDB_DRIVER) 149 2129 : DeclareDeferredOGRFileGDBPlugin(); 150 : #endif 151 : #if defined(DEFERRED_FITS_DRIVER) 152 2129 : DeclareDeferredFITSPlugin(); 153 : #endif 154 : #if defined(DEFERRED_GEOR_DRIVER) 155 : DeclareDeferredGEORPlugin(); 156 : #endif 157 : #if defined(DEFERRED_GIF_DRIVER) 158 2129 : DeclareDeferredGIFPlugin(); 159 : #endif 160 : #if defined(DEFERRED_GMLAS_DRIVER) 161 : DeclareDeferredOGRGMLASPlugin(); 162 : #endif 163 : #if defined(DEFERRED_GRIB_DRIVER) 164 : DeclareDeferredGRIBPlugin(); 165 : #endif 166 : #if defined(DEFERRED_GTA_DRIVER) 167 : DeclareDeferredGTAPlugin(); 168 : #endif 169 : #if defined(DEFERRED_HANA_DRIVER) 170 2129 : DeclareDeferredOGRHANAPlugin(); 171 : #endif 172 : #if defined(DEFERRED_AVIF_DRIVER) 173 : DeclareDeferredAVIFPlugin(); 174 : #endif 175 : #if defined(DEFERRED_HEIF_DRIVER) 176 2129 : DeclareDeferredHEIFPlugin(); 177 : #endif 178 : #if defined(DEFERRED_HDF4_DRIVER) 179 2129 : DeclareDeferredHDF4Plugin(); 180 : #endif 181 : #if defined(DEFERRED_KEA_DRIVER) 182 : // Must be registered before HDF5 so that when the plugin is not 183 : // installer the proper suggestion message is displayed 184 2129 : DeclareDeferredKEAPlugin(); 185 : #endif 186 : #if defined(DEFERRED_HDF5_DRIVER) 187 2129 : DeclareDeferredHDF5Plugin(); 188 : #endif 189 : #if defined(DEFERRED_IDB_DRIVER) 190 : DeclareDeferredOGRIDBPlugin(); 191 : #endif 192 : #if defined(DEFERRED_JP2Grok_DRIVER) 193 : DeclareDeferredJP2GrokPlugin(); 194 : #endif 195 : #if defined(DEFERRED_JP2KAK_DRIVER) 196 : DeclareDeferredJP2KAKPlugin(); 197 : #endif 198 : #if defined(DEFERRED_JP2OPENJPEG_DRIVER) 199 2129 : DeclareDeferredOPENJPEGPlugin(); 200 : #endif 201 : #if defined(DEFERRED_JPEG_DRIVER) 202 : DeclareDeferredJPEGPlugin(); 203 : #endif 204 : #if defined(DEFERRED_JPEGXL_DRIVER) 205 2129 : DeclareDeferredJPEGXLPlugin(); 206 : #endif 207 : #if defined(DEFERRED_JPIPKAK_DRIVER) 208 : DeclareDeferredJPIPKAKPlugin(); 209 : #endif 210 : #if defined(DEFERRED_LIBKML_DRIVER) 211 2129 : DeclareDeferredOGRLIBKMLPlugin(); 212 : #endif 213 : #if defined(DEFERRED_MONGODBV3_DRIVER) 214 : DeclareDeferredOGRMongoDBv3Plugin(); 215 : #endif 216 : #if defined(DEFERRED_LERC_DRIVER) 217 : DeclareDeferredLERCPlugin(); 218 : #endif 219 : #if defined(DEFERRED_MRF_DRIVER) 220 : DeclareDeferredMRFPlugin(); 221 : #endif 222 : #if defined(DEFERRED_MRSID_DRIVER) 223 : DeclareDeferredMrSIDPlugin(); 224 : #endif 225 : #if defined(DEFERRED_MSG_DRIVER) 226 : DeclareDeferredMSGPlugin(); 227 : #endif 228 : #if defined(DEFERRED_MSSQLSPATIAL_DRIVER) 229 2129 : DeclareDeferredOGRMSSQLSpatialPlugin(); 230 : #endif 231 : #if defined(DEFERRED_MYSQL_DRIVER) 232 2129 : DeclareDeferredOGRMySQLPlugin(); 233 : #endif 234 : #if defined(DEFERRED_NETCDF_DRIVER) 235 2129 : DeclareDeferredNetCDFPlugin(); 236 : #endif 237 : #if defined(DEFERRED_NITF_DRIVER) 238 : DeclareDeferredNITFPlugin(); 239 : #endif 240 : #if defined(DEFERRED_OCI_DRIVER) 241 : DeclareDeferredOGROCIPlugin(); 242 : #endif 243 : #if defined(DEFERRED_ODBC_DRIVER) 244 2129 : DeclareDeferredOGRODBCPlugin(); 245 : #endif 246 : #if defined(DEFERRED_OGDI_DRIVER) 247 : DeclareDeferredOGROGDIPlugin(); 248 : #endif 249 : #if defined(DEFERRED_OPENFILEGDB_DRIVER) 250 : DeclareDeferredOGROpenFileGDBPlugin(); 251 : #endif 252 : #if defined(DEFERRED_PARQUET_DRIVER) 253 2129 : DeclareDeferredOGRParquetPlugin(); 254 : #endif 255 : #if defined(DEFERRED_PCIDSK_DRIVER) 256 2129 : DeclareDeferredPCIDSKPlugin(); 257 : #endif 258 : #if defined(DEFERRED_PCRASTER_DRIVER) 259 2129 : DeclareDeferredPCRasterPlugin(); 260 : #endif 261 : #if defined(DEFERRED_POSTGISRASTER_DRIVER) 262 2129 : DeclareDeferredPostGISRasterPlugin(); 263 : #endif 264 : #if defined(DEFERRED_PLSCENES_DRIVER) 265 : DeclareDeferredOGRPLSCENESPlugin(); 266 : #endif 267 : #if defined(DEFERRED_PDF_DRIVER) 268 2129 : DeclareDeferredPDFPlugin(); 269 : #endif 270 : #if defined(DEFERRED_PDS_DRIVER) 271 : DeclareDeferredPDSPlugin(); 272 : #endif 273 : #if defined(DEFERRED_PG_DRIVER) 274 2129 : DeclareDeferredOGRPGPlugin(); 275 : #endif 276 : #if defined(DEFERRED_PNG_DRIVER) 277 2129 : DeclareDeferredPNGPlugin(); 278 : #endif 279 : #if defined(DEFERRED_RASTERLITE_DRIVER) 280 : DeclareDeferredRasterlitePlugin(); 281 : #endif 282 : #if defined(DEFERRED_SOSI_DRIVER) 283 2129 : DeclareDeferredOGRSOSIPlugin(); 284 : #endif 285 : #if defined(DEFERRED_TILEDB_DRIVER) 286 2129 : DeclareDeferredTileDBPlugin(); 287 : #endif 288 : #if defined(DEFERRED_VFK_DRIVER) 289 2129 : DeclareDeferredOGRVFKPlugin(); 290 : #endif 291 : #if defined(DEFERRED_WCS_DRIVER) 292 : DeclareDeferredWCSPlugin(); 293 : #endif 294 : #if defined(DEFERRED_WEBP_DRIVER) 295 2129 : DeclareDeferredWEBPPlugin(); 296 : #endif 297 : #if defined(DEFERRED_WMS_DRIVER) 298 2129 : DeclareDeferredWMSPlugin(); 299 : #endif 300 : #if defined(DEFERRED_WMTS_DRIVER) 301 : DeclareDeferredWMTSPlugin(); 302 : #endif 303 : #if defined(DEFERRED_XLS_DRIVER) 304 2129 : DeclareDeferredOGRXLSPlugin(); 305 : #endif 306 : #if defined(DEFERRED_ZARR_DRIVER) 307 : DeclareDeferredZarrPlugin(); 308 : #endif 309 : #if defined(DEFERRED_XODR_DRIVER) 310 2129 : DeclareDeferredOGRXODRPlugin(); 311 : #endif 312 : #if defined(DEFERRED_ADBC_DRIVER) 313 2129 : DeclareDeferredOGRADBCPlugin(); 314 : #endif 315 : #if defined(DEFERRED_S101_DRIVER) 316 : DeclareDeferredOGRS101Plugin(); 317 : #endif 318 : 319 : // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined. 320 2129 : poDriverManager->AutoLoadDrivers(); 321 : 322 : // NOTE: frmts/drivers.ini in the same directory should be kept in same 323 : // order as this file 324 : 325 : #ifdef FRMT_derived 326 2129 : GDALRegister_Derived(); 327 : #endif 328 : 329 : #ifdef FRMT_gti 330 2129 : GDALRegister_GTI(); 331 : #endif 332 : 333 : #ifdef FRMT_snap_tiff 334 2129 : GDALRegister_SNAP_TIFF(); 335 : #endif 336 : 337 : #ifdef FRMT_gtiff 338 2129 : GDALRegister_GTiff(); 339 2129 : GDALRegister_COG(); 340 : #endif 341 : 342 : #ifdef FRMT_libertiff 343 2129 : GDALRegister_LIBERTIFF(); 344 : #endif 345 : 346 : // VRT needs to be registered after GeoTIFF as it queries its metadata 347 : #ifdef FRMT_vrt 348 2129 : GDALRegister_VRT(); 349 : #endif 350 : 351 : #ifdef FRMT_nitf 352 2129 : GDALRegister_NITF(); 353 2129 : GDALRegister_RPFTOC(); 354 2129 : GDALRegister_ECRGTOC(); 355 : #endif 356 : 357 : #ifdef FRMT_hfa 358 2129 : GDALRegister_HFA(); 359 : #endif 360 : 361 : #ifdef FRMT_ceos2 362 2129 : GDALRegister_SAR_CEOS(); 363 : #endif 364 : 365 : #ifdef FRMT_ceos 366 2129 : GDALRegister_CEOS(); 367 : #endif 368 : 369 : #ifdef FRMT_jaxapalsar 370 2129 : GDALRegister_PALSARJaxa(); 371 : #endif 372 : 373 : #ifdef FRMT_gff 374 2129 : GDALRegister_GFF(); 375 : #endif 376 : 377 : #ifdef FRMT_esric 378 2129 : GDALRegister_ESRIC(); 379 : #endif 380 : 381 : #ifdef FRMT_aigrid 382 : // GDALRegister_AIGrid2(); 383 2129 : GDALRegister_AIGrid(); 384 : #endif 385 : 386 : #ifdef FRMT_aaigrid 387 2129 : GDALRegister_AAIGrid(); 388 2129 : GDALRegister_GRASSASCIIGrid(); 389 2129 : GDALRegister_ISG(); 390 : #endif 391 : 392 : #ifdef FRMT_dted 393 2129 : GDALRegister_DTED(); 394 : #endif 395 : 396 : #ifdef FRMT_png 397 : GDALRegister_PNG(); 398 : #endif 399 : 400 : #ifdef FRMT_dds 401 : GDALRegister_DDS(); 402 : #endif 403 : 404 : #ifdef FRMT_gta 405 : GDALRegister_GTA(); 406 : #endif 407 : 408 : #ifdef FRMT_jpeg 409 2129 : GDALRegister_JPEG(); 410 : #endif 411 : 412 : #ifdef FRMT_mem 413 2129 : GDALRegister_MEM(); 414 : #endif 415 : 416 : #ifdef FRMT_jdem 417 2129 : GDALRegister_JDEM(); 418 : #endif 419 : 420 : #ifdef FRMT_gif 421 : GDALRegister_GIF(); 422 : GDALRegister_BIGGIF(); 423 : #endif 424 : 425 : #ifdef FRMT_envisat 426 2129 : GDALRegister_Envisat(); 427 : #endif 428 : 429 : #ifdef FRMT_fits 430 : GDALRegister_FITS(); 431 : #endif 432 : 433 : #ifdef FRMT_bsb 434 2129 : GDALRegister_BSB(); 435 : #endif 436 : 437 : #ifdef FRMT_bmp 438 2129 : GDALRegister_BMP(); 439 : #endif 440 : 441 : #ifdef FRMT_dimap 442 2129 : GDALRegister_DIMAP(); 443 : #endif 444 : 445 : #ifdef FRMT_airsar 446 2129 : GDALRegister_AirSAR(); 447 : #endif 448 : 449 : #ifdef FRMT_rs2 450 2129 : GDALRegister_RS2(); 451 : #endif 452 : 453 : #ifdef FRMT_safe 454 2129 : GDALRegister_SAFE(); 455 : #endif 456 : 457 : #ifdef FRMT_pcidsk 458 : GDALRegister_PCIDSK(); 459 : #endif 460 : 461 : #ifdef FRMT_pcraster 462 : GDALRegister_PCRaster(); 463 : #endif 464 : 465 : #ifdef FRMT_ilwis 466 2129 : GDALRegister_ILWIS(); 467 : #endif 468 : 469 : #ifdef FRMT_srtmhgt 470 2129 : GDALRegister_SRTMHGT(); 471 : #endif 472 : 473 : #ifdef FRMT_leveller 474 2129 : GDALRegister_Leveller(); 475 : #endif 476 : 477 : #ifdef FRMT_terragen 478 2129 : GDALRegister_Terragen(); 479 : #endif 480 : 481 : #ifdef FRMT_netcdf 482 : GDALRegister_netCDF(); 483 : #endif 484 : 485 : #ifdef FRMT_hdf4 486 : GDALRegister_HDF4(); 487 : GDALRegister_HDF4Image(); 488 : #endif 489 : 490 : #ifdef FRMT_pds 491 2129 : GDALRegister_ISIS3(); 492 2129 : GDALRegister_ISIS2(); 493 2129 : GDALRegister_PDS(); 494 2129 : GDALRegister_PDS4(); 495 2129 : GDALRegister_VICAR(); 496 : #endif 497 : 498 : #ifdef FRMT_til 499 2129 : GDALRegister_TIL(); 500 : #endif 501 : 502 : #ifdef FRMT_ers 503 2129 : GDALRegister_ERS(); 504 : #endif 505 : 506 : #ifdef FRMT_jp2grok 507 : GDALRegister_JP2Grok(); 508 : #endif 509 : 510 : #ifdef FRMT_jp2kak 511 : // JPEG2000 support using Kakadu toolkit 512 : GDALRegister_JP2KAK(); 513 : #endif 514 : 515 : #ifdef FRMT_jpipkak 516 : // JPEG2000 support using Kakadu toolkit 517 : GDALRegister_JPIPKAK(); 518 : #endif 519 : 520 : #ifdef FRMT_ecw 521 : GDALRegister_ECW(); 522 : GDALRegister_JP2ECW(); 523 : #endif 524 : 525 : #ifdef FRMT_openjpeg 526 : // JPEG2000 support using OpenJPEG library 527 : GDALRegister_JP2OpenJPEG(); 528 : #endif 529 : 530 : #ifdef FRMT_l1b 531 2129 : GDALRegister_L1B(); 532 : #endif 533 : 534 : #ifdef FRMT_grib 535 2129 : GDALRegister_GRIB(); 536 : #endif 537 : 538 : #ifdef FRMT_mrsid 539 2129 : GDALRegister_MrSID(); 540 : #endif 541 : 542 : #ifdef FRMT_rmf 543 2129 : GDALRegister_RMF(); 544 : #endif 545 : 546 : #ifdef FRMT_wcs 547 2129 : GDALRegister_WCS(); 548 : #endif 549 : 550 : #ifdef FRMT_wms 551 : GDALRegister_WMS(); 552 : #endif 553 : 554 : #ifdef FRMT_msgn 555 2129 : GDALRegister_MSGN(); 556 : #endif 557 : 558 : #ifdef FRMT_msg 559 : GDALRegister_MSG(); 560 : #endif 561 : 562 : #ifdef FRMT_idrisi 563 2129 : GDALRegister_IDRISI(); 564 : #endif 565 : 566 : #ifdef FRMT_gsg 567 2129 : GDALRegister_GSAG(); 568 2129 : GDALRegister_GSBG(); 569 2129 : GDALRegister_GS7BG(); 570 : #endif 571 : 572 : #ifdef FRMT_cosar 573 2129 : GDALRegister_COSAR(); 574 : #endif 575 : 576 : #ifdef FRMT_tsx 577 2129 : GDALRegister_TSX(); 578 : #endif 579 : 580 : #ifdef FRMT_coasp 581 2129 : GDALRegister_COASP(); 582 : #endif 583 : 584 : #ifdef FRMT_map 585 2129 : GDALRegister_MAP(); 586 : #endif 587 : 588 : #ifdef FRMT_kmlsuperoverlay 589 2129 : GDALRegister_KMLSUPEROVERLAY(); 590 : #endif 591 : 592 : #ifdef FRMT_webp 593 : GDALRegister_WEBP(); 594 : #endif 595 : 596 : #ifdef FRMT_pdf 597 : GDALRegister_PDF(); 598 : #endif 599 : 600 : #ifdef FRMT_mbtiles 601 2129 : GDALRegister_MBTiles(); 602 : #endif 603 : 604 : #ifdef FRMT_plmosaic 605 2129 : GDALRegister_PLMOSAIC(); 606 : #endif 607 : 608 : #ifdef FRMT_cals 609 2129 : GDALRegister_CALS(); 610 : #endif 611 : 612 : #ifdef FRMT_wmts 613 2129 : GDALRegister_WMTS(); 614 : #endif 615 : 616 : #ifdef FRMT_sentinel2 617 2129 : GDALRegister_SENTINEL2(); 618 : #endif 619 : 620 : #ifdef FRMT_lerc 621 2129 : GDALRegister_LERC(); 622 : #endif 623 : 624 : #ifdef FRMT_mrf 625 2129 : GDALRegister_MRF(); 626 : #endif 627 : 628 : #ifdef FRMT_rdb 629 : GDALRegister_RDB(); 630 : #endif 631 : /* -------------------------------------------------------------------- */ 632 : /* Put raw formats at the end of the list. These drivers support */ 633 : /* various ASCII-header labeled formats, so the driver could be */ 634 : /* confused if you have files in some of above formats and such */ 635 : /* ASCII-header in the same directory. */ 636 : /* -------------------------------------------------------------------- */ 637 : 638 : #ifdef FRMT_raw 639 2129 : GDALRegister_raw_no_sidecar(); 640 : #endif 641 : 642 : #ifdef FRMT_tiledb 643 : GDALRegister_TileDB(); 644 : #endif 645 : 646 : /* -------------------------------------------------------------------- */ 647 : /* Our test for the following is weak or expensive so we try */ 648 : /* them last. */ 649 : /* -------------------------------------------------------------------- */ 650 : 651 : #ifdef FRMT_rik 652 2129 : GDALRegister_RIK(); 653 : #endif 654 : 655 : #ifdef FRMT_usgsdem 656 2129 : GDALRegister_USGSDEM(); 657 : #endif 658 : 659 : #ifdef FRMT_gxf 660 2129 : GDALRegister_GXF(); 661 : #endif 662 : 663 : /* Register KEA before HDF5 */ 664 : #ifdef FRMT_kea 665 : GDALRegister_KEA(); 666 : #endif 667 : 668 : #ifdef FRMT_hdf5 669 : GDALRegister_BAG(); 670 : GDALRegister_S102(); 671 : GDALRegister_S104(); 672 : GDALRegister_S111(); 673 : GDALRegister_HDF5(); 674 : GDALRegister_HDF5Image(); 675 : #endif 676 : 677 : #ifdef FRMT_northwood 678 2129 : GDALRegister_NWT_GRD(); 679 2129 : GDALRegister_NWT_GRC(); 680 : #endif 681 : 682 : #ifdef FRMT_adrg 683 2129 : GDALRegister_ADRG(); 684 2129 : GDALRegister_SRP(); 685 : #endif 686 : 687 : #ifdef FRMT_georaster 688 : GDALRegister_GEOR(); 689 : #endif 690 : 691 : #ifdef FRMT_postgisraster 692 : GDALRegister_PostGISRaster(); 693 : #endif 694 : 695 : #ifdef FRMT_saga 696 2129 : GDALRegister_SAGA(); 697 : #endif 698 : 699 : #ifdef FRMT_xyz 700 2129 : GDALRegister_XYZ(); 701 : #endif 702 : 703 : #ifdef FRMT_hf2 704 2129 : GDALRegister_HF2(); 705 : #endif 706 : 707 : #ifdef FRMT_ctg 708 2129 : GDALRegister_CTG(); 709 : #endif 710 : 711 : #ifdef FRMT_zmap 712 2129 : GDALRegister_ZMap(); 713 : #endif 714 : 715 : #ifdef FRMT_ngsgeoid 716 2129 : GDALRegister_NGSGEOID(); 717 : #endif 718 : 719 : #ifdef FRMT_iris 720 2129 : GDALRegister_IRIS(); 721 : #endif 722 : 723 : #ifdef FRMT_prf 724 2129 : GDALRegister_PRF(); 725 : #endif 726 : 727 : #ifdef FRMT_eeda 728 2129 : GDALRegister_EEDAI(); 729 2129 : GDALRegister_EEDA(); 730 : #endif 731 : 732 : #ifdef FRMT_daas 733 2129 : GDALRegister_DAAS(); 734 : #endif 735 : 736 : #ifdef FRMT_null 737 2129 : GDALRegister_NULL(); 738 : #endif 739 : 740 : #ifdef FRMT_sigdem 741 2129 : GDALRegister_SIGDEM(); 742 : #endif 743 : 744 : #ifdef FRMT_exr 745 : GDALRegister_EXR(); 746 : #endif 747 : 748 : #ifdef FRMT_avif 749 : GDALRegister_AVIF(); 750 : #endif 751 : 752 : #ifdef FRMT_heif 753 : GDALRegister_HEIF(); 754 : #endif 755 : 756 : #ifdef FRMT_tga 757 2129 : GDALRegister_TGA(); 758 : #endif 759 : 760 : #ifdef FRMT_ogcapi 761 2129 : GDALRegister_OGCAPI(); 762 : #endif 763 : 764 : #ifdef FRMT_stacta 765 2129 : GDALRegister_STACTA(); 766 : #endif 767 : 768 : #ifdef FRMT_stacit 769 2129 : GDALRegister_STACIT(); 770 : #endif 771 : 772 : #ifdef FRMT_jpegxl 773 : GDALRegister_JPEGXL(); 774 : #endif 775 : 776 : #ifdef FRMT_basisu_ktx2 777 : GDALRegister_BASISU(); 778 : GDALRegister_KTX2(); 779 : #endif 780 : 781 : #ifdef FRMT_gdalg 782 2129 : GDALRegister_GDALG(); 783 : #endif 784 : 785 : #ifdef FRMT_e57 786 2129 : GDALRegister_E57(); 787 : #endif 788 : 789 : // NOTE: you need to generally insert your own driver before that line. 790 : 791 : // NOTE: frmts/drivers.ini in the same directory should be kept in same 792 : // order as this file 793 : 794 : /* -------------------------------------------------------------------- */ 795 : /* GNM and OGR drivers */ 796 : /* -------------------------------------------------------------------- */ 797 : #ifdef GNM_ENABLED 798 2129 : GNMRegisterAllInternal(); 799 : #endif 800 : 801 2129 : OGRRegisterAllInternal(); 802 : 803 : /* -------------------------------------------------------------------- */ 804 : /* Put here drivers that absolutely need to look for side car */ 805 : /* files in their Identify()/Open() procedure. */ 806 : /* -------------------------------------------------------------------- */ 807 : 808 : #ifdef FRMT_raw 809 2129 : GDALRegister_raw_with_sidecar(); 810 : #endif 811 : 812 : #ifdef FRMT_zarr 813 2129 : GDALRegister_Zarr(); 814 : #endif 815 : 816 : #ifdef FRMT_rcm 817 2129 : GDALRegister_RCM(); 818 : #endif 819 : 820 : #ifdef FRMT_miramon 821 2129 : GDALRegister_MiraMon(); 822 : #endif 823 : 824 : /* -------------------------------------------------------------------- */ 825 : /* Register GDAL HTTP last, to let a chance to other drivers */ 826 : /* accepting URL to handle them before. */ 827 : /* -------------------------------------------------------------------- */ 828 : #ifdef FRMT_http 829 2129 : GDALRegister_HTTP(); 830 : #endif 831 : 832 2129 : poDriverManager->AutoLoadPythonDrivers(); 833 : 834 : /* -------------------------------------------------------------------- */ 835 : /* Deregister any drivers explicitly marked as suppressed by the */ 836 : /* GDAL_SKIP environment variable. */ 837 : /* -------------------------------------------------------------------- */ 838 2129 : poDriverManager->AutoSkipDrivers(); 839 : 840 2129 : poDriverManager->ReorderDrivers(); 841 2129 : }