# Module org.apache.sis.storage.gdal

module org.apache.sis.storage.gdal
Bridge to the GDAL library for reading rasters. This module assumes that GDAL 3.0 or later is preinstalled. The GDAL C/C++ functions are invoked by using the
invalid reference

    java.lang.foreign

package.

## Prerequisites

The `libgdal.so` (on POSIX) or `gdal.dll` (on Windows) file must be reachable on the library search path. On POSIX systems, the `libgdal.so` is searched in the directories specified by the `LD_LIBRARY_PATH` environment variable. If the file is not found in these directories, then the search continues in `/lib/` and `/usr/lib/`.

Accesses to native functions are restricted by default in Java and require user's authorization. This authorization can be granted by the following option on the command-line:

    java --enable-native-access org.apache.sis.storage.gdal <other options>

## When to use

GDAL supports a wider range of formats and compression methods than Apache SIS. Therefore, GDAL is a useful fallback when a format is not supported directly by SIS. However, GDAL is not necessarily faster or more capable than pure Java implementations. When a pure Java implementation exists, we recommend to test it before to fallback on native code. The performances of Apache SIS data stores are often comparable to GDAL, and the SIS modules dedicated to a format (GeoTIFF, netCDF, Earth Observation, …) have more extensive support than this module for some features such as ISO 19115 metadata and non-linear transforms.

## Memory consumption

GDAL and Apache SIS both have their own cache mechanism. For reducing the amount of memory consumed by the same data cached twice, it may be useful to set the `GDAL_CACHEMAX` environment variable to a lower value. The value can be specified in megabytes or as a percentage (e.g. "5%").

Since:
  1.5

- ## Packages

  Exports
  Package
  Description
  org.apache.sis.storage.gdal
  Bridge to the GDAL library for reading rasters.
  Indirect Exports
  From
  Packages
  org.apache.sis.feature
  org.apache.sis.coverage org.apache.sis.coverage.grid org.apache.sis.feature org.apache.sis.feature.builder org.apache.sis.filter org.apache.sis.image org.apache.sis.index.tree
  org.apache.sis.metadata
  org.apache.sis.metadata org.apache.sis.metadata.iso org.apache.sis.metadata.iso.acquisition org.apache.sis.metadata.iso.citation org.apache.sis.metadata.iso.constraint org.apache.sis.metadata.iso.content org.apache.sis.metadata.iso.distribution org.apache.sis.metadata.iso.extent org.apache.sis.metadata.iso.identification org.apache.sis.metadata.iso.lineage org.apache.sis.metadata.iso.maintenance org.apache.sis.metadata.iso.quality org.apache.sis.metadata.iso.spatial org.apache.sis.metadata.sql org.apache.sis.util.iso org.apache.sis.xml
  org.apache.sis.referencing
  org.apache.sis.coordinate org.apache.sis.geometry org.apache.sis.io.wkt org.apache.sis.parameter org.apache.sis.referencing org.apache.sis.referencing.crs org.apache.sis.referencing.cs org.apache.sis.referencing.datum org.apache.sis.referencing.factory org.apache.sis.referencing.factory.sql org.apache.sis.referencing.operation org.apache.sis.referencing.operation.builder org.apache.sis.referencing.operation.matrix org.apache.sis.referencing.operation.transform
  org.apache.sis.storage
  org.apache.sis.storage org.apache.sis.storage.aggregate org.apache.sis.storage.event org.apache.sis.storage.modifier org.apache.sis.storage.tiling
  org.apache.sis.util
  org.apache.sis.io org.apache.sis.math org.apache.sis.measure org.apache.sis.setup org.apache.sis.util org.apache.sis.util.collection org.apache.sis.util.logging
  org.opengis.geoapi
  org.opengis.annotation org.opengis.feature.type org.opengis.geometry org.opengis.geometry.coordinate org.opengis.geometry.primitive org.opengis.metadata org.opengis.metadata.acquisition org.opengis.metadata.citation org.opengis.metadata.constraint org.opengis.metadata.content org.opengis.metadata.distribution org.opengis.metadata.extent org.opengis.metadata.identification org.opengis.metadata.lineage org.opengis.metadata.maintenance org.opengis.metadata.quality org.opengis.metadata.spatial org.opengis.parameter org.opengis.referencing org.opengis.referencing.crs org.opengis.referencing.cs org.opengis.referencing.datum org.opengis.referencing.operation org.opengis.temporal org.opengis.util

- ## Modules

  Requires
  Modifier
  Module
  Description
  transitive
  org.apache.sis.referencing
  Referencing by coordinates.
  transitive
  org.apache.sis.storage
  Raster imagery and geometry features.
  Indirect Requires
  Modifier
  Module
  Description
  transitive
  org.apache.sis.feature
  Raster imagery and geometry features.
  transitive
  org.apache.sis.metadata
  Implementations of metadata derived from ISO 19115.
  transitive
  org.apache.sis.util
  Units of measurement and miscellaneous utility methods required by Apache SIS.
  transitive
  org.opengis.geoapi
  Java interfaces derived from specifications of International Organization for Standardization (ISO) and Open Geospatial Consortium (OGC).