O construtor de consultas é usado nas ferramentas Localizar por Atributos e Localização e Filtrar por Atributos para criar expressões que atendem aos critérios especificados.
Construindo uma consulta
Para criar uma consulta, clique em Criar nova consulta no painel de ferramentas ou na caixa de diálogo de ferramentas.
Para começar, selecione a camada na qual você deseja encontrar feições. Para Localizar por Atributos e Localização, isso pode ser feito no construtor de consultas. Para Filtrar por Atributos, o parâmetro de dados de entrada deve ser preenchido antes que a consulta possa ser criada.
Em seguida, escolha se deseja começar com uma expressão de atributo, expressão espacial (somente Localizar por Atributos e Localização) ou grupo de expressões.
Se a consulta tiver mais de uma expressão, você deverá escolher uma das seguintes opções de correspondência para conectar as expressões:
- Todas as opções a seguir são verdadeiras (padrão)—Somente as feições que correspondem a todas as expressões são retornadas. Esta opção é equivalente a uma cláusula AND.
- Uma das seguintes opções é verdadeira—As feeicoes que correspondem a qualquer uma das expressões são retornadas. Esta opção é equivalente a uma cláusula OR.
Expressões de atributo
Cada consulta de atributo inclui um nome de campo, um operador e um valor.
Por exemplo, você pode criar uma consulta em uma camada contendo os dados de incidentes criminais de uma cidade (roubos, incêndios criminosos, assaltos e assim por diante) para mostrar apenas os incidentes de roubo. Crie uma expressão de atributo da seguinte maneira:
- Para o nome do campo, escolha Tipo de Crime.
- Para o operador, escolha igual a.
- Para o valor, escreva ou selecione Roubo.
Anotação:
Campos com valores nulos serão excluídos de todos os resultados da consulta, exceto quando estiverem em branco for escolhido como operador.
Na maioria dos casos, o construtor de consultas inclui uma lista de valores de campo disponíveis para ajudar a construir uma expressão precisa. A lista não estará disponível para Filtrar por Atributos se o conjunto de dados de entrada for uma saída de outra ferramenta. Você deve digitar o valor exato na caixa de entrada, em vez de escolher o valor de uma lista.
Expressões espaciais
Cada expressão espacial inclui um operador e uma segunda camada. Abaixo da segunda camada, você pode usar o botão +Expressão para adicionar uma expressão para refinar ainda mais as feições da segunda camada que serão usadas na expressão espacial original.
Por exemplo, com outra camada representando padarias, você pode refinar ainda mais a consulta de atributos para procurar roubos que ocorreram a 100 metros de uma loja de donuts. Adicione uma expressão espacial, como a seguir:
- Para o operador, escolha A uma distância de e insira 100 metros.
- Para a camada, escolha a camada de padarias.
- Clique no botão + Expressão e escolha Expressão de atributo.
- No grupo de instruções Where, escolha Tipo de Loja para o nome do campo, deixe o operador igual a e escreva ou selecione Lojas de donuts como o valor.
Grupo de expressões
Para criar uma consulta mais complexa, você pode usar grupos de expressão para agrupar várias expressões. A maneira como você agrupa as expressões determina o que você está encontrando. Você pode criar até três níveis de agrupamento.
Por exemplo, você pode usar grupos de expressões para refinar ainda mais o filtro de incidentes criminais descrito acima. Para mostrar incêndios criminosos e incidentes de roubo relatados a uma distância de 100 metros de uma loja de donuts, você pode criar um grupo de expressão para encontrar incêndios criminosos ou incidentes de roubo. Dentro desse grupo, use a opção Uma das seguintes é verdadeira. Depois, fora do grupo, adicione uma expressão espacial para encontrar feições dentro de um raio de 100 metros das lojas de donuts.
Operadores
Localizar por Atributos e Localização usa operadores para consultas de atributos e espaciais, enquanto Filtrar por Atributos usa operadores somente para consultas de atributos.
Operadores de atributo
Há vários operadores que você pode usar para uma consulta de atributo, dependendo se o campo que você está consultando é categórico ou numérico.
Se o campo for uma string, você pode usar os seguintes operadores:
- igual—Strings que correspondem ao texto especificado.
- não é igual—Strings que não correspondem ao texto especificado.
- é um membro de—Strings que correspondem a um dos valores do texto especificado.
- não é um membro de—Strings que não correspondem a nenhum dos valores do texto especificado.
- contém—Strings que possuem o texto fornecido.
- não contém—Strings que não possuem o texto fornecido.
- inicia com—Strings que começam com o texto especificado.
- não inicia com—Strings que não começam com o texto especificado.
- finaliza com—Strings que terminam com o texto especificado.
- não finaliza com—Strings que não terminam com o texto especificado.
- está em branco—Strings que não têm texto e não são nulas.
- não está em branco—Strings que não têm nenhum texto e não são nulas.
- é string vazia—Strings que são nulas ou sem texto.
- não é string vazia—Strings que têm algum texto ou são nulas.
Se o campo for numérico, você pode usar os seguintes operadores:
- está entre—Números que estão entre os dois valores especificados. Os valores delimitadores são incluídos nos resultados.
- não está entre—Números que não estão entre os dois valores especificados. Os valores delimitadores não são incluídos nos resultados.
- igual—Números que correspondem ao valor especificado.
- não é igual—Números que não correspondem ao valor especificado.
- é um membro de—Números que correspondem a um dos valores especificados.
- não é um membro de—Números que não correspondem a nenhum dos valores especificados.
- é melhor que—Números maiores que o valor especificado.
- é pelo menos—Números iguais ou maiores que o valor especificado.
- é menor do que—Números que são menores que o valor especificado.
- é no máximo—Números menores ou iguais ao valor especificado.
- está em branco—Números que correspondem ao valor especificado.
- não está em branco—Números que têm algum valor.
Se o campo for uma data, você pode usar os seguintes operadores:
- está entre—Datas que estão entre duas datas especificadas. Os valores delimitadores são incluídos nos resultados.
- não está entre—Datas que não estão entre duas datas especificadas. Os valores delimitadores não são incluídos nos resultados.
- está em—Datas que são iguais a uma data especificada.
- não está em—Datas que não são iguais a uma data especificada.
- está entre—Datas anteriores a uma data especificada.
- está após—Datas posteriores a uma data especificada.
- está em branco—Datas que são nulas.
- não está em branco—Datas que não são nulas.
Operadores espaciais
Expressões espaciais são criadas especificando operadores como completamente dentro ou intersecciona.
Você pode usar os seguintes operadores espaciais em uma consulta espacial:
- Intersecciona—Se uma feição na primeira camada interseccionar uma feição na segunda camada, a feição na primeira camada será incluída na saída.
- Não intersecciona—Se uma feição na primeira camada interseccionar uma feição na segunda camada, a feição na primeira camada será excluída da saída.
- A uma distância de—Uma feição na primeira camada é selecionada (incluída na saída) se qualquer parte dela estiver dentro da distância especificada de uma feição na segunda camada; por exemplo, lotes dentro de 100 metros de um rio serão incluídos na saída.
- Não dentro de uma distância de—Uma feição na primeira camada é excluída (não incluída na saída) se estiver dentro de uma distância de outra feição; por exemplo, lotes dentro de 100 metros de um rio não serão incluídos na saída. Você pode pensar nessa relação como o recurso está mais longe do que a distância especificada.
- Contém completamente—Se uma feição na primeira camada contiver completamente uma feição na segunda camada, a feição na primeira camada será incluída na saída.
- Não contém completamente—Se uma feição na primeira camada contiver completamente uma feição na segunda camada, a feição na primeira camada será excluída da saída.
- Completamente dentro—Se uma feição na primeira camada estiver completamente dentro de uma feição na segunda camada, a feição na primeira camada será incluída na saída.
- Não completamente dentro—Se uma feição na primeira camada estiver completamente dentro de uma feição na segunda camada, a feição na primeira camada será excluída da saída.
- Mais Próximo de—Se uma feição na primeira camada estiver mais próxima de uma feição na segunda camada, a feição na primeira camada será incluída na saída.
Correção de Erros
Alterações em um conjunto de dados podem fazer com que uma expressão anteriormente válida se torne inválida. Exemplos de alterações que podem fazer com que uma expressão se torne inválida incluem a exclusão ou alteração do tipo de campo usado na expressão ou a alteração da geometria de um conjunto de dados usado em uma expressão espacial. Expressões inválidas não serão exibidas no construtor de consultas quando ele for reaberto.