GeoDatabase

Luo_Suppe2026-08-15

gma.gio.GeoDatabase

[class] GeoDatabase(data = None, driver = None, out_dst = None):

Initialize a GeoDatabase object.

**Optional:

data = None||str. Default None.

If None, create a new empty GeoDatabase. If str, open the file path as GeoDatabase.

driver = str||None. Default None.

If data is None, the driver name to create the GeoDatabase.

out_dst = str||None. Default None.

If data is None, the output file path to create the GeoDatabase.

Method

add_layer

[method] .add_layer(layer, new_name = None, over_write = False, **kwargs):

Add Layer to GeoDataBase.

Parameters:

GMALayer: Layer.

Another GMA Layer!

**Optional:

new_name = str||None. Default None.

The new name of the added Layer. Default is the added Layer's name.

OverWrite = bool. Default False.

Whether to force overwrite the layer with the same name.

create_layer

[method] .create_layer(name = None, crs = None, gtype = "Polygon", options = {}):

Create a new layer in GeoDatabase.

**Optional:

name = str||None. Default None.

The name for the new layer. This should ideally not match any existing layer on the datasource. None for randint.

crs = int||str||CoordinateReferenceSystem. Default None.

The coordinate system to use for the new layer, or None if no coordinate system is available.

gtype = int. Default 'Polygon'.

Geometry type for the layer. Use 'Polygon' if there are no constraints on the types geometry to be written.

options = dict||list. Default [].

Driver-specific dict or list of `name=value` options.

Returns:

Type: Layer.

delete_layer

[method] .delete_layer(name_or_id):

Delete a Layer in GeoDataBase.

Parameters:

name_or_id: int||str.

Layer name or ID in GeoDataBase!

get_dataset

[method] .get_dataset(name_or_id = 0):

Get a Dataset in GeoDataBase.

**Optional:

name_or_id = int. Default 0.

Dataset ID or name in the GeoDataBase to get.

Returns:

Type: Dataset.

get_layer

[method] .get_layer(name_or_id = 0):

Get a Layer in GeoDatabase.

**Optional:

name_or_id = int||str. Default 0.

Layer id or name in the GeoDatabase to get.

Returns:

Type: Layer.

iteritems

[method] .iteritems(category = None, **kwargs):

Iterate vector layers and raster datasets. --> iter

query

[method] .query(expr, tran_opts = {}, **kwargs):

Query the vector Layer with a SpatiaLite SQL expression.

Parameters:

expr: str.

The sql(ite) query string to evaluate.

**Optional:

tran_opts = dict. Default {}.

Other parameters passed to ._aio.layer.vector_translate.

**kwargs:

Other parameters passed to ._aio.vrt.VRTGeoDatabase.add_file.

Returns:

Type: Layer.

Property

dataset_count

[property] .dataset_count

Number of datasets. --> int

dataset_names

[property] .dataset_names

Names of datasets. --> list[str]

driver

[property] .driver

Database driver. --> VectorDriver/RasterDriver

files

[property] .files

GeoDatabase associated files. --> list[str]

info

[property] .info

Source metadata. --> dict

layer_count

[property] .layer_count

Number of layers. --> int

layer_names

[property] .layer_names

Name of Layers. --> list[str]

[property] .link

GeoDatabase path link. --> str

name

[property] .name

GeoDatabase Name. --> str

Last Updated 8/19/2026, 6:10:59 AM