Siddhi GPL Execution Extension - Geo

FunctionExecutors 1. GeoWithinFunctionExecutor Input : (longitude double, latitude double, geoJSONGeometryFence string) OR (geoJSONGeometry string, geoJSONGeometryFence string) Output : true if (longitude, latitude) or geoJSONGeometry is within the geoJSONGeometryFence 2. GeoIntersectsFunctionExecutor Input : (longitude double, latitude double, geoJSONGeometryFence string) OR (geoJSONGeometry string, geoJSONGeometryFence string) Output : true if (longitude, latitude) or geoJSONGeometry intersects the geoJSONGeometryFence 3. GeoWithinDistanceFunctionExecutor Input : (longitude double, latitude double, geoJSONGeometryFence string, distance double) OR (geoJSONGeometry string, geoJSONGeometryFence string, distance double) Output : true if (longitude, latitude) or geoJSONGeometry is within distance of the geoJSONGeometryFence StreamProcessors 1. GeoCrossesStreamProcessor Input : (id string, longitude double, latitude double, geoJSONGeometryFence string) OR (id string, geoJSONGeometry string, geoJSONGeometryFence string) Output : an event with `crosses` additional attribute set to true when the object ((longitude, latitude) or geoJSONGeometry) crosses into geoJSONGeometryFence and an event with `crosses` additional attribute set to false when the object crosses out of the geoJSONGeometryFence 2. GeoStationaryStreamProcessor Input : (id string, longitude double, latitude double, geoJSONGeometryFence string, radius double) OR (id string, geoJSONGeometry string, geoJSONGeometryFence string, radius double) Output : when the object ((longitude, latitude) or geoJSONGeometry) starts being stationary within the radius an event with `stationary` additional attribute set to true. When the object starts to move out of the radius an event with `stationary` additional attribute set to false. 3. GeoProximityStreamProcessor Input : (id string, longitude double, latitude double, geoJSONGeometryFence string, radius double) OR (id string, geoJSONGeometry string, geoJSONGeometryFence string, radius double) Output : when two objects ((longitude, latitude) or geoJSONGeometry) starts being in close proximity within the radius an event with `inCloseProximity` additional attribute set to true. When the object starts to move out of the radius an event with `inCloseProximity` additional. attribute set to false. On each event, additional attributes `proximityWith` gives the id of the object that this object is in close proximity and `proximityId` is an id unique to the pair of objects

License

License

Categories

Categories

Geo Business Logic Libraries Geospatial Siddhi Machine Learning
GroupId

GroupId

org.wso2.extension.siddhi.gpl.execution.geo
ArtifactId

ArtifactId

siddhi-gpl-execution-geo
Last Version

Last Version

4.0.9
Release Date

Release Date

Type

Type

bundle
Description

Description

Siddhi GPL Execution Extension - Geo
FunctionExecutors 1. GeoWithinFunctionExecutor Input : (longitude double, latitude double, geoJSONGeometryFence string) OR (geoJSONGeometry string, geoJSONGeometryFence string) Output : true if (longitude, latitude) or geoJSONGeometry is within the geoJSONGeometryFence 2. GeoIntersectsFunctionExecutor Input : (longitude double, latitude double, geoJSONGeometryFence string) OR (geoJSONGeometry string, geoJSONGeometryFence string) Output : true if (longitude, latitude) or geoJSONGeometry intersects the geoJSONGeometryFence 3. GeoWithinDistanceFunctionExecutor Input : (longitude double, latitude double, geoJSONGeometryFence string, distance double) OR (geoJSONGeometry string, geoJSONGeometryFence string, distance double) Output : true if (longitude, latitude) or geoJSONGeometry is within distance of the geoJSONGeometryFence StreamProcessors 1. GeoCrossesStreamProcessor Input : (id string, longitude double, latitude double, geoJSONGeometryFence string) OR (id string, geoJSONGeometry string, geoJSONGeometryFence string) Output : an event with `crosses` additional attribute set to true when the object ((longitude, latitude) or geoJSONGeometry) crosses into geoJSONGeometryFence and an event with `crosses` additional attribute set to false when the object crosses out of the geoJSONGeometryFence 2. GeoStationaryStreamProcessor Input : (id string, longitude double, latitude double, geoJSONGeometryFence string, radius double) OR (id string, geoJSONGeometry string, geoJSONGeometryFence string, radius double) Output : when the object ((longitude, latitude) or geoJSONGeometry) starts being stationary within the radius an event with `stationary` additional attribute set to true. When the object starts to move out of the radius an event with `stationary` additional attribute set to false. 3. GeoProximityStreamProcessor Input : (id string, longitude double, latitude double, geoJSONGeometryFence string, radius double) OR (id string, geoJSONGeometry string, geoJSONGeometryFence string, radius double) Output : when two objects ((longitude, latitude) or geoJSONGeometry) starts being in close proximity within the radius an event with `inCloseProximity` additional attribute set to true. When the object starts to move out of the radius an event with `inCloseProximity` additional. attribute set to false. On each event, additional attributes `proximityWith` gives the id of the object that this object is in close proximity and `proximityId` is an id unique to the pair of objects
Project Organization

