2017-04-21 8 views
1

함수 내에서 GEO 확장을 실행 계획에 사용하고 있습니다. 각 센서의 위치 (지리적 좌표)를 비롯하여 센서 정보가 포함 된 여러 이벤트 스트림이 있습니다. 또한 Polygon (아래 예제에서는 각 점의 좌표가 포함되어 있음)이 있습니다. 센서가이 다각형의 경계 내에 있는지 여부를 확인할 수 있는지 확인하고 싶습니다.WSO2CEP Siddhi 함수 내에서 geo를 사용하여 쿼리 오류 발생

당신이 다음 WSO2CEP 관리 콘솔 다음과 같은 오류가 발생의

@Plan:name('TestExecutionPlan') 

define stream sensorStream (id string, lat double, longi double); 

define stream outputStream (id string); 

from sensorStream [geo:within(lat,longi,{"type": "Polygon", "coordinates": [[[37.9807986, 23.7262081],[37.9807986, 23.7262081],[37.9792256, 23.7302850],[37.9789888, 23.7268089],[37.9807986, 23.7262081]]]})] 
select id 
insert into outputStream; 

내가 Siddhi 락 내 실행 계획을 실행 해요 때를 시도 도구 :

내 실행 계획은 다음과 같다 당신의 SiddhiQL 라인 16시 108 분에 오류가 발생했습니다.대체로 입력 'geo : within (sensorStream.lat, sensorStream.longi, {'type ':'Polygon ','coordinates ': [[[37.9807986, 23.7262081], [37.9807986, 23.7262081], [37.9792256, 해당 오류가 발생하는 이유 23.7302850], [37.9789888, 23.7268089], [37.9807986, 23.7262081]]]} '

나도 몰라.

누군가가이 문제에 대해 저를 도울 수 있다면 매우 감사 할 것입니다.

감사합니다.

답변

0

나는 오류를 해결했다. "{"type": "Polygon", "coordinates": [[[-104.05,48.99],[-97.22,48.98],[-96.58,45.94],[-104.03,45.94],[-104.05,48.99]]]}"{"type": "Polygon", "coordinates": [[[-104.05,48.99],[-97.22,48.98],[-96.58,45.94],[-104.03,45.94],[-104.05,48.99]]]}을 물음표와 함께 포함시켜야하기 때문에 오류가 발생했습니다. Siddhi Geo Extension (https://docs.wso2.com/display/CEP420/Geo+Extension)의 geo : within 함수 구문에서 설명한대로 문자열 값이기 때문에 오류가있었습니다.

@Plan:name('TestExecutionPlan') 

define stream sensorStream (id string, lat double, longi double); 

define stream outputStream (id string); 

from sensorStream [geo:within(lat, longi, " { 'type': 'Polygon', 'coordinates': [[[37.9807986, 23.7262081],[37.9807986, 23.7262081],[37.9792256, 23.7302850],[37.9789888, 23.7268089],[37.9807986, 23.7262081]]] } ")] 
select id 
insert into outputStream; 
:

그래서, 일 실행 계획은 다음과 같다