> For the complete documentation index, see [llms.txt](https://docs.geodin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geodin.com/geodin-desktop/pt/analises/formula-basics.md).

# Fórmulas Básicas

Fórmulas permitem que o GeoDin calcule o Valor de um Campo de dados a partir de Valores já incluidos no Registo de dados. Esta Página é a referência do Sistema de Fórmula: como uma Fórmula é definida (o seu Nome, destino, Condição e Opcões), como Adicionar uma Fórmula ao/à um Típo de dados existente e a Sintaxe dos fórmulas cheia — operadores matemáticos, Condições, construções para casos especiais, Fórmulas de Típo de objeto e EGIS e o Comando SQL alternativo.

## Geral Fórmulas

As Fórmulas destinam-se aos Cálculos de Campos de dados com base sobre (em) Valores já incluidos no Registo de dados. As Fórmulas definidas Para um Típo de dados serão calculado automaticamente enquanto estiverem marcadas como "Ativo". Os Cálculos são realizados quando Adicionar, Modificar ou Eliminar Detalhes incluidos no conjunto de dados ou quando Adicionar ou Atualizar conjuntos de dados, por exemplo, utilizando o Método -Importar- do Banco de dados GeoDin.

Normalmente, as Fórmulas são definidas através da Configuração do Sistema do Típo de dados e serão calculado automaticamente. Além disso, a função [Cálculos](/geodin-desktop/pt/analises/data-checks-and-validations.md) está Disponível durante o registo das medições para ao/à introduzir manualmente uma Fórmula ou Executar a mesma.

A Execução das Fórmulas ativas é realizada de acordo com cada Definição de Típo de dados. Deve manter isso em mente ao utilizar Fórmulas interdependentes.

Cada Fórmula é definida por um Nome único e por Propriedades que definem o modo de Cálculos.

**Nome**

O Nome dá título à Fórmula; deve ser significativo para uma Seleção Posterior.

**Alvo**

Em qualquer caso, o Campo de destino é um campo do Típo de dados atual. Apenas Parâmetro, que estão definidos no Típo de dados, podem ser usados como Campo de destino na Fórmula.

**Parâmetro desencadeador**

Se um Parâmetro desencadeador for definido, a Fórmula só é executada se a modificação no Registo de dados for feita nesse Parâmetro. A definição de um Parâmetro desencadeador permite assim os Cálculos mútuos de diferentes Campos de dados.

**Exemplo:**

Cenário de Cálculos:

(1) O Campo 3 é calculado a partir do campo 1 e do campo 2, ou seja, o Campo de destino da Fórmula é o campo 3.

(2) Se o Conteúdo do campo 3 for modificado, o Valor do campo 2 deve ser ajustado.

O objetivo de (2) não pode ser realizado, uma vez que a Fórmula em (1) iria Sobrescrever imediatamente o campo 3. Se o campo 3 for definido noutra Fórmula como Parâmetro desencadeador e o campo 2 como Parâmetro de destino, (2) é realizado.

A Avaliação de uma Fórmula com Parâmetros desencadeadores ocorre durante a Entrada de dados (Grelha de entrada ou Ecrã de entrada), ou seja, apenas as Entradas feitas aí desencadeiam a Fórmula. Uma Fórmula com um Parâmetro desencadeador é, por isso, apenas eficaz no editor.

**Condição**

A Condição é um termo lógico que devolve Verdadeiro ou Falso. Uma Fórmula com uma Condição só é executada se os Cálculos da Condição devolverem um Verdadeiro.

Uma Condição é criada com a mesma sintaxe que é usada na Fórmula. Pode ser construída usando Parâmetro do mesmo Típo de dados, bem como usando Campos de dados mestre.

**Fórmula**

Em casos normais, a Fórmula é um termo que leva a um Resultado de Cálculos. Pode aceder ao Parâmetro do tipo de dados atual, assim como ao Conteúdo(s) dos Campos de dados mestre; Usa ligações de outros tipos de dados. Existe um menu de Escolha / Seleção que fornece todos os Opcões para construir uma Fórmula.

**Opcões**

1. Fórmula ativa

Os Cálculos são executados ao alterar o conjunto de dados. sem esta opção, a Fórmula não será executada.

1. Sobrescrever um alvo

Mesmo que haja uma Entrada no Campo de destino, isso será sobrescrito com o Resultado dos Cálculos. Se esta opção estiver inativa, apenas campos vazios serão preenchidos.

1. resultado 0, Se Todos valores estiverem abaixo do Valor-limite de determinação

Em certos casos, um valor medido ficará abaixo do limite de determinação de um determinado dispositivo de medição. Isso significa que, embora o valor não seja exato, ele ainda está presente e pode ser usado numa soma de vários parâmetros. Normalmente, é usado um valor entre 0 e o limite de determinação para esses cálculos, mas, em algumas situações, o valor calculado pela soma pode ser maior do que o limite de determinação dos valores individuais dos parâmetros, o que seria falso. Esta opção permite definir a soma ao/à limite de determinação mínimo ou ao/à Limite de determinação máximo, ou para 0 se todos os valores dos parâmetros estiverem abaixo do limite de determinação e não existirem definições especiais com "@B".

1. Macro

Para o processamento complexo de Fórmulas de Texto com construções OU ou %COND.

1. troca de Texto (Não Cálculos)

O Texto, resultante do processamento da Fórmula, é inserido no Campo de destino; isto significa que as variáveis usadas vão ser substituídas pelos Valores do conjunto de dados atual sem realizar Cálculos adicionais. Isto permite a criação de um texto formatado a partir dos conjuntos de dados ou dos dados principais. A Condição para a Usa bem-sucedida de uma tal Fórmula é uma formatação de Alfanuméricos do Campo de destino (Típo: C).

**Operação**

Uma Operação pode ser configurada no caso de uso da Fórmula. Esta Operação consiste em Copiar o conjunto de dados atual para outro Típo de dados. A Operação pode ser selecionado, após isso o Típo de dados de destino é ajustado. O Típo de dados deve ser do mesmo Típo de exame. Em combinação com a Execução condicional de Fórmulas, alguns procedimentos podem ser configurados correspondendo a uma gravação.

**Executar**

* Se todos parâmetros estiverem definidos

Se esta opção estiver ativa e a Fórmula, por exemplo o Parâmetro Soma, contém vários nomes de campo, o Resultado dos Cálculos só é escrito se houver entradas para todos os campos usados. Caso contrário, os campos parcialmente existentes ou parcialmente preenchidos são usados para os Cálculos.

* Se a último Fórmula válida incluido em um Bloco da mesma Linha

Várias Fórmulas podem ser definidas para um mesmo Parâmetro de destino. Esta opção faz com que a Fórmula válida mencionada por último seja executada. As Fórmulas listadas antes não serão executadas e não podem afetar-se mutuamente.

* Se a instrução da verificação da Condição tiver mudado

Uma Condição pode ser definida para a Execução da Fórmula. Com esta opção, você pode determinar a Fórmula a ser executada Se a Avaliação de a Condição sofrer Mudanças no seu Valor.

**Exemplo:**

Se a Condição for $NA$>2 e o Valor em NA igual a 1, o Valor pode ser alterado tantas vezes quanto desejado. A Fórmula não será executada enquanto o Valor permanecer abaixo de 2.

### Definição de Fórmulas

Uma Fórmula é definida como uma sequência de caracteres (semelhante a uma definição de Texto macro) e contém operadores matemáticos para calcular um Resultado.

Por exemplo: $DAT.PAR1$ \* 100

Os caracteres dentro dos sinais de $ referem-se a um Campo de dados do GeoDin. Os seguintes operadores podem ser usados:

***

\+ Adição - Subtração \* Multiplicação / Distância SQR (x) Quadrado de x SQRT (x) Raiz quadrada de x LN (x) Logaritmo natural de x EXP (x) Potência de x (e elevado à potência de x) SIN (x) Seno de x COS (x) Cosseno de x TAN (x) Tangente de X ARCTAN (x) Arcotangente de X COTAN (x) Cotangente de X ABS (x) valor absoluto de X

\+ Adição - Subtração \* Multiplicação / Distância SQR (x) Quadrado de x SQRT (x) Raiz quadrada de x LN (x) Logaritmo natural de x EXP (x) Potência de x (e elevado à potência de x) SIN (x) Seno de x COS (x) Cosseno de x TAN (x) Tangente de X ARCTAN (x) Arcotangente de X COTAN (x) Cotangente de X ABS (x) valor absoluto de X

***

(x) representa a Coluna da tabela do GeoDin (por exemplo, $DAT:PAR1$)

Espaços Vazio podem ser contidos nas Fórmulas. Valores Fixados de Número (100 no exemplo acima) podem ser inseridos diretamente na Fórmula.

## Adição de uma Fórmula a um Típo de dados existente

Fórmulas podem ser adicionadas a um Típo de dados a qualquer momento - mesmo depois de Registração e manutenção de dados de medição já existir no Banco de dados. Os passos a seguir cobrem o Processo de ponta a ponta:

{% stepper %}
{% step %}

#### Paso 1: Adicionar um Novo parâmetro ao/à Típo de dados (configuração do sistema)

Na Configuração do sistema GeoDin (Sistema > Típos de dados), abra o Grupo de tipos de dados relevante e adicione o Novo parâmetro que servirá como Destino da Fórmula. Guarde a Configuração do sistema.
{% endstep %}

{% step %}

#### Paso 2: Adicionar o Parâmetro ao/à Banco de dados

Abrir o **Gestor do típo de dados** ao nível do Banco de dados. Selecionar o Típo de dados, clique **Editar**, e adicione o Novo parâmetro. Clique **Criar** para gravar a Estrutura da tabela Atualizado no Banco de dados.

{% hint style="info" %}
Tanto a Configuração do sistema como o Banco de dados devem ser Atualizado. Adicionar o Parâmetro apenas ao Sistema não o torna Disponível nas Tabelas do Banco de dados.
{% endhint %}
{% endstep %}

{% step %}

#### Paso 3: Definir a Fórmula

Ainda na Configuração do sistema, abra o Típo de dados e adicione uma Fórmula:

* Defina o **Alvo** para o Novo parâmetro.
* Construir a Expressão da Fórmula arrastando nomes de macros (referências de campos, tais como `$DAT.PAR1$`) da Escolha / Seleção Lista para o campo da Fórmula.
* Marque a Fórmula como **Ativa**.
* Guardar.
  {% endstep %}

{% step %}

#### Paso 4: Aceitar a Fórmula aos/às Registos existentes

As Fórmulas ativas são executadas automaticamente em Registos Novo e Atualizado, mas **não são executadas retroativamente nos dados existentes**. Para Aceitar a Fórmula a todos os Registos existentes:

1. Abra o Editor dos valores de medição para qualquer objeto com Registos existentes deste Típo de dados.
2. Clique no **Calcular** Botão (Alemão: *Berechnen*, o ícone da calculadora na Barra de ferramentas direita).
3. No diálogo de Cálculos, Selecionar a Fórmula ativa da Lista.
4. Confirme. O GeoDin Processos todos os Registos no conjunto de dados atual e grava os Valores calculado.

{% hint style="warning" %}
As Fórmulas definidas como ativas são calculado automaticamente em Registos Novo e Atualizado, mas **não** são executadas retroativamente nos Registos existentes. Sempre Usa o **Calcular** Botão após Adicionar uma Novo Fórmula para preencher dados históricos.
{% endhint %}
{% endstep %}

{% step %}

#### Paso 5: Fórmulas integradas de utilização única no Editor dos valores de medição

O Editor dos valores de medição também aceita uma Fórmula pontual introduzida diretamente na Barra de Fórmula - sem a Guardar na Configuração do sistema. Isto é útil para Cálculos ad hoc durante uma sessão.

Aviso: uma Fórmula integrada **não pode ter como Destino um campo que já esteja atribuído como Destino de uma Fórmula ativa do Sistema**. Se existir um conflito, a Fórmula ativa do Sistema tem precedência e a Fórmula integrada não será executada nesse campo.
{% endstep %}
{% endstepper %}

***

## Referência: Condições e sintaxe especial

**Usa de Condições**

Além dos operadores matemáticos, podem ser utilizadas construções de sintaxe especial para ter um grande Número de casos especiais em consideração. Para uma Fórmula, pode ser definida uma Condição na qual a Fórmula é executada. Uma Condição é uma Expressão que tem dois Resultados possíveis: Verdadeiro ou Falso. Várias expressões podem ser combinadas utilizando os operadores lógicos E e OU. A definição da Abreviação do Típo de dados é Sempre necessária (por exemplo: $WAS:NA$).

Além dos operadores matemáticos, podem ser utilizadas construções de sintaxe especial para ter um grande Número de casos especiais em consideração. Para uma Fórmula, pode ser definida uma Condição na qual a Fórmula é executada. Uma Condição é uma Expressão que tem dois Resultados possíveis: Verdadeiro ou Falso. Várias expressões podem ser combinadas utilizando os operadores lógicos E e OU. A definição da Abreviação do Típo de dados é Sempre necessária (por exemplo: $WAS:NA$).

***Aviso:***

*A Fórmula pode ser introduzida diretamente no Editor dos valores de medição após clicar no Botão* *ou No separador Sistema, em Típos de dados-> Definições do típo de dados->Fórmulas* ([Geral Fórmulas](/geodin-desktop/pt/analises/formula-basics.md)).

**Exemplo de Condição simplesExemplo:**

*Destino:* WAS:NA\_CALC

*Condição:* $WAS:MG$>3

*Fórmula:* $WAS:NA$/2

O Parâmetro alvo NA\_CALC é calculado Se o Parâmetro MG tiver um Valor de 3 ou superior.

**Exemplo para condição múltiplaExemplo:**

*Destino:* WAS:NA\_CALC

*Condição:* $WAS:MG$>3 E $WAS:CA$<10

*Fórmula:* $WAS:NA$/2

O Parâmetro alvo é calculado, se Ambos os critérios forem verdadeiros: o Parâmetro MG tiver um Valor maior que três e o Parâmetro CA tiver um Valor menor que 10.

**Condições para Modificar Valores**

Usando a formatação @O, o Valor original de um registo de dados ANTES do último Modificar pode ser recriado no Editor dos valores de medição. Assim, verificar Diferenças é possível.

**Exemplo:**

*Condição:* $WAS:PAR1$ - $WAS:PAR1\@O$ >10

A Condição é Verdadeiro, quando o Valor de PAR1 na célula é mais de dez vezes o Valor introduzido anteriormente.

**Mais exemplos de Condições**

Numa Condição, o Operador NULL pode ser usado. Define se um Parâmetro tem um Valor.

**Exemplo:**

*Destino:* WAS:NA\_CALC

*Condição:* $WAS:MG$>3 E $WAS:CA$=NULL

*Fórmula:* $WAS:NA$/2

O Parâmetro alvo NA\_CALC é calculado tomando metade do Valor do Parâmetro NA, Se o Valor do Parâmetro MG excede 3 E o Parâmetro CA está Vazio.

Se cadeias são usadas numa Condição, o Texto tem de ser incluído em aspas invertidas (ou alta). Aspas invertidas em falta e erros ortográficos são interpretados como não iguais. A ortografia da Condição distingue maiúsculas de minúsculas.

**Exemplo:**

*Destino:* WAS:NA\_CALC

*Condição:* $BEARBEIT$='Müller'

*Fórmula:* $WAS:NA$/2

O Parâmetro alvo NA\_CALC é calculado como metade do Parâmetro NA, Se o Autor: do registo de dados tem o Nome Müller.

### Usando regras especiais

Além disso, aos Operadores matemáticos podem ser usadas construções de sintaxe especiais para o uso de Valores das Tabelas GeoDin para levar em consideração numerosos casos especiais.

**Casos especiais na sintaxe de Fórmula Limites de deteção**

**Exemplo:** $WAS:BENZEN\@B(0,5)$+$WAS:TOLUEN\@B(0,5)$+$WAS:XYLEN\@B(0,5)$

incluido no caso acima, onde os Valores para Parâmetro individuais de -5 OU -1 são encontrados, os Cálculos da Soma usam metade destes Valores.

**Valores Padrão**

Para determinados Cálculos, pode ser Maio necessário trabalhar com Configurações gerais predefinidas ou predefinições. Quando um Parâmetro não está presente ou não foi analisado incluido um Registo de dados, pode assumir-se um Texto padrão Valor e utilizá-lo para Cálculos. Isto é realizado utilizando a construção @D(x) dentro dos sinais $, sendo x o Valor estandard predefinido utilizado quando Nenhum valor está presente incluido campo.

**Exemplo:** Valor=$ORGANIC\@D(10)$/$Argila\@D(25)

O Valor calculado tem os quocientes das substâncias orgânicas E Argila incluido num Exemplo de solo. Se Não houver Valores presentes nestes campos, os Valores Padrão são usados.

**valores médios**

Os valores médios são calculados usando os Símbolos "@M" dentro dos Símbolos de dólar de uma Fórmula. Os Valores individuais são separados por ";" e apenas campos preenchidos podem ser usados.

**Exemplo:** UWDRYMIN=$UWDRYMIN1;UWDRYMIN2;UWDRYMIN3\@M$

O Resultado é a Média de UWDRYMIN1 ao UWDRYMIN3.

**Usando um Número de um Dicionário**

Se um Dicionário é utilizado, o que produz um Número ao introduzir um Código. Isto pode ser usado para Cálculos. Ao usar o Prefixo "@R", é efetuada uma recodificação.

**Exemplo**: CU=($CONE\@R$)/SQRT($PEN1;PEN2;PEN3;PEN4;PEN5\@M$)

Primeiro (a) de tudo, a Entrada para CONE é substituída pelo Valor do Dicionário. Para os Valores P1 ao/à P5, toma-se uma média a partir da qual a Raiz quadrada é calculado. O Valor para CONE é então dividido por este Valor.

**Usando Valores de outro Típo de dados**

Valores de um Típo de dados podem ser Usado no(a) cálculo de Valores em outros Típos de dados. ao/à fazer isso, o Código. de um Típo de dados é seguido por dois pontos. A relação ao/à um registro de dados incluido outro Típo de dados é definida por Tempo. ao/à Executar comparação Valores, a Data é usada incluido um Número de maneiras diferentes:

***

\[=SMPDATE] ou sem definição A data deve ser a mesma \[<=SMPDATE] A data pode ser a mesma ou menor que \[\<SMPDATE] A data deve ser menor que \[>=SMPDATE] A data pode ser a mesma ou maior que \[\<SMPDATE] A data deve ser maior que

***

**Exemplo**: WASSPNN=$ROK:ROKNN\[<=SMPDATE]$-$WASSPROK$

O nível da água expresso em metros acima do nível do mar é calculado usando um Valor do Típo de dados ROK (topo do piezómetro). O Valor usado pode ser do mesmo Dia ou do Próximo valor mais recente. Deste Valor, o nível atual é subtraído.

**Utilizando Valores dos Dados gerais do Ponto de monitorização**

É possível incorporar ao/à Geral, Dados gerais e Campos de dados incluido na Fórmula para Pontos de medição. A relação é definida da seguinte forma: $Tablel.Datafield$.

**Exemplo:** $ASBFILTR.INVMBEG$-$WST:WASSPROK$

O Nível da água no Destino WASSPNN calculado usando a elevação do Ponto de monitorização ($ASBFILTR.INVMBEG$) e o Nível de água medido a partir do topo do tubo $WST:WASSPROK$ incluido no Típo de dados.

**Equilíbrio iónico**

Ao usar o símbolo %IONB, o equilíbrio iónico pode ser calculado e usado como resultado.

**Exemplo**: IONICBALA=$%IONB$

***Atenção:*** *Para um Cálculos correto os campos com os nomes, que são esperados pelos Cálculos, devem existir e estar incluido Usa (veja* [*Balanço iónico*](/geodin-desktop/pt/analises/geotechnical-analyses.md)*).*

**Automático Numeração**

Para atribuir automaticamente números consecutivos a um Parâmetro, a Expressão $%FIRSTID:PARAMETER$ pode ser usada. A Numeração para o Parâmetro correspondente Sempre começa em 1.

**Exemplo:** $%FIRSTID:TESTNO$

O Número de Testar é automaticamente atribuído um Número consecutivo incluido no campo TESTNO para cada registo. O Primeiro registo recebe o número 1.

**Mais Símbolos**

$%PI$ produz o Número Pi

$%Nome do usuário$ Usa uma (Texto-)Fórmula, ao Criar o Nome do atual Utilizador do Banco de dados

$%Agora$ Resultados a Data e o Tempo atual

**referência do objeto**

$%OBJECTID$ Acesso ao LOCID para Tabelas de Dados gerais se Disponível

$%PRJID$ Acesso ao PRJ\_ID para Tabelas de Dados gerais se estiver Disponível

**Troca de Texto - Fórmulas ao Criar texto formatado**

Ao ativar a caixa de controlo *\[Texto de troca (Não Cálculos)]* Um cálculo é impedido ao executar a Fórmula. Esta opção só é útil quando é requerido um Parâmetro de string como Resultado. O Resultado é que os Parâmetro são substituídos por uma string de valores reais, pelo que Não é efetuado nenhum Cálculos.

**Exemplo:** $LOCREG.SHORTNAME$ / $SMPDATE$

incluido no Campo de destino selecionado, é criado uma combinação da Denominação curta do objeto, uma barra oblíqua e a Data, por exemplo "Brg 12 / 12.10.2004".

**Troca de Texto com Macro**

incluido ao Texto de troca, as especificações de Formato podem ser resolvidas.

Exemplo: $LOCREG.SHORTNAME$ de $<SMPDATE@dd.mmmm.yyyy>$

***Atenção:*** *Somente Parâmetro da mesma Tabela (Típo de dados) ou Parâmetro de Típo de objeto podem ser avaliados. O Parâmetro da Tabela atual deve ser especificado aqui sem a Abreviação da Tabela. Veja o exemplo.*

## Referência: gestão da Lista de Fórmula

**Novo**

Usando este ícone, entradas podem ser adicionadas à Lista.

**Duplicar**

Usa este ícone para criar uma cópia da entrada selecionado. A nova entrada é adicionada no fim da Lista e selecionado automaticamente.

**Eliminar**

Usando este ícone, as entradas marcadas podem ser removidas da Lista.

**Mover a entrada selecionado para cima**

Usando este ícone, as entradas podem ser movidas para cima na Lista. Mover entradas também é possível usando drag & drop.

**Mover a entrada selecionado para baixo**

Usando este ícone, as entradas podem ser movidas para baixo na Lista. Mover entradas também é possível usando drag & drop.

**Editar sem Atualizar**

Editar as entradas de uma Lista pode ocasionalmente causar processamento prolongado. Por exemplo, mover uma Série ou Coluna na Lista pode demorar relativamente, dependendo do material de dados básico, porque por vezes muitas páginas são afetadas.

Usando este ícone, a Lista pode ser editada sem atualização. A edição da Lista pode ser abandonada com a cruz OU com a marca de verificação.

**Clique duas vezes numa Entrada da Lista (Número do ponto flutuante)**

Fecha a Lista e as Mudanças incluido na Vista em árvore das Propriedades do objeto para a Entrada específica, para que as suas Propriedades possam ser editadas.

## Referência: Típo de objeto e Fórmulas EGIS

Este capítulo descreve algumas Fórmulas que podem ser usadas/criado no GOTE para uma Tabela de Dados gerais do Típo de objeto.

**Transformação de Coordenadas**

Esta Fórmula torna possível transformar uma especificação de coordenada e escrevê-la em um Campo de destino.

Parâmetro da Fórmula:

Método = TRANSFORMCOORD (identificador Fixado do Método EGIS)

Resultado = parte das Coordenadas

X = Valor de X da coordenada de entrada

Y = Valor de Y da coordenada de entrada

EPSG = EPSGCode da coordenada de entrada

DESTEPSG = 3068

**Exemplo:**

Esta fórmula transforma o Valor X do objeto GeoDin para o Sistema de coordenadas 3068 (Soldner Berlin) e escreve o Valor X transformado no Campo de destino da fórmula.

*$EGIS(MÉTODO=TRANSFORMCOORD Resultado=X X=XCOORD Y=YCOORD EPSG=KSYS DESTEPSG=3068)$*

### Fórmulas de Típo de objeto

Típos: podem conter Fórmulas para Campos de dados mestres. Essas Fórmulas são então executadas durante a edição com o Método de entrada e manutenção de dados.

As Fórmulas seguintes agrupam um Número de funções com as quais os geodados podem ser processados espacialmente.

A sintaxe/gramática destas Fórmulas pode ser resumida brevemente da seguinte forma.

1. a fórmula começa com $%EGIS
2. incluido entre parênteses simples, os diversos Parâmetro da fórmula podem ser configurados. Os Parâmetro são permitidos como pares chave-valor com espaços.
3. a fórmula termina com $
4. Um Parâmetro Fixado é o parâmetro "Método". O Valor deste Parâmetro decide qual Método de Execução de Fórmula deve ser usado.

**Exemplo de estrutura de uma Fórmula:**

*$%EGIS(Método=XYZ Param1=Value1 Param2=Value2 ... )$*

**Conversão de coordenadasExemplo:**

$%EGIS(Método=TRANSFORMCOORD Resultado=X X=XCOORD Y=YCOORD EPSG=EPSG DESTEPSG=3068)$

**Método**

TRANSFORMCOORD

**Resultado**

Qual Resultado de Cálculos deve ser transferido ao alvo da Fórmula (incluido no exemplo mostrado, o Valor X convertido).

**X**

Especifica qual Campo de dados deve ser usado como Valor de entrada para X (***exemplo:*** XCOORD).

**Y**

Especifica qual Campo de dados deve ser usado como Valor de entrada para Y (***exemplo:*** YCOORD).

**EPSG**

Indica qual Campo de dados contém o Sistema de coordenadas subjacente (***exemplo:*** EPSG).

**DESTEPSG**

Especifica o Sistema de coordenadas de destino ao qual será transformado (***exemplo:*** 3068 Soldner Berlin).

**Derivar valores de um ficheiro GISExemplo:**

$EGIS(Método=GETPOINTVALUE X=XCOORD Y=YCOORD Fonte=Água subterrânea EPSG=EPSG)$

**Método**

OBTER VALOR DO PONTO

Este Método pode ser usado ao Ler dados de um Ficheiro GIS (por exemplo, Formato, GeoJSON) usando um par de Coordenadas.

Para este propósito, o primeiro (a) objeto é lido nas Coordenadas transferidas e o Valor desejado é retornado do espaço de Atributo configurado do Registo de dados GIS.

Dessa forma, por ex. nomes de distritos, áreas de planejamento, números TK etc. podem ser transferidos automaticamente para os Dados gerais do GeoDin.

**X**

Indica qual Campo de dados contém o X-Valor (***exemplo:*** XCOORD).

**Y**

Indica qual Campo de dados contém o valor Y (***exemplo:*** YCOORD).

**EPSG**

Indica qual Campo de dados contém o Sistema de coordenadas subjacente (***exemplo:*** EPSG).

**Fonte**

Uma referência a uma Seção, adicionalmente, da Configuração das Configurações gerais de Conexão de bancos de dados do GeoDin pode ser vinculada aqui.

incluido nas Configurações gerais do Banco de dados, defina então a seguinte chave com os Valores da Fonte.

Água subterrânea= Caminho ao/à um Formato OU GeoJSON

GROUNDWATERFIELD= Nome do Atributo da Coluna incluido no Formato ou GeoJSON

**Exemplo:**

Água subterrânea=C:\GISData\GW-Model\gw2020.shp

GROUNDWATERFIELD=MAXGW

***Aviso:*** *Se não for especificada qualquer referência adicionalmente em Fonte, o GeoDin tenta automaticamente encontrar um Ficheiro GeoJSON (\*.geojson) com o Nome do Campo de destino da Fórmula no diretório Syslib da Instalação GeoDin. O campo do Atributo a partir do qual os dados são devolvidos ao Banco de dados deve ter o mesmo Nome no GeoJSON do Campo de destino da Fórmula.*

## Referência: Comando SQL alternativo

Com este Método de definição de uma Consulta do sistema para o gerenciador de objeto GeoDin ou uma Consulta da moldura de objeto dentro de um Selecionar layout, você pode formular uma instrução SQL Arbitrário para obter dados diretamente. Se você estiver familiarizado com SQL, este Método é significativamente mais rápido do que formular a instrução SQL Paso a passo por meio dos menus individuais.

**Exemplo:**

Selecionar \* de GeoDin\_LOC\_LOCREG

A instrução SQL pode conter variáveis de macro que são substituídas automaticamente pelo GeoDin enquanto a consulta é executada. O propósito da consulta é o fator determinante para isso.

**Consulta da moldura de objeto incluído na Selecionar layout**

$PRJID$ é substituído pelo ID atual do Projeto: conectado ao O layout

$LOCID$ é substituído por ID objeto atual do objeto conectado ao/à layout

$INVID$ é substituído pelo Código único (ID) do Ponto de medição ativo atual do objeto conectado ao/à O layout

Em uma Selecionar layout com uma Moldura de objeto de um único objeto, extrair um conjunto de dados da Tabela GeoDin\_LOC\_LOCREG poderia usar a seguinte instrução SQL:

Selecionar \* FROM GeoDin\_LOC\_LOCREG WHERE (PRJ\_Código único (ID)='$PRJCódigo único (ID)$') E (LOCCódigo único (ID)=$LOCCódigo único (ID)$)

Quando um Objeto novo é vinculado ao layout (por exemplo, ao alterar o objeto enquanto o Quadro de layouts está aberto), o conjunto de dados para este objeto é selecionado na tabela do Banco de dados. Em um elemento de Texto variável com a Origem dos dados "Consulta da moldura de objeto", todos os Campos de dados para este objeto podem ser acessados. Observe que o exemplo acima é apenas para ilustrar as possibilidades. Isso não seria útil na aplicação prática, pois a macro semelhante a $LONGNAME$ fornece acesso aos Campos de dados desta Tabela mesmo sem uma Consulta da moldura de objeto. Normalmente, Consultas da Moldura de objeto são usadas para extrair conjuntos de dados de resultados muito mais complexos.

Assim como em uma instrução SQL, os nomes de Tabelas e Visualizações de Banco de dados podem ser usados, esses nomes devem ser incluido na Lista de **Tabelas**. Isto é necessário para garantir a necessária extensão do esquema do Banco de dados dos nomes.

Neste tipo de definição de uma Consulta do sistema para o gestor de Objecto GeoDin ou a consulta do object framework dentro de um Selecionar layout, você pode formular qualquer instrução SQL para obter dados. Exemplo:

Selecionar \* de GeoDin\_LOC\_LOCREG

A instrução SQL pode conter variáveis Macro que são substituídas automaticamente pelo GeoDin antes de a Consulta ser executada. O propósito da Consulta é, portanto, fundamental.

Consulta do sistema para o gerenciador de objetos GeoDin

As variáveis macro são substituídas pela Informação do ramo pai para alcançar uma restrição apropriada dos Objetos consultados.

$PRJID$ é substituído pelo Código único (ID) do atual Projeto

$LOCID$ é substituído pelo ID objeto atual

$INVID$ é substituído pelo ID do Ponto de medição ativo

A criação de uma Consulta do sistema depende do seu uso e da colocação da Consulta no gestor de objeto do GeoDin. Principalmente, depende da definição dos Objetos resultantes (objeto ou ponto de medição) de quais Campos de dados são definidos no topo na Lista de campos do comando Selecionar.

objeto : PRJ\_ID,LOCID; dentro de um projeto apenas LOCID

Ponto de medição : INVID

A Lista de campos do comando Selecionar pode e deve conter campos de dados adicionais, que geram os nomes de exibição no gerenciador de objeto incluido.

A Condição WHERE deve conter restrições No objeto pai incluido em Consultas abaixo de Projetos, Objetos e Pontos de medição, caso contrário, Objetos poderão aparecer nos Resultados que não estão em conformidade com a estrutura do gestor de objeto (por ex., Todos objetos de um Banco de dados sob um nó de Projeto:).

Consultas de exemplo: mostrar também possíveis combinações de campos de exibição para o gerenciador de objeto.

**Consultas no nível "Banco de dados" e "Consultas de banco de dados"**

Objetos:

Selecionar PRJ\_ID,LOCID,LONGNAME & " (", ZCOORDE, "m)" AS F1 de GeoDin\_LOC\_LOCREG ordenar por LONGNAME

Pontos de medição:

Selecionar INVID,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG order by LONGNAME

**Consultas no nível "Projeto:" e "Consultas de projetos" com as restrições necessárias sobre (em) o PRJ\_ID**

Objetos:

Selecionar LOCID,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG WHERE PRJ\_Código único (ID)='$PRJCódigo único (ID)$' order by LONGNAME

Pontos de medição:

select INVCódigo único (ID),LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG WHERE PRJ\_Código único (ID)='$PRJCódigo único (ID)$' order by LONGNAME

**Consultas Para o Nível "objeto" ou "Ponto de monitorização" com restrições necessárias no PRJ\_Código único (ID) e LOCCódigo único (ID) e quando necessário sobre o INVCódigo único (ID)**

Selecionar INVID,INVNAME from GeoDin\_LOC\_PRBREG WHERE (PRJ\_ID='$PRJID$' ) E (LOCID=$LOCID$) order by INVNAME

**Tabelas**

Porque os nomes de Tabelas/Visualizações são usados na definição SQL, os nomes também devem ser incluido na Lista **Tabelas**. Só desta forma um Nome é protegido para trabalho de edição de esquema adicionalmente.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.geodin.com/geodin-desktop/pt/analises/formula-basics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
