Operadores sobre PCD
Os operadores espaciais disponíveis para serem utilizados com os dados dinâmicos de PCD´s são utilizados sobre os atributos de cada PCD isoladamente ou em grupos seguindo a regra de influência. Cada PCD pode ainda ser utilizada como um objeto monitorado para ser cruzado com qualquer dos três tipos de dados dinâmicos (ver descrição dos operadores).
Utilitários para operadores sobre PCD 
Estes utilitários são os mesmos apresentados na análise baseada em objeto monitorado, portanto, maiores detalhes veja aqui.
I.1- Unidade de distância
Para operadores que utilizam unidades de distância devem usar as letras entre aspas duplas (“<unidade>”). As seguintes opções estão disponíveis:
- “cm”: centímetros
- “m” : metros
- “km”: quilômetros
I.2- Unidade de tempo
Para operadores que utilizam unidades de tempo devem usar as letras imediatamente após o valor numérico, ambos entre aspas dupla (“<num><unidade>”). As seguintes opções estão disponíveis:
- s: Second – tempo em segundos a parir da data/hora atual.
- min: Minute – tempo em minutos a partir da data/hora atual.
- h: Hour – tempo em horas a partir da data/hora atual.
- d: Day – tempo em dias a partir da data/hora atual.
- d+: Day (Extended) – tempo em dias a partir da data/hora atual até a zero horas do número de dias.
- w: Week – tempo em semanas a partir da data/hora atual.
- w+: Week (Extended) – tempo em semanas a partir da hora atual até a zero horas do número de semanas.
I.3- Utilitário de “buffer” (Equidistâncias de um objeto)
Nesse tipo de análise é considerada apenas a geometrias de pontos das PCD´s, portanto, só faz sentido utilizar o utilitário “buffer” com as seguintes opções:
- Buffer( ) : Sem buffer. Será considerado a própria geometria do ponto.
- BufferType.Out : Será considerada a área do “buffer” externa à geometria do ponto.
- Buffer.Type.Level : Área diferença entre dois buffer externos. Será considerada a diferença entre um buffer maior menos o menor, definindo uma área não adjacente a geometria do ponto.
Nota: Detalhes com exemplos do utilitário “buffer” consulte item.
I.4- Utilitários “Get Value”, “Add Value” e “Get analysis date”
- get_value(“<attribute_name>”) : recupera o atributo de um objeto monitorado. Válido para atributos numéricos ou alfa-numéricos
- add_value(“<attribute_name>”, <value>) : adiciona o valor de uma variável a um atributo na tabela resultante de uma análise baseada em objeto monitorado. Válido para atributos numéricos ou alfa-numéricos.
- get_analysis_date() : retorna a data/hora de execução da análise, podendo ser um reprocessamento de dado histórico ou valor atual.
Operadores sobre PCD 
II.1- Regra de Influência
A regra de influência é utilizada para definir se serão consideradas outras PCD´s próximas da PCD que estiver sendo analisada.
SINTAXE GERAL:
dcp.influence.by_rule(<buffer>)
onde:
- buffer : “Buffer” para ser aplicado a cada PCD, considerada como objeto monitorado. Ver utilitário “buffer” em item.
II.2- PCD
Grupo de operadores que consideram as últimas medidas de cada PCD´s.
SINTAXE GERAL:
dcp.<operator>(<buffer>, "<attribute>", [<list_dcp>], [<isActive>])
onde:
- operator : value, count, min, max, mean, median, sum, standard_deviation, ou variance;
- buffer : Buffer para ser aplicado ao ponto da PCD. Parâmetro obrigatório somente para operador “count”. Ver utilitário Buffer;
- attribute : String com o nome do atributo da PCD que deve ser utilizado para recuperar valores numéricos. O atributo deve ser do tipo numérico (Ex. Integer, Float, Double, Long). Não usar para operador “count”;
- list_dcp : [Opcional] Lista contendo a identificação das PCD´s. Ver utilitário “Regra de Influência”. Não usar se operador zonal for “count”. Se não utilizado nos demais operadores, todas as PCD´s ativas da série serão consideradas.
- isActive : [Opcional] utiliza-se uma expressão do tipo booleana, True ou False, que considera como parâmetro o botão Ativo, disponível em Registro de Dado Dinâmico. [True] botão Ativo desmarcado não são considerados os valores da pcd na análise. [False] considera os valores da pcd na análise, mesmo que o botão Ativo esteja desmarcado.
Segue a descrição de cada operador.
PCD: Valor
Retorna o valor da última leitura de cada PCD.
Sintaxe:
dcp.value("<attribute>")
Exemplo: x = dcp.value(“pluvio”)
PCD: Contagem
Retorna o número de PCD´s que influenciam cada PCD (como objeto monitorado).
Sintaxe:
dcp.count(<buffer>, [isActive])
Exemplo: buf1 = Buffer()
x = dcp.count(buf1, True)
PCD: Mínimo
Retorna o menor valor de um atributo de todas as PCD´s disponíveis na lista.
Sintaxe:
dcp.min("<attribute>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out_union, 2, "km")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.min("Pluvio", ids)
PCD: Máximo
Retorna o maior valor de um atributo de todas as PCD´s disponíveis na lista.
Sintaxe:
dcp.max("<attribute>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 400, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.max("Pluvio", ids)
PCD: Média
Retorna a média dos valores de um atributo de todas as PCD´s disponíveis na lista.
Sintaxe:
dcp.mean("<attribute>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Level, 10, "km", 5, "km")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.mean("Chuva", ids)
PCD: Mediana
Retorna a mediana dos valores de um atributo de todas as PCD´s disponíveis na lista.
Sintaxe:
dcp.median("<attribute>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.median("temperatura", ids)
PCD: Soma
Retorna a soma dos valores de um atributo de todas as PCD´s disponíveis na lista.
Sintaxe:
dcp.sum("<attribute>", [<list_dcp>])
Exemplo: ids = dcp.influence.by_attribute("Serra do Mar", [att1, att2, att2, att4])
x = dcp.sum("temperatura", ids)
PCD: Desvio Padrão
Retorna o desvio padrão dos valores de um atributo de todas as PCD´s disponíveis na lista.
Sintaxe:
dcp.standard_deviation("<attribute>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.standard_deviation("temperatura", ids)
PCD: Variância
Retorna a variância dos valores de um atributo de todas as PCD´s disponíveis na lista.
Sintaxe:
dcp.variance("<attribute>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.In, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.variance("temperatura", ids)
II.3- PCD histórico
Grupo de operadores que consideram as PCD´s individualmente e utilizam as últimas medidas obtidas por cada uma, no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
SINTAXE GERAL:
dcp.history.<operator>("<attribute>", "<time>", [<list_dcp>])
onde:
- operator: min, max, mean, sum, median, standard_deviation ou variance;
- attribute: String com o nome do atributo da PCD que deve ser utilizado para recuperar valores estatísticos. O atributo deve ser do tipo numérico (Ex. Integer, Float, Double, Long);
- time: String com o intervalo de tempo para filtrar os valores de cada PCD no intervalo de tempo desejado. Ver utilitário Unidades de tempo;
- list_dcp: [Opcional] Lista contendo a identificação das PCD´s que influenciam a PCD em análise no momento, como se fosse um objeto monitorado. Ver utilitário “Regra de Influência”. Se não utilizado somente a PCD corrente será considerada.
Segue a descrição de cada operador.
PCD histórico: Mínimo
Retorna o menor valor de um atributo de cada PCD individualmente no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
Sintaxe:
dcp.history.min("<attribute>", "<time>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out_union, 2, "km")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.min("Pluvio“, “1d”, ids)
PCD histórico: Máximo
Retorna o maior valor de um atributo de cada PCD individualmente no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
Sintaxe:
dcp.history.max("<attribute>", "<time>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 400, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.max("Pluvio", "30h", ids)
PCD histórico: Média
Retorna a média dos valores de um atributo de cada PCD individualmente no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
Sintaxe:
dcp.history.mean("<attribute>", "<time>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Level, 10, "km", 5, "km")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.mean("Chuva", "3d", ids)
PCD histórico: Mediana
Retorna a mediana dos valores de um atributo de cada PCD individualmente no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
Sintaxe:
dcp.history.median("<attribute>", "<time>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.median("temperatura", "360min", ids)
PCD histórico: Soma
Retorna a soma dos valores de um atributo de cada PCD individualmente no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
Sintaxe:
dcp.history.sum("<attribute>", "<time>", [<list_dcp>])
Exemplo: ids = dcp.influence.by_attribute("Serra do Mar", [att1, att2, att2, att4])
x = dcp.history.sum("temperatura", "5h", ids)
PCD histórico: Desvio Padrão
Retorna o desvio padrão dos valores de um atributo de cada PCD individualmente no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
Sintaxe:
dcp.history.standard_deviation("<attribute>", "<time>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.standard_deviation("temperatura", "1w", ids)
PCD histórico: Variância
Retorna a variância dos valores de um atributo de cada PCD individualmente no intervalo de tempo definido entre a data/hora atual e o valor de tempo informado no passado.
Sintaxe:
dcp.history.variance("<attribute>", "<time>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.In, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.variance("temperatura", "24h", ids)
II.4- PCD histórico por intervalo
Grupo de operadores que consideram as PCD´s individualmente e utilizam as últimas medidas obtidas por cada uma, no intervalo de tempo definido entre dois valores de tempo informado no passado.
SINTAXE GERAL:
dcp.history.interval.<operator>("<attribute>", "<time_begin>", "<time_end>", [<list_dcp>])
onde:
- operator : min, max, mean, sum, median, standard_deviation ou variance;
- attribute: String com o nome do atributo da PCD que deve ser utilizado para recuperar valores estatísticos. O atributo deve ser do tipo numérico (Ex. Integer, Float, Double, Long). Não usar para operador “count”;
- time_begin: String inicial (mais antigo) do intervalo de tempo para filtrar as ocorrências;
- time_end: String final (mais recente) do intervalo de tempo para filtrar as ocorrências;
- list_dcp: [Opcional] Lista contendo a identificação das PCD´s que influenciam a PCD em análise no momento, como se fosse um objeto monitorado. Ver utilitário “Regra de Influência”. Não usar se operador for “count”. Se não utilizado nos demais operadores, somente a PCD corrente será considerada.
Segue a descrição de cada operador.
PCD histórico por intervalo: Mínimo
Retorna o menor valor de um atributo de cada PCD individualmente no intervalo de tempo inicial e final informado no passado em função da data/hora atual.
Sintaxe:
dcp.history.interval.min(“<attribute>”, “<time_begin>”, “<time_end>”, [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out_union, 2, "km")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.interval.min("Pluvio", "2d", '1d', ids)
PCD histórico por intervalo: Máximo
Retorna o maior valor de um atributo de cada PCD individualmente no intervalo de tempo inicial e final informado no passado em função da data/hora atual.
Sintaxe:
dcp.history.interval.max(“<attribute>”, “<time_begin>”, “<time_end>”, [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 400, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.interval.max("Pluvio", "24h", "12h", ids)
PCD histórico por intervalo: Média
Retorna a média dos valores de um atributo de cada PCD individualmente no intervalo de tempo inicial e final informado no passado em função da data/hora atual.
Sintaxe:
dcp.history.interval.mean("<attribute>", "<time_begin>", "<time_end>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Level, 10, "km", 5, "km")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.interval.mean("Chuva", "24d", "12d", ids)
PCD histórico por intervalo: Mediana
Retorna a mediana dos valores de um atributo de cada PCD individualmente no intervalo de tempo inicial e final informado no passado em função da data/hora atual.
Sintaxe:
dcp.history.interval.median("<attribute>", "<time_begin>", "<time_end>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.interval.median("temperatura", "2d", "1d", ids)
PCD histórico por intervalo: Soma
Retorna a soma dos valores de um atributo de cada PCD individualmente no intervalo de tempo inicial e final informado no passado em função da data/hora atual.
Sintaxe:
dcp.history.interval.sum("<attribute>", "<time_begin>", "<time_end>", [<list_dcp>])
Exemplo: ids = dcp.influence.by_attribute("Serra do Mar", [att1, att2, att2, att4])
x = dcp.history.interval.sum("temperatura", "2d", "1d", ids)
PCD histórico por intervalo: Desvio Padrão
Retorna o desvio padrão dos valores de um atributo de cada PCD individualmente no intervalo de tempo inicial e final informado no passado em função da data/hora atual.
Sintaxe:
dcp.history.interval.standard_deviation("<attribute>", "<time_begin>", "<time_end>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.Out, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.interval.standard_deviation("temperatura", "2d", "1d", ids)
PCD histórico por intervalo: Variância
Retorna a variância dos valores de um atributo de cada PCD individualmente no intervalo de tempo inicial e final informado no passado em função da data/hora atual.
Sintaxe:
dcp.history.interval.variance("<attribute>", "<time_begin>", "<time_end>", [<list_dcp>])
Exemplo: b1 = Buffer(BufferType.In, 800, "m")
ids = dcp.influence.by_rule("Serra do Mar", b1)
x = dcp.history.interval.variance("temperatura", "2d", "1d", ids)