Uso muito as Consultas de definição em minha vida diária no GIS, mas uma das muitas coisas que achei irritantes sobre o ArcMap é a incapacidade de comentar as Consultas de definição. Eu gostaria de ter essa opção, pois às vezes eu quero ativar / desativar a Consulta de Definição ou quero ter várias Consultas em um único Shapefile, mas apenas uma ativa por vez.
Até agora, para contornar isso, normalmente só tenho um documento em bloco de notas em segundo plano e copio e colo conforme necessário. Mas a solução ideal seria usar a guia de consulta de definição nas propriedades da camada para substituir este documento. Eu posso ter várias consultas diferentes em uma camada, mas todas comentadas.
Pelo que entendi, as consultas de definição são escritas em SQL. Para comentar no SQL, acredito que você inicia uma linha com: - ou engloba uma instrução entre colchetes: {} . Eu tentei os dois:
Original: "DATA_AQUISITION" LIKE 'MISSING XSECTION'
Dashes: --"DATA_AQUISITION" LIKE 'MISSING XSECTION'
Brackets: {"DATA_AQUISITION" LIKE 'MISSING XSECTION'}
As duas últimas instruções retornam um erro de expressão SQL e não desenham no ArcMap. Não estou procurando uma solução de programação, pois isso seria muito trabalho.
fonte
"OBJECTID" <> -1 OR "DATA_AQUISITION" LIKE 'MISSING XSECTION'
Essa é uma ótima solução, mas estou procurando por algo que pareça mais um comentário real. Algo que pode ser feito em todos os idiomas do código, onde você tem várias opções de consulta em linhas diferentes e todas, exceto uma, são comentadas. Se não for possível, que assim seja, mas acredito que seria uma ótima opção.Respostas:
Apenas um palpite, mas a razão pela qual o comentário não funciona é provavelmente porque uma consulta de definição é apenas a parte da cláusula WHERE de uma instrução SQL maior construída internamente pelo ArcGIS sempre que precisar consultar o banco de dados subjacente, por exemplo, para desenhar a camada . Quando você adiciona os caracteres de comentário, o ArcGIS ainda adiciona a cláusula WHERE e os malucos do banco de dados subjacentes porque não é um SQL válido.
Na caixa de diálogo Query Builder, existem botões para carregar e salvar. Salvar cria um arquivo .exp que você pode carregar novamente com o botão Carregar. São mais alguns cliques do que você provavelmente está procurando, mas é algo.
fonte
SELECT * FROM table WHERE
não é válido SQL é o que eu estava chegando. Tem que haver algo após a palavra-chave WHERE, ou a palavra-chave WHERE precisa não estar lá. O ArcGIS provavelmente adiciona WHERE se houver alguma coisa na Consulta de Definição.SELECT * FROM table WHERE "OBJECTID" <> -1 --"DATA_AQUISITION" LIKE 'MISSING XSECTION'
eSELECT * FROM table WHERE "OBJECTID" <> -1 {"DATA_AQUISITION" LIKE 'MISSING XSECTION'}
ambos resultam nos mesmos erros. Tem algo seguindo oWHERE
, mas ainda não pode lidar com os comentários.1 = 1 /*"DATA_AQUISITION" LIKE 'MISSING XSECTION'*/
. Trabalhou para mim no Oracle. A1 = 1
peça é necessária, usar apenas o comentário não funciona (erro de Expressão ausente).O comentário do bloco / .. / parece funcionar desde que você tenha algo em sua consulta de definição. Se você comentar tudo, precisará colocar 1 = 1 antes das linhas comentadas
Exemplos:
Todos comentaram:
1 não comentado, 2 comentado:
2 não comentados, 1 comentou:
Basta mover o "/ " e " /".
fonte
XTools pro, um complemento não ESRI possui um recurso que permite ativar / desativar uma consulta de definição em uma camada. Muito útil.
Você também pode copiar / colar sua consulta de definição na guia "Geral" das propriedades da camada. Existe uma janela para "Descrição" que geralmente não é usada. Costumo copiar / colar minhas consultas de definição quando preciso desativá-las. Existem salvos no documento
fonte