com.oracle.cep.cartridge.spatial.Geometry Methods

16-10 Oracle Complex Event Processing CQL Language Reference ■ Section 16.2.7, How to Use Other Geodetic Coordinates For more information, see Section 16.1.2.7, Geometry API .

16.2.1 How to Access the Geometry Types That the Oracle Spatial Java API Supports

This procedure describes how to access Oracle Spatial geometry types SDO_GTYPE, SDO_ELEMENT_INFO, and ORDINATES using Oracle Spatial in an Oracle CQL query. To access the geometry types that the Oracle Spatial Java API supports: 1. Import the package com.oracle.cep.cartridge.spatial into your Oracle CEP application’s MANIFEST.MF file. For more information, see How to Import a Package in the Oracle Complex Event Processing Developers Guide for Eclipse.

2. Define your Oracle CEP application event type using the appropriate Oracle

Spatial data types. Example 16–4 shows how to define event type MySpatialEvent with two event properties x and y of type com.oracle.cep.cartridge.spatial.Geometry. Example 16–4 Oracle CEP Event Using Oracle Spatial Types wlevs:event-type-repository wlevs:event-type type-name=MySpatialEvent wlevs:properties wlevs:property name=x type=com.oracle.cep.cartridge.spatial.Geometry wlevs:property name=y type=com.oracle.cep.cartridge.spatial.Geometry wlevs:properties wlevs:event-type wlevs:event-type-repository You can use these event properties in an Oracle CQL query like this: CONTAINspatialx, y, 20.0d For more information, see Overview of Oracle CEP Events in the Oracle Complex Event Processing Developers Guide for Eclipse. 3. Choose an SDO_GTYPE, for example, GTYPE_POLYGON. For more information, see Section 16.1.2.1, Geometry Types . 4. Choose the Element Info appropriate for your ordinates. For more information, see Section 16.1.2.2, Element Info Array 5. Define your coordinate values. For more information, see Section 16.1.2.3, Ordinates and Coordinate Systems and the SDO_SRID . 6. Create your Oracle CQL query as Example 16–5 shows. Example 16–5 Oracle CQL Query Using Oracle Spatial Geometry Types view id=ShopGeom select com.oracle.cep.cartridge.spatial.Geometry.createGeometryspatial com.oracle.cep.cartridge.spatial.Geometry.GTYPE_POLYGON, com.oracle.cep.cartridge.spatial.Geometry.createElemInfo1, 1003, 1, ordsgeneratorspatial lng1, lat1, lng2, lat2, lng3, lat3, lng4, lat4, lng5, lat5, lng6, lat6 Oracle Spatial 16-11 as geom from ShopDesc view

16.2.2 How to Create a Geometry

You can use Oracle Spatial to create a geometry in an Oracle CQL query by invoking: ■ static methods in com.oracle.cartridge.spatial.Geometry ■ methods in oracle.spatial.geometry.JGeometry that conform to the scope and geometry types that Oracle Spatial supports. For more information, see Section 16.1.2.7, Geometry API . Using a Static Method in the Oracle Spatial Geometry Class Example 16–6 shows how to create a point geometry using a static method in com.oracle.cartridge.spatial.Geometry. In this case, you must use a link spatial to identify the data cartridge that provides this class. The advantage of using this approach is that the Oracle Spatial application context is applied to set the SRID and other Oracle Spatial options, either by default or based on an application context you configure see Section 16.1.4, Oracle Spatial Application Context . Example 16–6 Creating a Point Geometry Using a Geometry Static Method view id=CustomerPosGeom select com.oracle.cep.cartridge.spatial.Geometry.createPointspatial lng, lat as geom from CustomerPos[NOW] view For more information, see Section 16.1.2.1, Geometry Types .

16.2.3 How to Access Geometry Type Public Methods and Fields

Using Oracle Spatial, you can access the public member functions and public member fields of Oracle Spatial classes directly in Oracle CQL. Oracle Spatial functionality inaccessible from the Geometry class or not conforming to the scope and geometry types that Oracle Spatial supports is inaccessible from Oracle Spatial. In Example 16–7 , the view ShopGeom creates an Oracle Spatial geometry called geom. The view shopMBR calls JGeometry static method getMBR which returns a double[] as stream element mbr. The query qshopMBR accesses this double[] using regular Java API. Example 16–7 Accessing Geometry Type Public Methods and Fields view id=ShopGeom select com.oracle.cep.cartridge.spatial.Geometry.createGeometryspatial com.oracle.cep.cartridge.spatial.Geometry.GTYPE_POLYGON, com.oracle.cep.cartridge.spatial.Geometry.createElemInfo1, 1003, 1, ordsgeneratorspatial lng1, lat1, lng2, lat2, lng3, lat3, lng4, lat4, lng5, lat5, lng6, lat6 as geom