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