Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Warning

There may be performance issues when drawing selections with SQL Server. It's possible that altering the batchsize value for the selection map engine may improve the performance, a value of 50 is recommended.

Weave 2.5.12 has been updated to resolve this issueWeave does not currently support the SQL Server geography column type.


Namespace

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

...

Code Block
languagesql
titleSQL create statement for gt_pk_metadata table
CREATE TABLE GT_PK_METADATA (
  TABLE_SCHEMA varchar(255) NOT NULL,
  TABLE_NAME varchar(255) NOT NULL,
  PK_COLUMN varchar(255) NOT NULL,
  PK_COLUMN_IDX int NOT NULL,
  PK_POLICY varchar(255) NOT NULL,
  PK_SEQUENCE varchar(255),
   UNIQUE(TABLE_SCHEMA, TABLE_NAME, PK_COLUMN),
   CHECK(PK_POLICY IN ('ASSIGNED','SEQUENCE', 'AUTOGENERATED') )
)

Primary Key Metadata

If the primary key for a table can not be determined by Weave directly from the database then the information can be provided by creating a table or directly embedding the information in the spatial engine configuration.

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').

Where:
'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.

pk_sequence

The name of the database sequence to be used when generating a new value for the pk_column. The pk_sequence value only need to be set if the pk_policy is 'sequence'.

...