Se você for o proprietário de uma camada de feição hospedada ou um administrador da sua organização, você poderá adicionar, excluir e calcular campos em camadas de feição hospedadas. Algumas restrições que se aplicam; por exemplo, você não pode excluir ou calcular o campo de OBJECTID. Se você for o proprietário de uma camada de feição spatiotemporal hospedada ou um administrador do portal, você pode adicionar um campo à página da camada a partir do item iniciando com ArcGIS Enterprise 10.6.1. Para uma lista completa de restrições, consulte a seção de Restrições.
Para adicionar, excluir ou calcular campos em uma camada de feição hospedada, você deve primeiro mostrar a tabela de atributos da camada. Consulte Mostrar tabelas para mais informações sobre tabelas.
Adicionar um campo
- Siga estas etapas para mostrar uma tabela.
- Clique no botão Opções .
- Clique em Adicionar Campo.
- Nome—Os nomes de campo não devem conter caracteres especiais, tais como, espaços, hífens, parênteses, colchetes ou caracteres, tais como, $, % e #. Evite utilizar nomes de campo que contenham palavras que são normalmente consideradas palavras-chaves do Banco de Dados reservadas, tal como, CHARACTER ou DATE. Se você tentar adicionar um nome de campo com caracteres especiais ou uma palavra-chave do Banco de Dados reservada, você receberá uma mensagem de erros.
- Nome Alternativo—Um nome alternativo de um campo que é mais descritivo e amigável que o nome. O nome alternativo pode conter caracteres especiais e palavras-chaves do Banco de Dados reservadas.
- Tipo—Um dos seguintes:
- Data—Data e hora. Consulte Trabalhar com campos de data.
Anotação:
Enquanto seu portal armazena todos os valores de data em UTC, você normalmente irá vizualizar e editar datas em seu fuso horário local porque a maioria dos aplicativos convertem automaticamente para e de UTC. Você, entretanto, precisará especificar o fuso horário apropriado ao transferir seus dados—por exemplo, como arquivos CSV ou shapefiles—caso contrário, seus dados serão assumidos para estarem em UTC.
- Duplo—Números com casas decimais.
- Inteiro—Números inteiros de -2,147,483,648 to 2,147,483,647 (inteiro longo).
- String—Qualquer sequência de caracteres.
- Data—Data e hora. Consulte Trabalhar com campos de data.
- Comprimento—O comprimento máximo, em caracteres, que um campo de string pode armazenar. O comprimento é exigido para o tipo de campo String. O padrão é 256 caracteres.
- Clique em Adicionar Novo Campo.
Dica:
Campos recém-adicionados podem não aparecer automaticamente na tabela e em pop-ups. Para tornar os novos campos visíveis, edite a configuração de pop-up da camada.
Adicionar um campo a uma camada de feição spatiotemporal hospedada
Se você precisar adicionar um campo a uma camada de feição spatiotemporal hospedada que você criou executando uma ferramenta do GeoAnalytics, você pode fazer isso a partir da página de item da camada.
- Selecione a camada de feição spatiotemporal hospedada de uma das guias na página Conteúdo e abra a página do item.
- Clique na guia Dados.
- Clique no botão Opções e clique em Adicionar Campo.
- Forneça as informações seguintes ao novo campo:
- Nome—Os nomes de campo não devem conter caracteres especiais, tais como, espaços, hífens, parênteses, colchetes ou caracteres, tais como, $, % e #. Evite utilizar nomes de campo que contenham palavras que são normalmente consideradas palavras-chaves do Banco de Dados reservadas, tal como, CHARACTER ou DATE. Se você tentar adicionar um nome de campo com caracteres especiais ou uma palavra-chave do Banco de Dados reservada, você receberá uma mensagem de erros.
- Nome Alternativo—Um nome alternativo de um campo que é mais descritivo e amigável que o nome. O nome alternativo pode conter caracteres especiais e palavras-chaves do Banco de Dados reservadas.
- Tipo—Um dos seguintes:
- Data—Data e hora. Consulte Trabalhar com campos de data.
Anotação:
Enquanto seu portal armazena todos os valores de data em UTC, você normalmente irá vizualizar e editar datas em seu fuso horário local porque a maioria dos aplicativos convertem automaticamente para e de UTC. Você, entretanto, precisará especificar o fuso horário apropriado ao transferir seus dados—por exemplo, como arquivos CSV ou shapefiles—caso contrário, seus dados serão assumidos para estarem em UTC.
- Duplo—Números com casas decimais.
- Inteiro—Números inteiros de -2,147,483,648 até 2,147,483,647 (inteiro longo).
- String—Qualquer sequência de caracteres.
- Data—Data e hora. Consulte Trabalhar com campos de data.
- Comprimento—O comprimento máximo, em caracteres, que um campo de string pode armazenar. O comprimento é exigido para o tipo de campo String. O padrão é 256 caracteres.
- Clique em Adicionar Novo Campo.
Dica:
Campos recém-adicionados podem não aparecer automaticamente na tabela e em pop-ups. Para tornar os novos campos visíveis, edite a configuração de pop-up da camada.
Excluir um campo
- Siga estas etapas para mostrar uma tabela.
- Clique na coluna contendo o campo que deseja excluir.
- Clique em Excluir. Confirme que você deseja excluir o campo.
Para determinados campos, como OBJECTID, CREATIONDATE, CREATOR, EDITDATE e EDITOR e campos utilizados no seu mapa para estilos e filtros, a opção Excluir está indisponível. Porém, outros mapas podem estar utilizando campos para simbologia e filtros que são diferentes de campos que seu mapa utiliza e a opção Excluir está disponível para estes campos. Exercite a precaução ao excluir os campos que podem ser utilizados para simbologia e filtros em outros mapas.
Calcular um campo
Anotação:
Os cálculos de campo não podem ser desfeitos.- Siga estas etapas para mostrar uma tabela.
- Clique na coluna contendo o campo cujos valores deseja calcular.
- Clique em Calcular.
A caixa de diálogo Calcular Campo aparece.
Operações básicas
Na caixa de diálogo Calcular Campo você pode construir expressões simples utilizando operadores, tais como, mais, menos, multiplicar e dividir. Exemplos e dicas são como seguem:
- Para multiplicar todos os valores em um campo numérico denominado SAMPLE por 100.0, digite SAMPLE * 100.0 para a expressão.
- Para equações mais complexas, você pode utilizar os parênteses para especificar a ordem de cálculos, por exemplo, SAMPLE * (BASELINE - 40).
- Os operadores matemáticos não funcionam com campos de string. Você precisará utilizar as funções da string descrita na seção Funções da string.
- Se você estiver calculando um campo de tipo duplo para o campo de tipo inteiro, a função CAST poderá ser automaticamente adicionada na sua expressão. Por exemplo, se você estiver calculando um campo duplo denominado POP para um campo inteiro denominado SAMPLE, a expressão aparecerá como CAST(SAMPLE AS FLOAT). Não remova a função CAST. Consulte Funções numéricas abaixo das informações na função CAST.
- Para incluir uma apóstrofe na string, utilize duas aspas únicas para a apóstrofe. Por exemplo, 'Nightingale''s'. Não utilize aspas duplas.
Após ter criado sua expressão, clique no botão Calcular. Se houver quaisquer erros, uma mensagem de erro aparecerá na parte inferior da caixa de diálogo.
O seguinte são considerações adicionais:
- Se você tiver um filtro em sua camada, somente os registros que atenderem os critérios do filtro terão seus valores calculados.
- Calcular Campo funciona somente com nomes de campo, não nomes alternativos de campo. A lista Campos mostra a você todos os nomes de campo disponíveis para cálculos. Você pode filtrar esta lista pelos tipos de campo String, Numérico e Data.
- Se você pairar sobre um nome de campo na lista Campos, o nome alternativo e tipo de campo serão exibidos.
- Se você clicar em um nome de campo na lista Campos, o campo será adicionado à expressão.
Utilizar funções
Além de operadores de expressões simples, você também pode utilizar funções. As funções trabalham com nomes de campo, literais e outras funções. Por exemplo, suponha que você precise calcular um campo duplo para ser TOTALPOP dividido por POP18. Se qualquer feição tiver um POP18 igual a zero, o cálculo resultará em um erro de divisão por zero. Você pode guardar isto utilizando a função NULLIF, descrita abaixo. A expressão seria TOTALPOP / NULLIF(POP18, 0).
As funções utilizam parâmetros. Nas tabelas abaixo, qualquer parâmetro pode ser como segue:
- Um nome de campo, desde que o tipo de campo corresponda ao tipo de parâmetro (string, número ou data).
- Uma literal, tal como 'Sailboat' (uma string cercada por aspas únicas), o número 5 ou uma data no formato MM/DD/YYYY hh:mm:ss, cercada por aspas únicas.
- Se a sua organização permitir consultas SQL diferentes do padrão, caracteres diferentes do Inglês em uma string literal deverão ser utilizados com N (por exemplo, N'针叶林').
- Uma função que retorna um valor do tipo adequado (string, número, data). Por exemplo, FLOOR(POWER(SAMP_ERR, 0.5)) retorna o maior inteiro que é menor ou igual a raiz quadrada de SAMP_ERR.
Para propósitos ilustrativos, os exemplos na coluna de descrição das tabelas abaixo utilizam principalmente parâmetros literais. Você pode substituir um nome de campo ou outra função para estes parâmetros.
Funções de string
Função | Descrição |
---|---|
CHAR_LENGTH(string) | Retorna o número de caracteres em string. O resultado é um inteiro. Exemplo
|
CONCAT(string1, string2) | Concatene duas strings. Somente duas strings podem ser fornecidas. Para concatenar mais de duas strings, insira funções CONCAT consecutivas como mostrado no exemplo abaixo. Exemplo
Os valores nulos são convertidos em uma string vazia. |
POSITION(substring em string) | Retorna a posição da primeira ocorrência de substring na string. Se substring não for localizada, o resultado será 0. Exemplos
|
SUBSTRING(string, start, length) | Retorna uma parte da string; start é um índice inteiro especificando onde os caracteres retornados iniciam e length é o número de caracteres para ser retornado. Exemplo
|
TRIM(BOTH | LEADING | TRAILING ' ' FROMstring) | Retorna uma string onde todos os espaços extras são removidos da string. Exemplo
Note que o segundo parâmetro são duas aspas únicas com um espaço entre elas. |
UPPER(string) | Retorna uma string onde todos os caracteres na string são convertidos em letra maiúscula. Exemplo
|
LOWER(string) | Retorna uma string onde todos os caracteres na string são convertidos em letra minúscula. Exemplo
|
Funções numéricas
Além das funções numéricas descritas abaixo, você pode calcular estatísticas em colunas de dados. Esta estatística inclui o número de registros, o valor mínimo e máximo, a soma de todos os valores, o valor médio e o desvio padrão de todos os valores.
- Clique na coluna contendo o campo com os valores que deseja obter as estatísticas.
- Clique em Estatística. Uma caixa de diálogo mostra a estatística calculada.
Função | Descrição |
---|---|
ABS(number) | Retorna o valor absoluto (positivo) de number. |
CEILING(number) | Retorna o menor inteiro, maior ou igual a number. Exemplo
|
COS(number) | Retorna o co-seno trigonométrico de number, que é assumido para ser um ângulo em radianos. |
CAST(númeroAS FLOAT | INT) | Converte um número para um tipo diferente. FLOAT converte number para um dobro e INT converte para um inteiro. |
FLOOR(number) | Retorna o maior inteiro que é menor ou igual a number. Exemplo
|
LN(number, decimal_place) | O logaritmo natural de number. |
LOG(number, decimal_place) | O logaritmo de base 10 de number. |
MOD(number, n) | Retorna o remanescente após a divisão de n ser executada em number. Ambos n e number devem ser do tipo inteiro. Exemplo
|
NULLIF(number, value) | Retorna null se number for igual a value. NULLIF é comumente utilizado para prevenir erros divididos por zero configurando value para 0. Sempre que um cálculo encontra um valor de campo null em alguns dos seus parâmetros, o resultado do cálculo será null. Por exemplo, suponha que você precise calcular um campo duplo para ser TOTALPOP dividido por POP18. Se qualquer feição tiver um POP18 igual a zero, o cálculo resultará em um erro de divisão por zero. Você pode criar um filtro para ocultar registros onde POP18 é zero, e executar seu cálculo. Um atalho é utilizar NULLIF.
|
POWER(number , y) | Retorna o valor de number elevado à potência y especificada. |
ROUND(number , length) | Arredonda number para o comprimento especificado. Se length for um número positivo, o número é arredondado para a posição decimal especificada por length. Quando length é um número negativo, é arredondado no lado esquerdo do ponto decimal. Exemplos
|
SIN(number) | Retorna o seno trigonométrico de number, que é assumido para ser um ângulo em radianos. |
TAN(number) | Retorna a tangente de number, que é assumida para ser um ângulo em radianos. |
TRUNC(number, decimal_place) | Trunca number no decimal_place especificado. Um decimal_place positivo trunca para a posição decimal especificada. Quando decimal_place é um número negativo, é truncado no lado esquerdo do ponto decimal. Exemplos
|
Trabalhar com campos de data
Vários cálculos podem ser executados em campos de data. Por exemplo, você pode adicionar ou subtrair tempo de um campo de data ou calcular a diferença entre dois campos de data.
Funções de data
As seguintes funções de data estão disponíveis:
Função | Descrição |
---|---|
CURRENT_DATE | Retorna a data atual no horário UTC. |
CURRENT_DATE | Retorna a data e hora atuais de UTC (horas, minutos, segundos). |
CURRENT_DATE | Retorna a data e hora atuais de UTC (horas, minutos, segundos, milissegundos). |
EXTRACT(unit FROM 'date') | Retorna uma única parte de data/hora, tal como, ano, mês, dia, hora, minuto e assim por diante. Por exemplo
|
Calcular campos de data
Você pode utilizar qualquer combinação dos campos de número e data, e literais ao calcular campos de data. Quando tiver literais de data, você deverá utilizar formatos de data suportados pelo SQL.
Adicionar ou substrair tempo de uma data
Você pode desejar a adição de tempo ou substração de tempo de um campo de data ou um literal de data suportado pelo SQL para produzir um campo de data atualizado. Por exemplo, você pode calcular uma data de inspeção futura ou de revisão ao adicionar tempo para uma data.
Os cálculos seguintes podem ser utilizados para adicionar tempo ou para subtrair tempo de um campo de data. O primeiro utiliza campos de data e o segundo utiliza valores literais de data. Campos de número e literais de número também podem ser utilizados. Qualquer combinação de campos e literais é suportada, como mostrado no terceiro e quarto cálculos.<DateField> +/- <NumberField> = updated date
DATE'<SQL-supported Date Literal>' +/- <Number of Days> = updated date
<DateField> +/- <Number of Days> = updated date
DATE'<SQL-supported Date Literal >' +/- <NumberField> = updated date
O campo de data calculado é a data original mais ou menos o número de dias que você deseja adicionar ou subtrair. O número de dias pode ser um número inteiro e também pode incluir uma fração—por exemplo, 1.5 representaria um dia e meio ou 36 horas.
No seguinte exemplo, uma parte do maquinário foi instalado em 6/14/2016 às 10:00:00 AM. Você poderá utilizar um dos seguintes cálculos para produzir um data de inspeção um mês (30 dias) após esta data de instalação. O primeiro cálculo utiliza um campo de data com um valor de 6/14/2016 e um campo de número com um valor de 30, enquanto o segundo utiliza um literal de data e um literal de número.<MyDateField> + <MyNumberField> = 7/14/2016 10:00 AM
DATE'6/14/2016' + 30 = 7/14/2016 10:00 AM
Calcular a diferença entre duas datas
Você pode desejar o cálculo do comprimento de tempo entre duas datas. Por exemplo, se você tiver as datas de instalação para metros elétricos e você também tiver as datas de inspeção, você poderá calcular a diferença entre as duas datas para verificar se o comprimento de tempo entre a instalação e a inspeção caem dentro das diretrizes permitidas. O resultado do cálculo é um campo de número, ao invés de um campo de data.
Qualquer combinação dos campos de data e literais de data pode ser utilizada para calcular o comprimento de tempo entre duas datas. O primeiro cálculo abaixo utiliza um campo de data, enquanto o segundo utiliza um literal de data. O terceiro e quarto cálculos utilizam ambos um campo de data e um literal de data.<DateField1> - <DateField2> = number of days in between
DATE'<SQL-supported Date Literal>' - DATE'< SQL-supported Date Literal>' = number of days in between
<DateField1> - DATE'<SQL-supported Date Literal>' = number of days in between
DATE'<SQL-supported Date Literal>' - <DateField2> = number of days in between
O resultado é um campo de número que é calculado subtraindo um campo/literal de data de outro campo/literal de data. O resultado do número (em dias) pode ser um número inteiro e também pode incluir uma fração—por exemplo, 1.5 representaria um dia e meio ou 36 horas.
No exemplo da inspeção de metro elétrico mencionado acima, quaisquer dos seguintes cálculos podem ser utilizados para calcular o comprimento de tempo entre um data de instalação em 6/1/2015 e uma data de inspeção em 10/1/2015. O primeiro cálculo utiliza campos de data, o segundo utiliza literais de data, e o terceiro e quarto ambos utilizam um campo de data e um literal de data.<InspectionDateField> - <InstallationDateField> = 122 (days)
DATE'10/1/2015' - DATE'6/1/2015' = 122 (days)
<InspectionDateField> - DATE'6/1/2015' = 122 (days)
DATE'10/1/2015' - <InstallationDateField> = 122 (days)
Considerações para campos de data
As seguintes informações são importantes para considerar quando trabalhar com campos de data.
Alterar formato de visualização do campo de data
Você pode alterar como as datas são exibidas na tabela. As tabelas exibem a mesma formatação configurada em janelas pop-up. Você pode mudar o formato de visualização de um campo de data selecionando o nome alternativo do campo na janela Configurar Atributos das Propriedades do Pop-up.
Inserir datas no formato MM/DD/YYYY hh:mm:ss
Não importando como as datas são exibidas na tabela, você pode inserir somente datas no formato MM/DD/YYYY hh:mm:ss, incluídas em aspas únicas. Por exemplo, para configurar um campo de data para 5:00 PM em 27 de Maio, 2014, você digitaria '05/27/2014 05:00:00PM', '05/27/2014 5:00PM', ou '05/27/2014 17:00:00' (relógio de 24 horas). Não há suporte para armazenar somente hora—a hora deve sempre ser um componente de uma data.
As datas são armazenadas em UTC
Tempo Universal Coordenado (UTC abreviado) é quase equivalente ao tempo atual no meridiano principal da Terra (longitude de zero graus), localizado próximo de Greenwich, Inglaterra. UTC é uma versão mais precisa de GMT (Greenwich Mean Time). Campos de data em tabelas adicionadas aos seu portal como itens devem conter informações de fuso horário local ou estar em UTC. Se o campo de data contiver informações de fuso horário local, a hora local é convertida para UTC antes de ser armazenada no banco de dados. As datas são convertidas para UTC, pois o local físico do servidor que hospeda seus dados pode estar em qualquer lugar no mundo. A alternativa de armazenar data e hora em um fuso horário local leva a todos os tipos de problemas, especialmente se você, ou o servidor que hospeda seus dados, mover para outro fuso horário. Se informações de fuso horário local não forem fornecidas em tabelas adicionadas como itens, os campos de data devem estar em UTC.
Quando um campo de data for exibido no seu portal, a data é convertida de UTC para sus hora local. Isto é feito ao consultar seu computador e solicitar por sua configuração de fuso horário. Por exemplo, suponha que seu computador esteja configurado para Pacific Standard Time (PST). PST é oito horas antes de UTC—quando o horário UTC for 9:00 a.m, ele será 1:00 a.m. PST (ou 2:00 a.m. se estiver no horário de verão).
Qualquer data que você insirar em uma expressão de SQL é assumido para estar em UTC, nem o tempo em seu fuso horário atual. Esta suposição pode levar à confusão. Por exemplo, se você digitar '05/27/2014 05:00:00PM' utilizando um computador configurado para PST, ele aparecerá como 5/27/2014 9:00 AM devido à conversão de tempo descrita acima.
Para responder pela conversão de UTC para seu fuso horário local, aqui estão algumas dicas:
- Se você precisar inserir sua data e hora atual, utilize uma das funções de tempo abaixo, já que estas funções sempre retornam UTC.
- Se você estiver inserindo uma data sem um componente de tempo, adicione 12 horas para a data. Por exemplo, ao invés de inserir '5/27/2014', digite '5/27/2014 12:00PM' ou '5/27/2014 12:00'. A razão deste deslocamento ser necessário é que quando uma data é inserida sem um componente de tempo, é inserida como meia noite nesta data (5/27/2014 é convertido para 5/27/2014 00:00:00), e quando é exibida no fuso horário local, as horas são adicionadas ou subtraídas. Por exemplo, se você estiver em PST e digitar 5/27/2014, ela aparecerá como 5/26/2014 (sete horas subtraídas da meia-noite em 27°).
- Se você estiver inserindo uma data com um componente de tempo, aplique seu deslocamento de fuso horário na hora. Por exemplo, se você precisar digitar 5/27/2014 12PM PST, aplique a diferença de 8 horas e insira '5/27/2014 8:00PM'. Para localizar seu deslocamento de fuso horário, você pode procurar na web utilizando uma frase de pesquisa, tal como calculadora de diferença do horário UTC.
- Para visualizar o conteúdo do seu campo de data em UTC, você pode adicionar um campo de string na sua tabela e calculá-lo para ser igual ao seu campo de data. A data será convertida em uma string sem o deslocamento de fuso horário. Esta string também conterá milissegundos.
Restrições
- Adicionar Campo, Excluir e Calcular estão disponíveis somente para camadas de feição ou tabelas hospedadas.
- Adicionar Campo, Excluir e Calcular não estão disponíveis para cópias de camadas ou para camadas de feição hospedadas que têm camadas de mosaico relacionadas.
- Adicionar Campo e Excluir não estão disponíveis para visualizações da camada de feição hospedada.
- Excluir e Calcular não estão disponíveis para camadas de feição spatiotemporal hospedadas.
- Adicionar Campo, Excluir, e Calcular não estão disponíveis para visualizações criadas a partir de feição camadas spatiotemporal hospedadas.
- Excluir não está disponível para o campo OBJECTID ou campos utilizados para simbologia, controle deslizante de tempo, filtro, rótulos ou rastreamento do editor. Porém, esteja ciente que outros mapas podem estar utilizando campos para simbologia e filtros que são diferentes dos campos que seu mapa utiliza e a opção Excluir está disponível para estes campos. Exercite a precaução ao excluir os campos que podem ser utilizados para simbologia e filtros em outros mapas.
- Quando você adicionar um campo a uma camada de feição hospedada que tenha visualizações da camada de feição hospedada dependentes, você deverá atualizar a definição de cada visualização na qual deseja que apareçam os novos campos.
- Calcular é somente suportado para string, inteiro, duplo ou campos de tipo de data.
- Somente consultas padronizadas de SQL são suportadas ao calcular.
- Os cálculos de campo não podem ser desfeitos.