Code Monkey home page Code Monkey logo

siddhi-gpl-execution-geo's Introduction

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/.

siddhi-gpl-execution-geo's People

Contributors

ajkarki avatar anugayan avatar ashensw avatar chathurikaa avatar dilini-muthumala avatar gimantha avatar gokul avatar grainier avatar ksdperera avatar maheshika avatar minudika avatar mohanvive avatar nirmal070125 avatar nisalaniroshana avatar niveathika avatar pcnfernando avatar ramindu90 avatar rolandhewage avatar suhothayan avatar tishan89 avatar wso2-jenkins-bot avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

siddhi-gpl-execution-geo's Issues

Siddhi gpl-execution-geo not working in java 18 environment.

java.lang.NoClassDefFoundError: Could not initialize class org.wso2.extension.siddhi.gpl.execution.geo.internal.util.GeometryUtils
at org.wso2.extension.siddhi.gpl.execution.geo.internal.util.GeoOperation.process(GeoOperation.java:66) ~[?:?]
at org.wso2.extension.siddhi.gpl.execution.geo.function.AbstractGeoOperationExecutor.execute(AbstractGeoOperationExecutor.java:58) ~[?:?]
at io.siddhi.core.executor.function.FunctionExecutor.execute(FunctionExecutor.java:100) ~[?:?]
at io.siddhi.core.executor.condition.BoolConditionExpressionExecutor.execute(BoolConditionExpressionExecutor.java:44) ~[?:?]
at io.siddhi.core.executor.condition.BoolConditionExpressionExecutor.execute(BoolConditionExpressionExecutor.java:29) ~[?:?]
at io.siddhi.core.query.selector.attribute.processor.AttributeProcessor.process(AttributeProcessor.java:41) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.processNoGroupBy(QuerySelector.java:173) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:88) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115) ~[?:?]
at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:180) ~[?:?]
at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:497) ~[?:?]
at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56) ~[?:?]
at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104) ~[?:?]
at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:45) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:98) ~[?:?]
at io.siddhi.extension.execution.json.JsonTokenizerAsObjectStreamProcessorFunction.process(JsonTokenizerAsObjectStreamProcessorFunction.java:180) ~[?:?]
at io.siddhi.core.query.processor.stream.StreamProcessor.processEventChunk(StreamProcessor.java:41) ~[?:?]
at io.siddhi.core.query.processor.stream.AbstractStreamProcessor.process(AbstractStreamProcessor.java:133) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115) ~[?:?]
at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:180) ~[?:?]
at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:497) ~[?:?]
at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56) ~[?:?]
at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104) ~[?:?]
at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:45) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:98) ~[?:?]
at io.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:58) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115) ~[?:?]
at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:180) ~[?:?]
at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:497) ~[?:?]
at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56) ~[?:?]
at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104) ~[?:?]
at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:45) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:98) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115) ~[?:?]
at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:180) ~[?:?]
at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:497) ~[?:?]
at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56) ~[?:?]
at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104) ~[?:?]
at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:45) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:98) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115) ~[?:?]
at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:180) ~[?:?]
at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:497) ~[?:?]
at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56) ~[?:?]
at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104) ~[?:?]
at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:45) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:98) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:166) ~[?:?]
at io.siddhi.core.util.event.handler.StreamHandler.onEvent(StreamHandler.java:65) ~[?:?]
at io.siddhi.core.util.event.handler.StreamHandler.onEvent(StreamHandler.java:34) ~[?:?]
at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168) [disruptor_3.4.2.wso2v1.jar:?]
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125) [disruptor_3.4.2.wso2v1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.IllegalArgumentException: com.vividsolutions.jts.geom.GeometryFactory is not an ImageIO SPI class [in thread "Siddhi-redishupdate-executor-thread-0"]
at javax.imageio.spi.ServiceRegistry.checkClassAllowed(ServiceRegistry.java:712) ~[?:?]
at javax.imageio.spi.ServiceRegistry.(ServiceRegistry.java:117) ~[?:?]
at org.geotools.factory.FactoryRegistry.(FactoryRegistry.java:155) ~[?:?]
at org.geotools.factory.FactoryCreator.(FactoryCreator.java:91) ~[?:?]
at org.geotools.geometry.jts.JTSFactoryFinder.getServiceRegistry(JTSFactoryFinder.java:67) ~[?:?]
at org.geotools.geometry.jts.JTSFactoryFinder.getGeometryFactory(JTSFactoryFinder.java:90) ~[?:?]
at org.geotools.geometry.jts.JTSFactoryFinder.getGeometryFactory(JTSFactoryFinder.java:102) ~[?:?]
at org.wso2.extension.siddhi.gpl.execution.geo.internal.util.GeometryUtils.(GeometryUtils.java:42) ~[?:?]
at org.wso2.extension.siddhi.gpl.execution.geo.internal.util.GeoOperation.process(GeoOperation.java:66) ~[?:?]
at org.wso2.extension.siddhi.gpl.execution.geo.function.AbstractGeoOperationExecutor.execute(AbstractGeoOperationExecutor.java:58) ~[?:?]
at io.siddhi.core.executor.function.FunctionExecutor.execute(FunctionExecutor.java:100) ~[?:?]
at io.siddhi.core.executor.condition.BoolConditionExpressionExecutor.execute(BoolConditionExpressionExecutor.java:44) ~[?:?]
at io.siddhi.core.executor.condition.BoolConditionExpressionExecutor.execute(BoolConditionExpressionExecutor.java:29) ~[?:?]
at io.siddhi.core.query.selector.attribute.processor.AttributeProcessor.process(AttributeProcessor.java:41) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.processNoGroupBy(QuerySelector.java:173) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:88) ~[?:?]
at io.siddhi.core.query.processor.stream.LogStreamProcessor.process(LogStreamProcessor.java:276) ~[?:?]
at io.siddhi.core.query.processor.stream.StreamProcessor.processEventChunk(StreamProcessor.java:41) ~[?:?]
at io.siddhi.core.query.processor.stream.AbstractStreamProcessor.process(AbstractStreamProcessor.java:133) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115) ~[?:?]
at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:180) ~[?:?]
at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:497) ~[?:?]
at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56) ~[?:?]
at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104) ~[?:?]
at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:45) ~[?:?]
at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:98) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89) ~[?:?]
at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:127) ~[?:?]
at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:203) ~[?:?]
at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:506) ~[?:?]
at io.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:34) ~[?:?]
at io.siddhi.core.stream.input.InputEntryValve.send(InputEntryValve.java:45) ~[?:?]
at io.siddhi.core.stream.input.InputHandler.send(InputHandler.java:79) ~[?:?]
at io.siddhi.core.stream.input.source.PassThroughSourceHandler.sendEvent(PassThroughSourceHandler.java:35) ~[?:?]
at io.siddhi.core.stream.input.source.InputEventHandler.sendEvent(InputEventHandler.java:83) ~[?:?]
at io.siddhi.extension.map.json.sourcemapper.JsonSourceMapper.mapAndProcess(JsonSourceMapper.java:256) ~[?:?]
at io.siddhi.core.stream.input.source.SourceMapper.onEvent(SourceMapper.java:201) ~[?:?]
at io.siddhi.core.stream.input.source.SourceMapper.onEvent(SourceMapper.java:154) ~[?:?]
at io.siddhi.extension.io.kafka.source.KafkaConsumerThread.run(KafkaConsumerThread.java:243) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
... 3 more