Project Organization

WSO2

Download siddhi-gpl-execution-geo

Dependencies

compile (6)

Group / Artifact Type Version
org.wso2.siddhi : siddhi-query-api jar 4.0.4
org.wso2.siddhi : siddhi-query-compiler jar 4.0.4
org.wso2.siddhi : siddhi-core jar 4.0.4
org.apache.log4j.wso2 » log4j jar 1.2.17.wso2v1
com.google.code.gson : gson jar 2.2.4
org.wso2.orbit.org.geotools » gt-geojson jar 13.6.0.wso2v1

test (1)

Group / Artifact Type Version
org.testng : testng jar 6.8

Project Modules

There are no modules declared in this project.

siddhi-gpl-execution-geo

The siddhi-gpl-execution-geo extension is an extension to Siddhi that provides geo data related functionality such as checking whether a given geo coordinate is within a predefined geo-fence, etc.

Find some useful links below:

Latest API Docs

Latest API Docs is 5.0.0.

How to use

Using the extension in WSO2 Stream Processor

  • You can use this extension in the latest WSO2 Stream Processor that is a part of WSO2 Analytics offering, with editor, debugger and simulation support.

  • To use this extension, you have to add the component jar in to the <STREAM_PROCESSOR_HOME>/lib directory.

Using the extension as a java library

  • This extension can be added as a maven dependency along with other Siddhi dependencies to your project.
     <dependency>
        <groupId>org.wso2.extension.siddhi.gpl-execution-geo</groupId>
        <artifactId>siddhi-gpl-execution-geo</artifactId>
        <version>x.x.x</version>
     </dependency>

Jenkins Build Status


Branch Build Status
master Build Status

Features

  • distance (Function)

    This method gives the distance between two geo locations in meters

  • intersects (Function)

    This function can be called using two sets of parameters.
     First method will return true if the incoming event geo.json.geometry intersects the given geo.json.geometryFence else false.
     Second method will return true if the location pointed by longitude and latitude intersects the given geo.json.geometryFence else false
     Please refer examples

  • within (Function)

    This function can be call using two sets of parameters.
     This will returns true if the location specified in terms of longitude and latitude is within the geo.json.geometry.fence.
     Or returns true if the geo.json.geometry is within the geo.json.geometry.fence.Returns false otherwise

  • withinDistance (Function)

    This function can be call using two sets of parameters.
     First method will returns true if the location specified in terms of longitude and latitude is within distance of the geo.json.geometry.fence. Returns false otherwise.
     Second method will return true if the area given by geo.json.geometry is within distance of the geo.json.geometry.fence.
     please refer examples

  • closestPoints (Stream Function)

    This will return the closest geo point to the geo.json.geometry.fence

  • locationApproximate (Stream Function)

    Geo Location Approximation compute the average location of the locationRecorder using the collection iBeacons which the location recorder resides.

  • crosses (Stream Processor)

    Returns true when the the specified object of which the location is specified in terms of �longitude and � latitude crosses the geographic location specified in �geo.json.geometry.fence. Returns false when the object crosses out of the location specified in �geo.json.geometry.fence.
     Or Returns true when the object (i.e. geo.json.geometry) crosses the specified geographic location (i.e. geo.json.geometry.fence). Returns false when the object crosses out of �geo.json.geometry.fence.

  • proximity (Stream Processor)

    This will returns true when two objects (specified in terms of longitude and latitude) are within the specified radius to another object. Returns false when the specified object moves out of the specified radius. The proximityWith optional attribute indicates the ID of the object that the object specified is in close proximity with. proximityID is a unique ID for the two objects in close proximity.

  • stationary (Stream Processor)

    Returns true when the object (defined in terms of longitude and latitude) becomes stationary within the specified radius. Returns false when the object moves out of the specified radius.

How to Contribute

Contact us

Support

  • We are committed to ensuring support for this extension in production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology.

  • For more details and to take advantage of this unique opportunity contact us via http://wso2.com/support/.

org.wso2.extension.siddhi.gpl.execution.geo

WSO2 Extensions

Versions

Version
4.0.9
4.0.8
4.0.7
4.0.6
4.0.5
4.0.4
4.0.3
4.0.2