QGIS: subtipos e domínios como no ArcGIS?

8

Existe uma oportunidade de usar subtipos e domínios no QGIS (Desktop 1.8.0), como é usado no ArcGIS?

Estou especificamente interessado na possibilidade de dependências entre subtipos e domínios: não apenas um intervalo ou valores codificados para um campo são necessários, mas também valores correspondentes.

Por exemplo: um subtipo define classes válidas de categorias de uso da terra, como

01 - wood
02 - grassland
03 - urbanization
04 - ...

Associado ao subtipo, existem vários domínios que descrevem a condição / valor de cada categoria, como

wood1 - deforestation 
wood2 - conifer forest

grass1 - pasture
grass2 - hayfield
grass3 - grass
grass4 - ...
Mira
fonte

Respostas:

2

Se você usar um back-end de banco de dados que suporte domínios, como o Postgresql, poderá definir um domínio em um campo. No entanto, o QGIS ainda não reconhece domínios. Ao criar ou editar recursos, você pode tentar colocar algo nesse campo, não há caixas de depósito como nos produtos da ESRI. Se os valores violarem a restrição do domínio, você receberá um erro ao tentar salvar suas edições e a transação não será confirmada.

Edit: Eu testei isso com QGIS 1.8 e PostgreSQL 9.1.6

Edit: Eva, sim. Eles não são automáticos, mas se você usar tabelas de pesquisa para armazenar seus valores e descrições, poderá usar chaves estrangeiras no banco de dados para manter a integridade no back-end. Em seguida, no seu documento QGIS, leve essa tabela para o seu índice. Para a sua camada, vá para a guia campos na página de propriedades. Use o widget Relação de Valor, selecione a tabela de pesquisa como a camada e os campos de código e descrição e agora a descrição aparecerá em uma lista suspensa quando você criar ou editar um recurso e a chave será armazenada no banco de dados. Isso está usando o QGIS 2.18.

HeyOverThere
fonte
1
Obrigado. Eu usei essa função de domínio no qgis e funcionou bem. Mas também é possível depositar uma relação entre dois atributos? por exemplo, quando eu escolho "madeira" para o primeiro campo (subtipo no ArcGIS), o segundo campo aceita apenas "desmatamento" ou "floresta de coníferas" (domínio para o subtipo "madeira"). Quando o primeiro atributo é "pastagem", existe apenas "pastagem", "campo de feno" ou "grama" para selecionar.
11117 Mira
Eu olhei para isso, mas todos os exemplos que encontro exigem que você crie uma nova tabela. Eu tenho uma tabela existente com dados, para a qual gostaria de ter domínios. IE: Na tabela 1, existem 3 tipos de dados armazenados como Inteiro (1: Árvore, 2: Rocha, 3: Lagoa). Com essa configuração, o usuário vê o número inteiro, mas eu gostaria de ter um domínio para que ele veja a versão em texto. Como você configuraria isso com o Postgres e o QGIS?
Ryan Garnett
1
Crie uma tabela de pesquisa que converta o valor inteiro em texto, junte os dois em uma exibição e exiba a exibição no QGIS. Ao criar a visualização, você precisará incluir um campo que tenha um valor inteiro exclusivo para cada linha, caso contrário o QGIS não o exibirá.
HeyOverThere
1
Existem novas descobertas para isso nos últimos 5 anos?
Eva Großmann
Tente usar um widget de edição de campo. Acredito que os widgets Value Relation e Relation Reference serão mais úteis para sua situação. gis.stackexchange.com/questions/156039/… Observe que essas configurações são armazenadas no estilo da camada.
CSK