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 (veja operadores sobre Objetos Monitorados).


Operadores sobre PCD


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. Operador cria uma lista em Python com a identificação das PCD em cada PCD. A Figura 3.36 mostra o resultado para 5 PCDs fazendo uso da regra de influência.

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

Figura 3.36 – Módulo de Administração: Análise – Regra de Influência sobre PCDs.




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 de cada PCD. [True] botão Ativo marcado são considerados os valores da pcd na análise. [False] não considera os valores da pcd na análise.

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)




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)




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”. 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)




Exemplo - Análise PCD (  )


  PCD (  )