/* NO2 PATTERNS */ @Name('NO2_Avg') @Priority(3) insert into NO2_Avg select current_timestamp() as timestamp, a1.id as stationId, a1.NO2 as value, a1.prob * com.cor.cep.util.UReals.uDistinct(a1.NO2,-1).getC() * P_No2_avgRule as prob from pattern [every a1 = QualityAirEvent(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UReals.uDistinct(a1.NO2,-1)))].win:time(3600000 milliseconds) group by a1.id; @Name('NO2_Good') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 1 as levelNumber, 'NO2_Good' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value, 54.0)).getC() * P_No2_goodRule as prob from pattern [every a1 = NO2_Avg(com.cor.cep.util.UBooleans.toBoolean( com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value, 54.0))))]; Name('NO2_Moderate') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 2 as levelNumber, 'NO2_Moderate' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,54.0),com.cor.cep.util.UReals.lt(a1.value, 101.0)).getC() * P_No2_moderateRule as prob from pattern [every a1 = NO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,54.0), com.cor.cep.util.UReals.lt(a1.value, 101.0))))]; @Name('NO2_UnhealthyForSensitiveGroups') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 3 as levelNumber, 'NO2_UnhealthyForSensitiveGroups' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,101.0), com.cor.cep.util.UReals.lt(a1.value,361.0)).getC() * P_No2_unhealthyforsensitivegroupsRule as prob from pattern [every a1 = NO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,101.0), com.cor.cep.util.UReals.lt(a1.value,361.0))))]; @Name('NO2_Unhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 4 as levelNumber, 'NO2_Unhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,361.0), com.cor.cep.util.UReals.lt(a1.value,650.0)).getC() * P_No2_unhealthyRule s prob from pattern [every a1 = NO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,361.0), com.cor.cep.util.UReals.lt(a1.value,650.0))))]; @Name('NO2_VeryUnhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 5 as levelNumber, 'NO2_VeryUnhealthy' as levelName, " a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,650.0), com.cor.cep.util.UReals.lt(a1.value,1250.0)).getC() * P_No2_veryunhealthyRule as prob from pattern [every a1 = NO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,650.0), com.cor.cep.util.UReals.lt(a1.value,1250.0))))]; @Name('NO2_Hazardous') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 6 as levelNumber, 'NO2_Hazardous' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,1250.0), com.cor.cep.util.UReals.le(a1.value,2049.0)).getC() * P_No2_hazardousRule as prob from pattern [every a1 = NO2_Avg(com.cor.cep.util.UBooleans.toBoolean( com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,1250.0) , com.cor.cep.util.UReals.le(a1.value,2049.0))))]; /* SO2 PATTERNS */ @Name('SO2_Avg') @Priority(3) insert into SO2_Avg select current_timestamp() as timestamp, a1.id as stationId, a1.SO2 as value, a1.prob * com.cor.cep.util.UReals.uDistinct(a1.SO2,-1).getC() * P_So2_avgRule as prob from pattern [every a1 = QualityAirEvent(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UReals.uDistinct(a1.SO2,-1)))].win:time(3600000 milliseconds) group by a1.id; @Name('SO2_Good') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 1 as levelNumber, 'SO2_Good' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,36.0)).getC() * P_So2_goodRule as prob from pattern [every a1 = SO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,36.0))))]; @Name('SO2_Moderate') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 2 as levelNumber, 'SO2_Moderate' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,36.0), com.cor.cep.util.UReals.lt(a1.value,76.0)).getC() * P_So2_moderateRule as prob from pattern [every a1 = SO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,36.0), com.cor.cep.util.UReals.lt(a1.value,76.0))))]; @Name('SO2_UnhealthyForSensitiveGroups') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 3 as levelNumber, 'SO2_UnhealthyForSensitiveGroups' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,76.0), com.cor.cep.util.UReals.lt(a1.value,186.0)).getC() * P_So2_unhealthyforsensitivegroupsRule as prob from pattern [every a1 = SO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,76.0), com.cor.cep.util.UReals.lt(a1.value,186.0))))]; @Name('SO2_Unhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 4 as levelNumber, 'SO2_Unhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,186.0), com.cor.cep.util.UReals.lt(a1.value,305.0)).getC() * P_So2_unhealthyRule as prob from pattern [every a1 = SO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,186.0), com.cor.cep.util.UReals.lt(a1.value,305.0))))]; @Name('SO2_VeryUnhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 5 as levelNumber, 'SO2_VeryUnhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,305.0), com.cor.cep.util.UReals.lt(a1.value,605.0)).getC() * P_So2_veryunhealthyRule as prob from pattern [every a1 = SO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,305.0), com.cor.cep.util.UReals.lt(a1.value,605.0))))]; @Name('SO2_Hazardous') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 6 as levelNumber, 'SO2_Hazardous' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,605.0),com.cor.cep.util.UReals.le(a1.value,1004.0)).getC() * P_So2_hazardousRule as prob from pattern [every a1 = SO2_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,605.0), com.cor.cep.util.UReals.le(a1.value,1004.0))))]; /* CO PATTERNS */ @Name('CO_Avg') @Priority(3) insert into CO_Avg select current_timestamp() as timestamp, a1.id as stationId, a1.CO as value, a1.prob * com.cor.cep.util.UReals.uDistinct(a1.CO,-1).getC() * P_Co_avgRule as prob from pattern [every a1 = QualityAirEvent(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UReals.uDistinct(a1.CO,-1)))].win:time(28800000 milliseconds) group by a1.id; @Name('CO_Good') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 1 as levelNumber, 'CO_Good' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,4.5)).getC() * P_Co_goodRule as prob from pattern [every a1 = CO_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,4.5))))]; @Name('CO_Moderate') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 2 as levelNumber, 'CO_Moderate' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,4.5), com.cor.cep.util.UReals.lt(a1.value,9.5)).getC() * P_Co_moderateRule as prob from pattern [every a1 = CO_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,4.5), com.cor.cep.util.UReals.lt(a1.value,9.5))))]; @Name('CO_UnhealthyForSensitiveGroups') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 3 as levelNumber, 'CO_UnhealthyForSensitiveGroups' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,9.5), com.cor.cep.util.UReals.lt(a1.value,12.5)).getC() * P_Co_unhealthyforsensitivegroupsRule as prob from pattern [every a1 = CO_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,9.5), com.cor.cep.util.UReals.lt(a1.value,12.5))))]; @Name('CO_Unhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 4 as levelNumber, 'CO_Unhealthy' as levelName, a1.prob * om.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,12.5), com.cor.cep.util.UReals.lt(a1.value,15.5)).getC() * P_Co_unhealthyRule as prob from pattern [every a1 = CO_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,12.5), com.cor.cep.util.UReals.lt(a1.value,15.5))))]; @Name('CO_VeryUnhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 5 as levelNumber, 'CO_VeryUnhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,15.5), com.cor.cep.util.UReals.lt(a1.value,30.5)).getC() * P_Co_veryunhealthyRule as prob from pattern [every a1 = CO_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,15.5), com.cor.cep.util.UReals.lt(a1.value,30.5))))]; @Name('CO_Hazardous') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 6 as levelNumber, 'CO_Hazardous' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,30.5), com.cor.cep.util.UReals.le(a1.value,50.4)).getC() * P_Co_hazardousRule as prob from pattern [every a1 = CO_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,30.5), com.cor.cep.util.UReals.le(a1.value,50.4))))]; /* O3 PATTERNS */ @Name('O3_Avg') @Priority(3) insert into O3_Avg select current_timestamp() as timestamp, a1.id as stationId, a1.o3 as value, a1.prob * com.cor.cep.util.UReals.uDistinct(a1.o3,-1).getC() * P_O3_avgRule as prob from pattern [every a1 = QualityAirEvent(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UReals.uDistinct(a1.o3,-1)))].win:time(28800000 milliseconds) group by a1.id; @Name('O3_Good') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 1 as levelNumber, 'O3_Good' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.geZero(a1.value),com.cor.cep.util.UReals.lt(a1.value,0.055)).getC() * P_O3_goodRule as prob from pattern [every a1 = O3_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,0.055))))]; @Name('O3_Moderate') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 2 as levelNumber, 'O3_Moderate' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,0.055), com.cor.cep.util.UReals.lt(a1.value,0.071)).getC() * P_O3_moderateRule as prob from pattern [every a1 = O3_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,0.055), com.cor.cep.util.UReals.lt(a1.value,0.071))))]; @Name('O3_UnhealthyForSensitiveGroups') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 3 as levelNumber, 'O3_UnhealthyForSensitiveGroups' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,0.071), com.cor.cep.util.UReals.lt(a1.value,0.086)).getC() * P_O3_unhealthyforsensitivegroupsRule as prob from pattern [every a1 = O3_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,0.071), com.cor.cep.util.UReals.lt(a1.value,0.086))))]; @Name('O3_Unhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 4 as levelNumber, 'O3_Unhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,0.086), com.cor.cep.util.UReals.lt(a1.value,0.106)).getC() * P_O3_unhealthyRule as prob from pattern [every a1 = O3_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,0.086), com.cor.cep.util.UReals.lt(a1.value,0.106))))]; @Name('O3_VeryUnhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 5 as levelNumber, 'O3_VeryUnhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,0.106), com.cor.cep.util.UReals.lt(a1.value,0.200)).getC() * P_O3_veryunhealthyRule as prob from pattern [every a1 = O3_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,0.106), com.cor.cep.util.UReals.lt(a1.value,0.200))))]; @Name('O3_Hazardous') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 6 as levelNumber, 'O3_Hazardous' as levelName, a1.prob * com.cor.cep.util.UReals.ge(a1.value,0.200).getC() * P_O3_hazardousRule as prob\ from pattern [every a1 = O3_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UReals.ge(a1.value,0.200)))]; /* PM2_5 PATTERNS */ @Name('PM2_5_Avg') @Priority(3) insert into PM2_5_Avg select current_timestamp() as timestamp, a1.id as stationId, a1.PM2_5 as value, a1.prob * com.cor.cep.util.UReals.uDistinct(a1.PM2_5,-1).getC() * P_Pm2_5_avgRule as prob from pattern [every a1 = QualityAirEvent(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UReals.uDistinct(a1.PM2_5,-1)))].win:time(86400000 milliseconds) group by a1.id; @Name('PM2_5_Good') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 1 as levelNumber, 'PM2_5_Good' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,12.1)).getC() * P_Pm2_5_goodRule as prob from pattern [every a1 = PM2_5_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,12.1))))]; @Name('PM2_5_Moderate') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 2 as levelNumber, 'PM2_5_Moderate' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,12.1), com.cor.cep.util.UReals.lt(a1.value,35.5)).getC() * P_Pm2_5_moderateRule as prob from pattern [every a1 = PM2_5_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,12.1), com.cor.cep.util.UReals.lt(a1.value,35.5))))]; @Name('PM2_5_UnhealthyForSensitiveGroups') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 3 as levelNumber, 'PM2_5_UnhealthyForSensitiveGroups' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,35.5), com.cor.cep.util.UReals.lt(a1.value,55.5)).getC() * P_Pm2_5_unhealthyforsensitivegroupsRule as prob from pattern [every a1 = PM2_5_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,35.5), com.cor.cep.util.UReals.lt(a1.value,55.5))))]; @Name('PM2_5_Unhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 4 as levelNumber, 'PM2_5_Unhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,55.5), com.cor.cep.util.UReals.lt(a1.value,150.5)).getC() * P_Pm2_5_unhealthyRule as prob\ from pattern [every a1 = PM2_5_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( "com.cor.cep.util.UReals.ge(a1.value,55.5), com.cor.cep.util.UReals.lt(a1.value,150.5))))]; @Name('PM2_5_VeryUnhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 5 as levelNumber, 'PM2_5_VeryUnhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,150.5), com.cor.cep.util.UReals.lt(a1.value,250.5)).getC() * P_Pm2_5_veryunhealthyRule as prob from pattern [every a1 = PM2_5_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,150.5), com.cor.cep.util.UReals.lt(a1.value,250.5))))]; @Name('PM2_5_Hazardous') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 6 as levelNumber, 'PM2_5_Hazardous' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,250.5), com.cor.cep.util.UReals.le(a1.value,500.4)).getC() * P_Pm2_5_hazardousRule as prob from pattern [every a1 = PM2_5_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,250.5), com.cor.cep.util.UReals.le(a1.value,500.4))))]; /* PM10 PATTERNS */ @Name('PM10_Avg') @Priority(3) insert into PM10_Avg select current_timestamp() as timestamp, a1.id as stationId, a1.PM10 as value, a1.prob * com.cor.cep.util.UReals.uDistinct(a1.PM10,-1).getC() * P_Pm10_avgRule as prob from pattern [every a1 = QualityAirEvent(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UReals.uDistinct(a1.PM10,-1)))].win:time(86400000 milliseconds) group by a1.id; @Name('PM10_Good') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 1 as levelNumber, 'PM10_Good' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,55.0)).getC() * P_Pm10_goodRule as prob rom pattern [every a1 = PM10_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.geZero(a1.value), com.cor.cep.util.UReals.lt(a1.value,55.0))))]; @Name('PM10_Moderate') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 2 as levelNumber, 'PM10_Moderate' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,55.0), com.cor.cep.util.UReals.lt(a1.value,155.0)).getC() * P_Pm10_moderateRule as prob from pattern [every a1 = PM10_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,55.0), com.cor.cep.util.UReals.lt(a1.value,155.0))))]; @Name('PM10_UnhealthyForSensitiveGroups') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 3 as levelNumber, 'PM10_UnhealthyForSensitiveGroups' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,155.0), com.cor.cep.util.UReals.lt(a1.value,255.0)).getC() * P_Pm10_unhealthyforsensitivegroupsRule as prob from pattern [every a1 = PM10_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,155.0), com.cor.cep.util.UReals.lt(a1.value,255.0))))]; @Name('PM10_Unhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 4 as levelNumber, 'PM10_Unhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,255.0),com.cor.cep.util.UReals.lt(a1.value,355.0)).getC() * P_Pm10_unhealthyRule as prob from pattern [every a1 = PM10_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,255.0), com.cor.cep.util.UReals.lt(a1.value,355.0))))]; @Name('PM10_VeryUnhealthy') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 5 as levelNumber, 'PM10_VeryUnhealthy' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,355.0),com.cor.cep.util.UReals.lt(a1.value,425)).getC() * P_Pm10_veryunhealthyRule as prob from pattern [every a1 = PM10_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,355.0), com.cor.cep.util.UReals.lt(a1.value,425))))]; @Name('PM10_Hazardous') @Priority(2) insert into PollutantLevel select a1.timestamp as timestamp, a1.stationId as stationId, 6 as levelNumber, 'PM10_Hazardous' as levelName, a1.prob * com.cor.cep.util.UBooleans.uAnd(com.cor.cep.util.UReals.ge(a1.value,425.0),com.cor.cep.util.UReals.le(a1.value,604.0)).getC() * " P_Pm10_hazardousRule as prob from pattern [every a1 = PM10_Avg(com.cor.cep.util.UBooleans.toBoolean(com.cor.cep.util.UBooleans.uAnd( com.cor.cep.util.UReals.ge(a1.value,425.0), com.cor.cep.util.UReals.le(a1.value,604.0))))]; /* AIR QUALITY LEVEL PATTERN */ @Name('AirQualityLevel') @Priority(1) insert into AirQualityLevel select current_timestamp() as timestamp, a1.stationId as stationId, max(a1.levelNumber) as level, a1.prob * P_AirqualitylevelRule as prob from pattern [every a1 = PullutantLevel].win:time_batch(6000 milliseconds) group by a1.stationId having max(a1.levelNumber) is not null;