Error testing within, intersect and withinDistance function (android)

Hi! I am using the extension in my android project and I have some problems using all the functions except de 'distance' function (distance function work correctly).
I am using the same data as in the TestCase of the extension:
https://github.com/wso2-extensions/siddhi-gpl-execution-geo/tree/master/component/src/test/java/org/wso2/extension/siddhi/gpl/execution/geo/function

Here is my MainActivity.java (testing intersect function):
`public class MainActivity extends AppCompatActivity {

private SiddhiManager siddhiManager;
private SiddhiAppRuntime siddhiAppRuntime;
private InputHandler inputHandler;

private static Logger logger = Logger.getLogger(MainActivity.class);
String siddhiApp = "@config(async = 'true') define stream dataIn (geometry string);"
        + "@info(name = 'query1') from dataIn" +
        " select geo:intersects(geometry, \"{'type':'Polygon','coordinates':[[[0, 0]," +
        "[0, 1],[1, 1],[1, 0],[0, 0]]]}\") as intersects \n" +
        " insert into dataOut";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    BasicConfigurator.configure();

    siddhiManager = new SiddhiManager();
    long start = System.currentTimeMillis();
    siddhiAppRuntime = siddhiManager.createSiddhiAppRuntime(siddhiApp);
    long end = System.currentTimeMillis();

    inputHandler = siddhiAppRuntime.getInputHandler("dataIn");

    siddhiAppRuntime.addCallback("query1", new QueryCallback() {
        @Override
        public void receive(long timestamp, Event[] inEvents, Event[] removeEvents) {
            EventPrinter.print(inEvents);
        }
    });

    siddhiAppRuntime.start();
    //Generate events
    try {
        inputHandler.send(new Object[]{"{'type':'Polygon'," +
                "'coordinates':[[[0.5, 0.5],[0.5, 1.5],[1.5, 1.5],[1.5, 0.5],[0.5, 0.5]]]}"});
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    siddhiAppRuntime.shutdown();
    siddhiManager.shutdown();
}`

When the app start, inmediately crash and it's forcing to finish.
I think the problem occur when I call the function in the Siddhi query. What am I doing wrong?
This is the exception error:
2020-04-19 23:37:01.291 22203-22203/uca.es.geoprueba E/AndroidRuntime: FATAL EXCEPTION: main Process: uca.es.geoprueba, PID: 22203 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/RenderingHints; at java.lang.Class.newInstance(Native Method) at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69) at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:41) at android.app.Instrumentation.newActivity(Instrumentation.java:1216) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2864) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6810) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.RenderingHints" on path: DexPathList[[zip file "/data/app/uca.es.geoprueba-5QdiZ7XcoP_Wfgrery0kcg==/base.apk"],nativeLibraryDirectories=[/data/app/uca.es.geoprueba-5QdiZ7XcoP_Wfgrery0kcg==/lib/arm64, /system/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:171) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at java.lang.Class.newInstance(Native Method)  at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)  at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:41)  at android.app.Instrumentation.newActivity(Instrumentation.java:1216)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2864)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loop(Looper.java:201)  at android.app.ActivityThread.main(ActivityThread.java:6810)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 

Error while using within() in SI tooling

from EventStream#window.time(1 min)[geo:within(0.5, 0.5, " {'type':'Polygon','coordinates':[[[0,0],[0,2],[1,2],[1,0],[0,0]]]} " )]

using the example from the documents, i am getting a "Could not initialize class org.wso2.extension.siddhi.gpl.execution.geo.internal.util.GeometryUtils" error when trying to save the .siddhi on SI tooling. There are also times when it says it requires 4 parameters instead of 3.

Anyone able to get gpl geo methods to work?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.