Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

A spatial engine provides access to a service that can perform spatial operations, one of the available spatial engines is for PostGIS.

Namespace

urn:com.cohga.server.spatial.geotools#1.0

Tags

spatialengine

Properties

Name

Type

Required

Description

id

string

yes

Unique identifier

dbtype

'postgis'

yes

The name of the driver to use, in this case PostGIS

host

string

yes

The hostname or ip address of the server

port

number

yes

The port number that the instance is running on

database

string

yes

The database to connected to

schema

string

no

The default schema to connected to, default is 'public'

user

string

no

The userid used when connecting to the database

passwd

string

no

The password used when connecting to the database

minconnections

integer

no

The minimum number of connections to open to the database

maxconnections

integer

no

The maximum number of connections to open to the database

validateconnections

boolean

no

Should database connections be checked on each access to see if they're still valid

namespace

string

no

The namespace prefix

wkbenabled

boolean

no

Should Well Known Binary be used to read MqSQL data (experimental)

loosebox

boolean

no

If set to 'true' if the Bounding Box should be 'loose', faster but not as deadly accurate

estimatedextent

boolean

no

set to true if the bounds for a table should be computed using the 'estimated_extent' function, but beware that this function is less accurate, and in some cases * far* less accurate if the data within the actual bounds does not follow a uniform distribution. It also relies on the fact that you have accurate table stats available. So it is a good idea to 'VACUUM ANALYZE' the postgis table

Sub-tags

None

Content

None

Examples

<spatial:spatialengine id="postgis">
	<dbtype>postgis</dbtype>
	<host>mysqlhost</host>
	<port>5432</port>
	<database>spatial</database>
	<user>gis</user>
	<passwd>hak0rz</passwd>
</spatial:spatialengine>

Primary Key Table

For specifying primary key columns when Weave/GeoTools can not determine it directly

CREATE TABLE gt_pk_metadata (
 table_schema VARCHAR(32),
 table_name VARCHAR(32) NOT NULL,
 pk_column VARCHAR(32) NOT NULL,
 pk_column_idx INTEGER,
 pk_policy VARCHAR(32),
 pk_sequence VARCHAR(64),
 unique (table_schema, table_name, pk_column),
 check (pk_policy in ('sequence', 'assigned', 'autogenerated'))
)

pk_policy can be 'assigned', 'sequence' or 'autogenerated' depending upon how the key column value is generated. The pk_sequence value only need to be set if the policy is 'sequence'.
'sequence' means that the value for the column is generated using a database sequence, and the 'pk_sequence' value must be set.
'autogenerated' means that the value for the column is generated by the database using another method.
'assigned' means that the value for the column is determined by the current maximum value +1, if the column is an integral type, or as a random string if the column is textual.

Column

Description

table_schema

Name of the database schema in which the table is located.

table_name

Name of the table to be published

pk_column

Name of a column used to form the feature IDs

pk_column_idx

Index of the column in a multi-column key. In case multi column keys are needed multiple records with the same table schema and table name will be used.

pk_policy

The new value generation policy, used in case a new feature needs to be added in the table ('assigned', 'sequence' or 'autogenerated').

pk_sequence

The name of the database sequence to be used when generating a new value for the pk_column.

Using primary key metadata configuration

You can also specify the above information directly in the spatial engin configuration.

Name

Description

name
The table name
schema
The optional table schema
columnThe column in the the table that contains the unique id
policyHow the key is generated
sequenceThe name of the database sequence to use if the policy is 'sequence'
<spatial:spatialengine id="postgis">
  <dbtype>postgis</dbtype>
  <host>mysqlhost</host>
  <port>5432</port>
  <database>spatial</database>
  <user>gis</user>
  <passwd>hak0rz</passwd>
  <primarykeymetadata>
    <table name="park" column="gid" policy="autogenerated"/>
    <table name="property" column="park_id" type="autogenerated"/>
    <table name="road" column="objectid" type="autogenerated"/>
  </primarykeymetadata>
</spatial:spatialengine>

Using geometry metadata configuration

As of Weave 2.5.16 it's possible to specify the information contained in the geometry metadata table directly in the spatial engine configuration.

NameDescription
name
The table name
schema
The optional table schema
type
The geometry type (point, linestring, polygon, multipoint, multilinestring, multipolygon)
srid
The geometry srid
dimension
The geometry dimension
<spatial:spatialengine id="postgis">
  <dbtype>postgis</dbtype>
  <host>mysqlhost</host>
  <port>5432</port>
  <database>spatial</database>
  <user>gis</user>
  <passwd>hak0rz</passwd>
  <geometrymetadata>
    <table schema="public" name="park" type="multipolygon" srid="28355" dimension="2"/>
    <table schema="public" name="property" type="polygon" srid="28355" dimension="2"/>
    <table schema="public" name="road" type="linestring" srid="28355" dimension="2"/>
  </geometrymetadata>
</spatial:spatialengine>
  • No labels