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 2027 : void CPL_STDCALL GDALAllRegister() 112 : 113 : { 114 2027 : auto poDriverManager = GetGDALDriverManager(); 115 : 116 : #if defined(HAVE_EXTERNAL_DEFERRED_PLUGINS) 117 : DeclareExternalDeferredPlugins(); 118 : #endif 119 : 120 : #if defined(DEFERRED_ARROW_DRIVER) 121 2027 : DeclareDeferredOGRArrowPlugin(); 122 : #endif 123 : #if defined(DEFERRED_BASISU_KTX2_DRIVER) 124 2027 : DeclareDeferredBASISU_KTX2Plugin(); 125 : #endif 126 : #if defined(DEFERRED_CAD_DRIVER) 127 2027 : 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 2027 : DeclareDeferredEXRPlugin(); 144 : #endif 145 : #if defined(DEFERRED_ECW_DRIVER) 146 2027 : DeclareDeferredECWPlugin(); 147 : #endif 148 : #if defined(DEFERRED_FILEGDB_DRIVER) 149 2027 : DeclareDeferredOGRFileGDBPlugin(); 150 : #endif 151 : #if defined(DEFERRED_FITS_DRIVER) 152 2027 : DeclareDeferredFITSPlugin(); 153 : #endif 154 : #if defined(DEFERRED_GEOR_DRIVER) 155 : DeclareDeferredGEORPlugin(); 156 : #endif 157 : #if defined(DEFERRED_GIF_DRIVER) 158 2027 : 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 2027 : DeclareDeferredOGRHANAPlugin(); 171 : #endif 172 : #if defined(DEFERRED_AVIF_DRIVER) 173 : DeclareDeferredAVIFPlugin(); 174 : #endif 175 : #if defined(DEFERRED_HEIF_DRIVER) 176 2027 : DeclareDeferredHEIFPlugin(); 177 : #endif 178 : #if defined(DEFERRED_HDF4_DRIVER) 179 2027 : 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 2027 : DeclareDeferredKEAPlugin(); 185 : #endif 186 : #if defined(DEFERRED_HDF5_DRIVER) 187 2027 : DeclareDeferredHDF5Plugin(); 188 : #endif 189 : #if defined(DEFERRED_IDB_DRIVER) 190 : DeclareDeferredOGRIDBPlugin(); 191 : #endif 192 : #if defined(DEFERRED_JP2KAK_DRIVER) 193 : DeclareDeferredJP2KAKPlugin(); 194 : #endif 195 : #if defined(DEFERRED_JP2OPENJPEG_DRIVER) 196 2027 : DeclareDeferredOPENJPEGPlugin(); 197 : #endif 198 : #if defined(DEFERRED_JPEG_DRIVER) 199 : DeclareDeferredJPEGPlugin(); 200 : #endif 201 : #if defined(DEFERRED_JPEGXL_DRIVER) 202 2027 : DeclareDeferredJPEGXLPlugin(); 203 : #endif 204 : #if defined(DEFERRED_JPIPKAK_DRIVER) 205 : DeclareDeferredJPIPKAKPlugin(); 206 : #endif 207 : #if defined(DEFERRED_LIBKML_DRIVER) 208 2027 : DeclareDeferredOGRLIBKMLPlugin(); 209 : #endif 210 : #if defined(DEFERRED_MONGODBV3_DRIVER) 211 : DeclareDeferredOGRMongoDBv3Plugin(); 212 : #endif 213 : #if defined(DEFERRED_MRF_DRIVER) 214 : DeclareDeferredMRFPlugin(); 215 : #endif 216 : #if defined(DEFERRED_MRSID_DRIVER) 217 : DeclareDeferredMrSIDPlugin(); 218 : #endif 219 : #if defined(DEFERRED_MSG_DRIVER) 220 : DeclareDeferredMSGPlugin(); 221 : #endif 222 : #if defined(DEFERRED_MSSQLSPATIAL_DRIVER) 223 2027 : DeclareDeferredOGRMSSQLSpatialPlugin(); 224 : #endif 225 : #if defined(DEFERRED_MYSQL_DRIVER) 226 2027 : DeclareDeferredOGRMySQLPlugin(); 227 : #endif 228 : #if defined(DEFERRED_NETCDF_DRIVER) 229 2027 : DeclareDeferredNetCDFPlugin(); 230 : #endif 231 : #if defined(DEFERRED_NITF_DRIVER) 232 : DeclareDeferredNITFPlugin(); 233 : #endif 234 : #if defined(DEFERRED_OCI_DRIVER) 235 : DeclareDeferredOGROCIPlugin(); 236 : #endif 237 : #if defined(DEFERRED_ODBC_DRIVER) 238 2027 : DeclareDeferredOGRODBCPlugin(); 239 : #endif 240 : #if defined(DEFERRED_OGDI_DRIVER) 241 : DeclareDeferredOGROGDIPlugin(); 242 : #endif 243 : #if defined(DEFERRED_OPENFILEGDB_DRIVER) 244 : DeclareDeferredOGROpenFileGDBPlugin(); 245 : #endif 246 : #if defined(DEFERRED_PARQUET_DRIVER) 247 2027 : DeclareDeferredOGRParquetPlugin(); 248 : #endif 249 : #if defined(DEFERRED_PCIDSK_DRIVER) 250 2027 : DeclareDeferredPCIDSKPlugin(); 251 : #endif 252 : #if defined(DEFERRED_PCRASTER_DRIVER) 253 2027 : DeclareDeferredPCRasterPlugin(); 254 : #endif 255 : #if defined(DEFERRED_POSTGISRASTER_DRIVER) 256 2027 : DeclareDeferredPostGISRasterPlugin(); 257 : #endif 258 : #if defined(DEFERRED_PLSCENES_DRIVER) 259 : DeclareDeferredOGRPLSCENESPlugin(); 260 : #endif 261 : #if defined(DEFERRED_PDF_DRIVER) 262 2027 : DeclareDeferredPDFPlugin(); 263 : #endif 264 : #if defined(DEFERRED_PDS_DRIVER) 265 : DeclareDeferredPDSPlugin(); 266 : #endif 267 : #if defined(DEFERRED_PG_DRIVER) 268 2027 : DeclareDeferredOGRPGPlugin(); 269 : #endif 270 : #if defined(DEFERRED_PNG_DRIVER) 271 2027 : DeclareDeferredPNGPlugin(); 272 : #endif 273 : #if defined(DEFERRED_RASTERLITE_DRIVER) 274 : DeclareDeferredRasterlitePlugin(); 275 : #endif 276 : #if defined(DEFERRED_SOSI_DRIVER) 277 2027 : DeclareDeferredOGRSOSIPlugin(); 278 : #endif 279 : #if defined(DEFERRED_TILEDB_DRIVER) 280 2027 : DeclareDeferredTileDBPlugin(); 281 : #endif 282 : #if defined(DEFERRED_VFK_DRIVER) 283 2027 : DeclareDeferredOGRVFKPlugin(); 284 : #endif 285 : #if defined(DEFERRED_WCS_DRIVER) 286 : DeclareDeferredWCSPlugin(); 287 : #endif 288 : #if defined(DEFERRED_WEBP_DRIVER) 289 2027 : DeclareDeferredWEBPPlugin(); 290 : #endif 291 : #if defined(DEFERRED_WMS_DRIVER) 292 2027 : DeclareDeferredWMSPlugin(); 293 : #endif 294 : #if defined(DEFERRED_WMTS_DRIVER) 295 : DeclareDeferredWMTSPlugin(); 296 : #endif 297 : #if defined(DEFERRED_XLS_DRIVER) 298 2027 : DeclareDeferredOGRXLSPlugin(); 299 : #endif 300 : #if defined(DEFERRED_ZARR_DRIVER) 301 : DeclareDeferredZarrPlugin(); 302 : #endif 303 : #if defined(DEFERRED_XODR_DRIVER) 304 2027 : DeclareDeferredOGRXODRPlugin(); 305 : #endif 306 : #if defined(DEFERRED_ADBC_DRIVER) 307 2027 : DeclareDeferredOGRADBCPlugin(); 308 : #endif 309 : 310 : // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined. 311 2027 : poDriverManager->AutoLoadDrivers(); 312 : 313 : // NOTE: frmts/drivers.ini in the same directory should be kept in same 314 : // order as this file 315 : 316 : #ifdef FRMT_derived 317 2027 : GDALRegister_Derived(); 318 : #endif 319 : 320 : #ifdef FRMT_gti 321 2027 : GDALRegister_GTI(); 322 : #endif 323 : 324 : #ifdef FRMT_snap_tiff 325 2027 : GDALRegister_SNAP_TIFF(); 326 : #endif 327 : 328 : #ifdef FRMT_gtiff 329 2027 : GDALRegister_GTiff(); 330 2027 : GDALRegister_COG(); 331 : #endif 332 : 333 : #ifdef FRMT_libertiff 334 2027 : GDALRegister_LIBERTIFF(); 335 : #endif 336 : 337 : // VRT needs to be registered after GeoTIFF as it queries its metadata 338 : #ifdef FRMT_vrt 339 2027 : GDALRegister_VRT(); 340 : #endif 341 : 342 : #ifdef FRMT_nitf 343 2027 : GDALRegister_NITF(); 344 2027 : GDALRegister_RPFTOC(); 345 2027 : GDALRegister_ECRGTOC(); 346 : #endif 347 : 348 : #ifdef FRMT_hfa 349 2027 : GDALRegister_HFA(); 350 : #endif 351 : 352 : #ifdef FRMT_ceos2 353 2027 : GDALRegister_SAR_CEOS(); 354 : #endif 355 : 356 : #ifdef FRMT_ceos 357 2027 : GDALRegister_CEOS(); 358 : #endif 359 : 360 : #ifdef FRMT_jaxapalsar 361 2027 : GDALRegister_PALSARJaxa(); 362 : #endif 363 : 364 : #ifdef FRMT_gff 365 2027 : GDALRegister_GFF(); 366 : #endif 367 : 368 : #ifdef FRMT_esric 369 2027 : GDALRegister_ESRIC(); 370 : #endif 371 : 372 : #ifdef FRMT_aigrid 373 : // GDALRegister_AIGrid2(); 374 2027 : GDALRegister_AIGrid(); 375 : #endif 376 : 377 : #ifdef FRMT_aaigrid 378 2027 : GDALRegister_AAIGrid(); 379 2027 : GDALRegister_GRASSASCIIGrid(); 380 2027 : GDALRegister_ISG(); 381 : #endif 382 : 383 : #ifdef FRMT_dted 384 2027 : GDALRegister_DTED(); 385 : #endif 386 : 387 : #ifdef FRMT_png 388 : GDALRegister_PNG(); 389 : #endif 390 : 391 : #ifdef FRMT_dds 392 : GDALRegister_DDS(); 393 : #endif 394 : 395 : #ifdef FRMT_gta 396 : GDALRegister_GTA(); 397 : #endif 398 : 399 : #ifdef FRMT_jpeg 400 2027 : GDALRegister_JPEG(); 401 : #endif 402 : 403 : #ifdef FRMT_mem 404 2027 : GDALRegister_MEM(); 405 : #endif 406 : 407 : #ifdef FRMT_jdem 408 2027 : GDALRegister_JDEM(); 409 : #endif 410 : 411 : #ifdef FRMT_gif 412 : GDALRegister_GIF(); 413 : GDALRegister_BIGGIF(); 414 : #endif 415 : 416 : #ifdef FRMT_envisat 417 2027 : GDALRegister_Envisat(); 418 : #endif 419 : 420 : #ifdef FRMT_fits 421 : GDALRegister_FITS(); 422 : #endif 423 : 424 : #ifdef FRMT_bsb 425 2027 : GDALRegister_BSB(); 426 : #endif 427 : 428 : #ifdef FRMT_bmp 429 2027 : GDALRegister_BMP(); 430 : #endif 431 : 432 : #ifdef FRMT_dimap 433 2027 : GDALRegister_DIMAP(); 434 : #endif 435 : 436 : #ifdef FRMT_airsar 437 2027 : GDALRegister_AirSAR(); 438 : #endif 439 : 440 : #ifdef FRMT_rs2 441 2027 : GDALRegister_RS2(); 442 : #endif 443 : 444 : #ifdef FRMT_safe 445 2027 : GDALRegister_SAFE(); 446 : #endif 447 : 448 : #ifdef FRMT_pcidsk 449 : GDALRegister_PCIDSK(); 450 : #endif 451 : 452 : #ifdef FRMT_pcraster 453 : GDALRegister_PCRaster(); 454 : #endif 455 : 456 : #ifdef FRMT_ilwis 457 2027 : GDALRegister_ILWIS(); 458 : #endif 459 : 460 : #ifdef FRMT_srtmhgt 461 2027 : GDALRegister_SRTMHGT(); 462 : #endif 463 : 464 : #ifdef FRMT_leveller 465 2027 : GDALRegister_Leveller(); 466 : #endif 467 : 468 : #ifdef FRMT_terragen 469 2027 : GDALRegister_Terragen(); 470 : #endif 471 : 472 : #ifdef FRMT_netcdf 473 : GDALRegister_netCDF(); 474 : #endif 475 : 476 : #ifdef FRMT_hdf4 477 : GDALRegister_HDF4(); 478 : GDALRegister_HDF4Image(); 479 : #endif 480 : 481 : #ifdef FRMT_pds 482 2027 : GDALRegister_ISIS3(); 483 2027 : GDALRegister_ISIS2(); 484 2027 : GDALRegister_PDS(); 485 2027 : GDALRegister_PDS4(); 486 2027 : GDALRegister_VICAR(); 487 : #endif 488 : 489 : #ifdef FRMT_til 490 2027 : GDALRegister_TIL(); 491 : #endif 492 : 493 : #ifdef FRMT_ers 494 2027 : GDALRegister_ERS(); 495 : #endif 496 : 497 : #ifdef FRMT_jp2kak 498 : // JPEG2000 support using Kakadu toolkit 499 : GDALRegister_JP2KAK(); 500 : #endif 501 : 502 : #ifdef FRMT_jpipkak 503 : // JPEG2000 support using Kakadu toolkit 504 : GDALRegister_JPIPKAK(); 505 : #endif 506 : 507 : #ifdef FRMT_ecw 508 : GDALRegister_ECW(); 509 : GDALRegister_JP2ECW(); 510 : #endif 511 : 512 : #ifdef FRMT_openjpeg 513 : // JPEG2000 support using OpenJPEG library 514 : GDALRegister_JP2OpenJPEG(); 515 : #endif 516 : 517 : #ifdef FRMT_l1b 518 2027 : GDALRegister_L1B(); 519 : #endif 520 : 521 : #ifdef FRMT_grib 522 2027 : GDALRegister_GRIB(); 523 : #endif 524 : 525 : #ifdef FRMT_mrsid 526 2027 : GDALRegister_MrSID(); 527 : #endif 528 : 529 : #ifdef FRMT_rmf 530 2027 : GDALRegister_RMF(); 531 : #endif 532 : 533 : #ifdef FRMT_wcs 534 2027 : GDALRegister_WCS(); 535 : #endif 536 : 537 : #ifdef FRMT_wms 538 : GDALRegister_WMS(); 539 : #endif 540 : 541 : #ifdef FRMT_msgn 542 2027 : GDALRegister_MSGN(); 543 : #endif 544 : 545 : #ifdef FRMT_msg 546 : GDALRegister_MSG(); 547 : #endif 548 : 549 : #ifdef FRMT_idrisi 550 2027 : GDALRegister_IDRISI(); 551 : #endif 552 : 553 : #ifdef FRMT_gsg 554 2027 : GDALRegister_GSAG(); 555 2027 : GDALRegister_GSBG(); 556 2027 : GDALRegister_GS7BG(); 557 : #endif 558 : 559 : #ifdef FRMT_cosar 560 2027 : GDALRegister_COSAR(); 561 : #endif 562 : 563 : #ifdef FRMT_tsx 564 2027 : GDALRegister_TSX(); 565 : #endif 566 : 567 : #ifdef FRMT_coasp 568 2027 : GDALRegister_COASP(); 569 : #endif 570 : 571 : #ifdef FRMT_map 572 2027 : GDALRegister_MAP(); 573 : #endif 574 : 575 : #ifdef FRMT_kmlsuperoverlay 576 2027 : GDALRegister_KMLSUPEROVERLAY(); 577 : #endif 578 : 579 : #ifdef FRMT_webp 580 : GDALRegister_WEBP(); 581 : #endif 582 : 583 : #ifdef FRMT_pdf 584 : GDALRegister_PDF(); 585 : #endif 586 : 587 : #ifdef FRMT_mbtiles 588 2027 : GDALRegister_MBTiles(); 589 : #endif 590 : 591 : #ifdef FRMT_plmosaic 592 2027 : GDALRegister_PLMOSAIC(); 593 : #endif 594 : 595 : #ifdef FRMT_cals 596 2027 : GDALRegister_CALS(); 597 : #endif 598 : 599 : #ifdef FRMT_wmts 600 2027 : GDALRegister_WMTS(); 601 : #endif 602 : 603 : #ifdef FRMT_sentinel2 604 2027 : GDALRegister_SENTINEL2(); 605 : #endif 606 : 607 : #ifdef FRMT_mrf 608 2027 : GDALRegister_mrf(); 609 : #endif 610 : 611 : #ifdef FRMT_tiledb 612 : GDALRegister_TileDB(); 613 : #endif 614 : 615 : #ifdef FRMT_rdb 616 : GDALRegister_RDB(); 617 : #endif 618 : /* -------------------------------------------------------------------- */ 619 : /* Put raw formats at the end of the list. These drivers support */ 620 : /* various ASCII-header labeled formats, so the driver could be */ 621 : /* confused if you have files in some of above formats and such */ 622 : /* ASCII-header in the same directory. */ 623 : /* -------------------------------------------------------------------- */ 624 : 625 : #ifdef FRMT_raw 626 2027 : GDALRegister_raw_no_sidecar(); 627 : #endif 628 : 629 : /* -------------------------------------------------------------------- */ 630 : /* Our test for the following is weak or expensive so we try */ 631 : /* them last. */ 632 : /* -------------------------------------------------------------------- */ 633 : 634 : #ifdef FRMT_rik 635 2027 : GDALRegister_RIK(); 636 : #endif 637 : 638 : #ifdef FRMT_usgsdem 639 2027 : GDALRegister_USGSDEM(); 640 : #endif 641 : 642 : #ifdef FRMT_gxf 643 2027 : GDALRegister_GXF(); 644 : #endif 645 : 646 : /* Register KEA before HDF5 */ 647 : #ifdef FRMT_kea 648 : GDALRegister_KEA(); 649 : #endif 650 : 651 : #ifdef FRMT_hdf5 652 : GDALRegister_BAG(); 653 : GDALRegister_S102(); 654 : GDALRegister_S104(); 655 : GDALRegister_S111(); 656 : GDALRegister_HDF5(); 657 : GDALRegister_HDF5Image(); 658 : #endif 659 : 660 : #ifdef FRMT_northwood 661 2027 : GDALRegister_NWT_GRD(); 662 2027 : GDALRegister_NWT_GRC(); 663 : #endif 664 : 665 : #ifdef FRMT_adrg 666 2027 : GDALRegister_ADRG(); 667 2027 : GDALRegister_SRP(); 668 : #endif 669 : 670 : #ifdef FRMT_georaster 671 : GDALRegister_GEOR(); 672 : #endif 673 : 674 : #ifdef FRMT_postgisraster 675 : GDALRegister_PostGISRaster(); 676 : #endif 677 : 678 : #ifdef FRMT_saga 679 2027 : GDALRegister_SAGA(); 680 : #endif 681 : 682 : #ifdef FRMT_xyz 683 2027 : GDALRegister_XYZ(); 684 : #endif 685 : 686 : #ifdef FRMT_hf2 687 2027 : GDALRegister_HF2(); 688 : #endif 689 : 690 : #ifdef FRMT_ctg 691 2027 : GDALRegister_CTG(); 692 : #endif 693 : 694 : #ifdef FRMT_zmap 695 2027 : GDALRegister_ZMap(); 696 : #endif 697 : 698 : #ifdef FRMT_ngsgeoid 699 2027 : GDALRegister_NGSGEOID(); 700 : #endif 701 : 702 : #ifdef FRMT_iris 703 2027 : GDALRegister_IRIS(); 704 : #endif 705 : 706 : #ifdef FRMT_prf 707 2027 : GDALRegister_PRF(); 708 : #endif 709 : 710 : #ifdef FRMT_eeda 711 2027 : GDALRegister_EEDAI(); 712 2027 : GDALRegister_EEDA(); 713 : #endif 714 : 715 : #ifdef FRMT_daas 716 2027 : GDALRegister_DAAS(); 717 : #endif 718 : 719 : #ifdef FRMT_null 720 2027 : GDALRegister_NULL(); 721 : #endif 722 : 723 : #ifdef FRMT_sigdem 724 2027 : GDALRegister_SIGDEM(); 725 : #endif 726 : 727 : #ifdef FRMT_exr 728 : GDALRegister_EXR(); 729 : #endif 730 : 731 : #ifdef FRMT_avif 732 : GDALRegister_AVIF(); 733 : #endif 734 : 735 : #ifdef FRMT_heif 736 : GDALRegister_HEIF(); 737 : #endif 738 : 739 : #ifdef FRMT_tga 740 2027 : GDALRegister_TGA(); 741 : #endif 742 : 743 : #ifdef FRMT_ogcapi 744 2027 : GDALRegister_OGCAPI(); 745 : #endif 746 : 747 : #ifdef FRMT_stacta 748 2027 : GDALRegister_STACTA(); 749 : #endif 750 : 751 : #ifdef FRMT_stacit 752 2027 : GDALRegister_STACIT(); 753 : #endif 754 : 755 : #ifdef FRMT_jpegxl 756 : GDALRegister_JPEGXL(); 757 : #endif 758 : 759 : #ifdef FRMT_basisu_ktx2 760 : GDALRegister_BASISU(); 761 : GDALRegister_KTX2(); 762 : #endif 763 : 764 : #ifdef FRMT_gdalg 765 2027 : GDALRegister_GDALG(); 766 : #endif 767 : 768 : // NOTE: you need to generally insert your own driver before that line. 769 : 770 : // NOTE: frmts/drivers.ini in the same directory should be kept in same 771 : // order as this file 772 : 773 : /* -------------------------------------------------------------------- */ 774 : /* GNM and OGR drivers */ 775 : /* -------------------------------------------------------------------- */ 776 : #ifdef GNM_ENABLED 777 2027 : GNMRegisterAllInternal(); 778 : #endif 779 : 780 2027 : OGRRegisterAllInternal(); 781 : 782 : /* -------------------------------------------------------------------- */ 783 : /* Put here drivers that absolutely need to look for side car */ 784 : /* files in their Identify()/Open() procedure. */ 785 : /* -------------------------------------------------------------------- */ 786 : 787 : #ifdef FRMT_raw 788 2027 : GDALRegister_raw_with_sidecar(); 789 : #endif 790 : 791 : #ifdef FRMT_zarr 792 2027 : GDALRegister_Zarr(); 793 : #endif 794 : 795 : #ifdef FRMT_rcm 796 2027 : GDALRegister_RCM(); 797 : #endif 798 : 799 : #ifdef FRMT_miramon 800 2027 : GDALRegister_MiraMon(); 801 : #endif 802 : 803 : /* -------------------------------------------------------------------- */ 804 : /* Register GDAL HTTP last, to let a chance to other drivers */ 805 : /* accepting URL to handle them before. */ 806 : /* -------------------------------------------------------------------- */ 807 : #ifdef FRMT_http 808 2027 : GDALRegister_HTTP(); 809 : #endif 810 : 811 2027 : poDriverManager->AutoLoadPythonDrivers(); 812 : 813 : /* -------------------------------------------------------------------- */ 814 : /* Deregister any drivers explicitly marked as suppressed by the */ 815 : /* GDAL_SKIP environment variable. */ 816 : /* -------------------------------------------------------------------- */ 817 2027 : poDriverManager->AutoSkipDrivers(); 818 : 819 2027 : poDriverManager->ReorderDrivers(); 820 2027 : }