2017-03-29 5 views
1

WSO2 CEP 4.2.0 버전을 사용하고 있으며 다른 센서의 좌표가 수행 할 때를 확인하기위한 실행 계획을 작성 중입니다. Siddhi 쿼리를 통해 4 미터 이상 변화하지 않습니다. 그러나 오류가 발생합니다 : 'distance'는 실행 계획 "ExecutionPlan"의 함수 확장이나 집계 된 속성 확장이 아닙니다.wso2cep : 오류 - 'distance'도 실행 계획 "ExecutionPlan"의 함수 확장 또는 집계 된 속성 확장이 아닙니다.

GPL - Siddhi Geo Extension을 설치했지만 왜 그런 오류가 있는지 알 수 없습니다. 이 오류를 해결하는 데 도움을주십시오.

내 실행 계획은 다음과 같습니다 : 사전에

/* Enter a unique ExecutionPlan */ 
@Plan:name('ExecutionPlan') 

/* Enter a unique description for ExecutionPlan */ 
-- @Plan:description('ExecutionPlan') 

/* define streams/tables and write queries here ... */ 

@Import('SR_ProcessedStream:1.0.0') 
define stream srprocessedstream (meta_resultTime long, meta_procedure string, correlation_latitude double, correlation_longitude double); 

@Import('MPD_ProcessedStream:1.0.0') 
define stream mpdprocessedstream (meta_resultTime long, meta_procedure string, correlation_latitude double, correlation_longitude double); 

@Import('GBSS_ProcessedStream:1.0.0') 
define stream gbssprocessedstream (meta_resultTime long, meta_procedure string, correlation_latitude double, correlation_longitude double); 

@Export('measuredStream:1.0.0') 
define stream measuredStream (meta_procedure1 string, meta_procedure2 string); 

define table sensorTable(meta_procedure string, correlation_latitude double, correlation_longitude double); 

from gbssprocessedstream 
select meta_procedure, correlation_latitude, correlation_longitude 
insert into sensorTable; 

from mpdprocessedstream 
select meta_procedure, correlation_latitude, correlation_longitude 
insert into sensorTable; 

from srprocessedstream 
select meta_procedure, correlation_latitude, correlation_longitude 
insert into sensorTable; 

from gbssprocessedstream join sensorTable 
on sensorTable.meta_procedure != gbssprocessedstream.meta_procedure and 4 > geo : distance (sensorTable.correlation_latitude, sensorTable.correlation_longitude, meta_procedure1.correlation_latitude, meta_procedure1.correlation_longitude) 
select sensorTable.meta_procedure as meta_procedure1, gbssprocessedstream.meta_procedure as meta_procedure2 
insert into measuredStream; 

감사합니다!

답변

2

문제는 아래의 거리 함수는 관련 jar 파일

와 이미지입니다 이미 컴파일 된 P2-REPOofficial installation instructions에서 제공하지 않는 가장 최신이며, 누락되어있다 geo jar

이 기능을 사용하려면 build the p2-repo이 필요하고 설치해야 작동합니다. 세 프로젝트를 모두 컴파일하면 디렉토리 내에 p2-repo가 ​​표시됩니다. wso2-gpl/carbon-event-processing-extensions/repository/target

희망이 있습니다.

0

distance는 (스트림 프로세서 확장 유형 대조적으로) 기능 확장이다. 각 유형의 사용법을 보여주는 Siddhi Extensions doc을 참조하십시오.

위의 문서에서 언급했듯이 select 문에는 기능 확장이 적용되어야합니다. 이 오류는 기능 확장이 다른 곳 (join 조건)에 적용 되었기 때문에 나타납니다.