Oracle Spatial
The standard Oracle database (Locator) can support the storing of spatial geometries using the Oracle SDO data type which is OGC compliant for the OpenGIS Simple Features Specification. Oracle also conforms to OGC Coordinate transformations. SIS supports the loading, viewing, multi-user and concurrent editing of the data held within Oracle.
Only Oracle Locator is required to store spatial vector data in Oracle using Cadcorp SIS Desktop 9.1. Oracle Spatial is only really required to make used of advanced functionalities such as GeoRaster and Network Model.
Due to Simple Feature compliance SIS Desktop 9.1 can pass spatial queries to Oracle so the process is run by Oracle for enhanced performance. SIS Desktop 9.1 also supports the creation of new schema columns and the building of a column index within Oracle. Long transactions and direct editing of the database are also supported from SIS Desktop 9.1.
Connections to Oracle can be specified as Dynamic, Local cache and One-off Import. SIS Desktop 9.1 also supports Oracle’s roles for improved security.
This is a Cursor Dataset.
Note: By default the Oracle metadata cache expires quite quickly (15 minutes). This time can be controlled via the Cadcorp.OracleSpatial.Dataset.ini file, normally located in C:\Program Files\Cadcorp SIS 8.0\COM, by adding the following:
[Configuration]
ConnectionMetadataTimeout=60
The value on the right-hand side of the "=" is in minutes, i.e. one hour in this example. The valid range is 1 to 720, i.e. one minute to 12 hours.
Arguments to CreateDataSourceOverlay API Method
- clsDataSource$
AOracleSpatialCursorDts
- params$
[service=server,]
[user=user,]
[password=password,]
[table=layer,]
[geometrycolumn=where,]
[filter=filter,]
[cache="true"|"false",]
[anglecolumn=string,]
[uricolumn=string]
servicestring
The Oracle service name
userstring
The Oracle user name.
passwordstring
The Oracle password.
tablestring
The Oracle table.
geometrycolumnstring
The Oracle column containing the SDO_GEOMETRY object.
filterstring
The where clause to filter the data.
cacheboolean
Option to cache the data in memory.
anglecolumnstring
The Oracle column containing the rotation angle.
fcodecolumnstring
The Oracle column containing the feature code.
uricolumnstring
The Oracle column containing URI information.
Dataset Properties
- Angle column
- Cached
- Class name
- Coordinate Reference System
- Editable
- Feature Code column
- Feature table
- Filtered
- Geometry column
- In transaction
- Layers
- Limit hint
- Maximum number of open Gateways
- Modified
- Name
- Next item id
- Notes
- Number of Items
- Order hint
- SQL WHERE expression
- Scale
- Service name
- Size
- Table name
- Transactions
- URI Column
- User name
- bReadOnly
- idColumn
Dataset Item Properties
Compatibility:
- Cadcorp SIS Desktop
- Cadcorp SIS Desktop Express
- Cadcorp SIS ActiveX Modeller
- Cadcorp SIS ActiveX Manager
- Cadcorp SIS ActiveX Viewer
- Cadcorp GeognoSIS
Dataset Properties
- Angle column: _angleColumn$
The column in the database table containing the rotation angle for symbols/text. - Cached: _bCached&
The dataset is read into SIS Desktop 9.1 in cached mode. See What is a Spatial Database? - Cached Mode. - Class name: _class$
The class name of the dataset. - Coordinate Reference System: _projection$
The dataset Coordinate Reference System in Open Geospatial Consortium (OGC)Well-Known-Text format. (Notice that some SIS Coordinate Reference System objects are not supported in Open Geospatial Consortium (OGC)). - Editable: _bEditable&
Is the dataset editable? - Feature Code column: _fcodeColumn$
The dataset column whose values should be used as the item Feature code. - Feature table: _featureTable$
The Feature Table which dataset items with no Feature Table of their own use when their Feature code is set. This Feature Table is also used to get information about available feature codes, and to create a default Feature Filter.
Note: This does not override the Feature Table on an item. - Filtered: _bFiltered&
A boolean value indicating whether the dataset is filtered. - Geometry column: _geometryColumn$
The column in a Oracle/PostGis dataset containing the geometry of the item. - In transaction: _bInTransaction&
Indicates if a transaction is in progress. - Layers: _layers$
The set of all values the Layer property for all items in the dataset. - Limit hint: _limitHint&
The maximum number of Items to use when drawing or annotating from a SQL-enabled Dataset (NB a hint only) - Maximum number of open Gateways: _nMaxGatewayOpen&
The maximum number of Gateway sub-datasets a dataset should attempt to open simultaneously. - Modified: _bModified&
Has the dataset been modified? - Name: _name$
The dataset name. For a file-based dataset this will be the filename. - Next item id: _idNextItem&
The Item ID which will be used for the next Item created in this dataset. - Notes: _notes$
User notes on dataset. - Number of Items: _nItems&
The number of items in the dataset. - Order hint: _orderHint$
The order in which to draw or annotate Items a SQL-enabled Dataset, as a SQL ORDER BY clause. e.g. 'priority ASC' (NB a hint only) - SQL WHERE expression: _where$
The SQL WHERE expression in a dataset's recordset. - Scale: _scale#
The dataset scale. - Service name: _service$
The Oracle service of the dataset. - Size: _size&
The amount of memory, in bytes, that the dataset uses. - Table name: _table$
The database table containing the data for the dataset. - Transactions: _bTransact&
Does the database-based dataset use transactions? - URI Column: _uriColumn$
The column in the database table containing data which is accessible via the URI property. - User name: _user$
The username used in the connection to the database. - bReadOnly: _bReadOnly&
The dataset is read-only. - idColumn: _idColumn$
This property is for future use.
Dataset Item Properties
- Bookmark: _bookmark$
Cursor-based datasets have the concept of a bookmark. Any item in a cursor-based dataset will have this property, which lets you go back to the underlying data store and find the row. For example, use GetStr(SIS_OT_DATASET, 0, "_bookmark$") or the SetStr (SIS_OT_DATASET, 0, "_bookmark$") to get and set the bookmark value for Oracle datasets.