Create a spatial column
seekdb allows you to create a spatial column using the CREATE TABLE or ALTER TABLE statement.
To create a table with spatial columns using the CREATE TABLE statement, see the following syntax example:
CREATE TABLE geom (g GEOMETRY);
To add or remove spatial columns in an existing table using the ALTER TABLE statement, see the following syntax example:
ALTER TABLE geom ADD pt POINT;
ALTER TABLE geom DROP pt;
Examples:
obclient> CREATE TABLE geom (
p POINT SRID 0,
g GEOMETRY NOT NULL SRID 4326
);
Query OK, 0 rows affected
The following constraints apply when creating spatial columns:
-
You can explicitly specify an SRID when defining a spatial column. If no SRID is defined on the column, the optimizer will not select the spatial index during queries, but index records will still be generated during insert/update operations.
-
A spatial index can be defined on a spatial column only after specifying the
NOT NULLconstraint and an SRID. In other words, only columns with a defined SRID can use spatial indexes. -
Once an SRID is defined on a spatial column, attempting to insert values with a different SRID will result in an error.
The following constraints apply to SRID:
-
You must explicitly specify
SRIDfor a spatial column. -
All objects in the column must have the same SRID.