Types¶
This module defines the geoalchemy2.types.Geometry
,
geoalchemy2.types.Geography
, and geoalchemy2.types.Raster
classes, that are used when defining geometry, geography and raster
columns/properties in models.
Reference¶
- class geoalchemy2.types.CompositeType[source]¶
Bases:
UserDefinedType
A wrapper for
geoalchemy2.elements.CompositeElement
, that can be used as the return type in PostgreSQL functions that return composite values.This is used as the base class of
geoalchemy2.types.GeometryDump
.- typemap = {}¶
Dictionary used for defining the content types and their corresponding keys. Set in subclasses.
- class geoalchemy2.types.Geography(geometry_type='GEOMETRY', srid=-1, dimension=2, spatial_index=True, use_N_D_index=False, management=False, use_typmod=None, from_text=None, name=None, nullable=True, _spatial_index_reflected=None)[source]¶
Bases:
_GISType
The Geography type.
Creating a geography column is done like this:
Column(Geography(geometry_type='POINT', srid=4326))
See
geoalchemy2.types._GISType
for the list of arguments that can be passed to the constructor.- ElementType¶
The element class to use. Used by the parent class’
result_processor
method.alias of
WKBElement
- as_binary = 'ST_AsBinary'¶
The “as binary” function to use. Used by the parent class’
column_expression
method.
- cache_ok = False¶
Disable cache for this type.
- from_text = 'ST_GeogFromText'¶
The
FromText
geography constructor. Used by the parent class’bind_expression
method.
- name = 'geography'¶
Type name used for defining geography columns in
CREATE TABLE
.
- class geoalchemy2.types.Geometry(geometry_type='GEOMETRY', srid=-1, dimension=2, spatial_index=True, use_N_D_index=False, management=False, use_typmod=None, from_text=None, name=None, nullable=True, _spatial_index_reflected=None)[source]¶
Bases:
_GISType
The Geometry type.
Creating a geometry column is done like this:
Column(Geometry(geometry_type='POINT', srid=4326))
See
geoalchemy2.types._GISType
for the list of arguments that can be passed to the constructor.If
srid
is set then theWKBElement
objects resulting from queries will have that SRID, and, when constructing theWKBElement
objects, the SRID won’t be read from the data returned by the database. Ifsrid
is not set (meaning it’s-1
) then the SRID set inWKBElement
objects will be read from the data returned by the database.- ElementType¶
The element class to use. Used by the parent class’
result_processor
method.alias of
WKBElement
- as_binary = 'ST_AsEWKB'¶
The “as binary” function to use. Used by the parent class’
column_expression
method.
- cache_ok = False¶
Disable cache for this type.
- from_text = 'ST_GeomFromEWKT'¶
The “from text” geometry constructor. Used by the parent class’
bind_expression
method.
- name = 'geometry'¶
Type name used for defining geometry columns in
CREATE TABLE
.
- class geoalchemy2.types.GeometryDump[source]¶
Bases:
CompositeType
The return type for functions like
ST_Dump
, consisting of a path and a geom field. You should normally never use this class directly.- cache_ok = True¶
Enable cache for this type.
- typemap = {'geom': <class 'geoalchemy2.types.Geometry'>, 'path': ARRAY(Integer())}¶
Dictionary defining the contents of a
geometry_dump
.
- class geoalchemy2.types.Raster(spatial_index=True, from_text=None, name=None, nullable=True)[source]¶
Bases:
_GISType
The Raster column type.
Creating a raster column is done like this:
Column(Raster)
This class defines the
result_processor
method, so that raster values received from the database are converted togeoalchemy2.elements.RasterElement
objects.- Parameters
spatial_index – Indicate if a spatial index should be created. Default is
True
.
- ElementType¶
The element class to use. Used by the parent class’
result_processor
method.alias of
RasterElement
- as_binary = 'raster'¶
The “as binary” function to use. Used by the parent class’
column_expression
method.
- cache_ok = False¶
Disable cache for this type.
- comparator_factory¶
This is the way by which spatial operators and functions are defined for raster columns.
alias of
BaseComparator
- from_text = 'raster'¶
The “from text” raster constructor. Used by the parent class’
bind_expression
method.
- name = 'raster'¶
Type name used for defining raster columns in
CREATE TABLE
.
- class geoalchemy2.types.SummaryStats[source]¶
Bases:
CompositeType
Define the composite type returned by the function ST_SummaryStatsAgg
- cache_ok = True¶
Enable cache for this type.
- typemap = {'count': <class 'sqlalchemy.sql.sqltypes.Integer'>, 'max': <class 'sqlalchemy.sql.sqltypes.Float'>, 'mean': <class 'sqlalchemy.sql.sqltypes.Float'>, 'min': <class 'sqlalchemy.sql.sqltypes.Float'>, 'stddev': <class 'sqlalchemy.sql.sqltypes.Float'>, 'sum': <class 'sqlalchemy.sql.sqltypes.Float'>}¶
Dictionary used for defining the content types and their corresponding keys. Set in subclasses.
- class geoalchemy2.types._DummyGeometry(geometry_type='GEOMETRY', srid=-1, dimension=2, spatial_index=True, use_N_D_index=False, management=False, use_typmod=None, from_text=None, name=None, nullable=True, _spatial_index_reflected=None)[source]¶
Bases:
Geometry
A dummy type only used with SQLite.
- class geoalchemy2.types._GISType(geometry_type='GEOMETRY', srid=-1, dimension=2, spatial_index=True, use_N_D_index=False, management=False, use_typmod=None, from_text=None, name=None, nullable=True, _spatial_index_reflected=None)[source]¶
Bases:
UserDefinedType
The base class for
geoalchemy2.types.Geometry
andgeoalchemy2.types.Geography
.This class defines
bind_expression
andcolumn_expression
methods that wrap column expressions inST_GeomFromEWKT
,ST_GeogFromText
, orST_AsEWKB
calls.This class also defines
result_processor
andbind_processor
methods. The function returned byresult_processor
converts WKB values received from the database togeoalchemy2.elements.WKBElement
objects. The function returned bybind_processor
convertsgeoalchemy2.elements.WKTElement
objects to EWKT strings.- Parameters
geometry_type –
The geometry type.
Possible values are:
"GEOMETRY"
,"POINT"
,"LINESTRING"
,"POLYGON"
,"MULTIPOINT"
,"MULTILINESTRING"
,"MULTIPOLYGON"
,"GEOMETRYCOLLECTION"
,"CURVE"
,None
.
The latter is actually not supported with
geoalchemy2.types.Geography
.When set to
None
then no “geometry type” constraints will be attached to the geometry type declaration. UsingNone
here is not compatible with settingmanagement
toTrue
.Default is
"GEOMETRY"
.srid – The SRID for this column. E.g. 4326. Default is
-1
.dimension –
The dimension of the geometry. Default is
2
.With
management
set toTrue
, that is whenAddGeometryColumn
is used to add the geometry column, there are two constraints:The
geometry_type
must not end with"ZM"
. This is due to PostGIS’AddGeometryColumn
failing with ZM geometry types. Instead the “simple” geometry type (e.g. POINT rather POINTZM) should be used withdimension
set to4
.When the
geometry_type
ends with"Z"
or"M"
thendimension
must be set to3
.
With
management
set toFalse
(the default)dimension
is not taken into account, and the actual dimension is fully defined with thegeometry_type
.spatial_index – Indicate if a spatial index should be created. Default is
True
.use_N_D_index – Use the N-D index instead of the standard 2-D index.
management – Indicate if the
AddGeometryColumn
andDropGeometryColumn
managements functions should be called when adding and dropping the geometry column. Should be set toTrue
for PostGIS 1.x and SQLite. Default isFalse
. Note that this option has no effect forgeoalchemy2.types.Geography
.use_typmod – By default PostgreSQL type modifiers are used to create the geometry column. To use check constraints instead set
use_typmod
toFalse
. By default this option is not included in the call toAddGeometryColumn
. Note that this option is only taken into account ifmanagement
is set toTrue
and is only available for PostGIS 2.x.
- as_binary = None¶
The name of the “as binary” function for this type. Set in subclasses.
- bind_expression(bindvalue)[source]¶
Specific bind_expression that automatically adds a conversion function
- bind_processor(dialect)[source]¶
Specific bind_processor that automatically process spatial elements
- cache_ok = False¶
Disable cache for this type.
- column_expression(col)[source]¶
Specific column_expression that automatically adds a conversion function
- comparator_factory¶
This is the way by which spatial operators are defined for geometry/geography columns.
alias of
Comparator
- from_text = None¶
The name of “from text” function for this type. Set in subclasses.
- name = None¶
Name used for defining the main geo type (geometry or geography) in CREATE TABLE statements. Set in subclasses.