Add types and functions to work with geometric attributes that are stored in a
Postgis database (that is a PostgreSQL database with Postgis extension
The present cube supports only version *2.0 and later* of Postgis.
It introduces one new type when defining attributes in the data model schema:
* a ``Geometry`` type. Additionally, you should give the following elements
along with a `Geometry` attribute:
* ``geom_type``. The Postgis type of geometries that this attribute will
accept, for example ``POINT``, ``MULTILINESTRING`` or ``POLYGON``,
* ``srid``. The spatial reference system the geometry coordinates will live
in. This is an integer and a foreign key that must match the ``srid`` key
in the ``spatial_ref_sys`` table. Most of the time, it will be the same as the
spatial system EPSG code,
* ``coord_dimension``. The number of dimensions used by geometries. Defaults
Then you can also use geometric functions like ``ST_INTERSECTS``, ``ST_WITHIN``
or ``ST_UNION`` to work with this new type.
See `Postgis manual`_ for reference documentation about Postgis.
.. _Postgis manual: http://postgis.net/docs/manual-2.0/
In ``schema.py``, one can declare a ``City`` entity like the following.
.. code-block:: python
name = String(required=True)
geometry = Geometry(geom_type='POLYGON', srid=4326)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.