Outdated documentation
The latest documentation was moved to docs.qfield.org
QField cria formulários semelhantes, mas não é igual ao QGIS.
A configuração «suprimir formulário do atributo» é aplicada diretamente no formulário QField.
Os widgets de campo a partir do QGIS são suportados no melhor esforço básico.
Tipo de widget | Suporte | Notas |
---|---|---|
Editar Texto | ✔ |
|
Caixa de Seleção | ✔ | |
Mapa de Valores | ✔ | |
Escondido | ✔ | |
Anexo | ✔ | Este campo é combinado com a integração da câmera. É também possível abrir outros ficheiros como pdf e doc (se o utilizador tiver o visualizador apropriado) Anexar (configurações da foto) |
Data Tempo | ✔ | |
Referência de Relações | ✔ | |
Widget de Relação | ✔ | |
Relação de Valor | ✔ | |
Outros | ✘ | Financiamento |
Para obter mais informações, consulte o capítulo de relações da documentação oficial QGIS.
O widget de relação mostra todos os elementos fihos de referência numa lista. É possível adicionar, excluir e abri-las.
A identificação visual das entradas da lista é feita com uma «Exibir Expressão» na camada filha.
Manuseamento de chaves
Como as chaves primárias dos pais são usadas como chaves estrangeiras nos elementos filhos de referência, essas chaves primárias devem ser guardadas para uso mesmo após a sincronização com os dados originais. Portanto, recomendamos o uso de valores estáveis, como UUIDs, para chaves primárias.
É possível adicionar ligações filhas de uma referência pai que está prestes a ser adicionado. Essa possibilidade será bloqueada se não houver chave primária válida no pai ou as restrições forem violadas. Caso a adição do elemento pai seja cancelada depois de alguns elementos filhos já tiverem sido adicionados, os filhos também serão excluídos.
Relações muitos-para-muitos
Nas relações de muitos para muitos, de acordo com a configuração de cardinalidade nas Propriedades da camada vetorial QGIS, a adição, exclusão ou abertura de uma entrada na lista afeta diretamente a camada filho (na cardinalidade direta) ou a tabela de vinculação (em muitas para uma cardinalidade).
O segundo caso é geralmente usado quando há informações adicionais de relação (por exemplo, porcentagem) na tabela de vinculação.
No caso da cardinalidade muitos-para-um nas relações muitos-para-muitos, a Expressão de exibição precisa ser definida na tabela de vinculação.
O tipo de widget «Anexo» é usado com campos para armazenar o caminho dos ficheiros.
Pode ser usado para:
O caminho deve ser definido como relativo. Significa que as imagens são armazenadas num subdiretório do projeto, para onde o link armazenado no campo de texto está a encaminhar.
No QField, a imagem é exibida. Ao clicar no símbolo da câmera, a câmera é iniciada para atualizar a imagem com uma nova foto.
Na sincronização, o subdiretório com as imagens, pdf e documentos também deve ser copiado.
A opção «hiperligação» no widget de Anexo será desativada na funcionalidade da câmera e ativa na hiperligação para abrir o documento (pdf, doc, …).
O widget «Relação de Valor» oferece valores de uma tabela relacionada de uma lista de opções. Pode selecionar a camada, chave da coluna e valor da coluna. Várias opções estão disponíveis para mudar os comportamentos padrão: permitir valores nulos, ordernar por valor, permitir múltipla escolha. O widget irá exibir uma lista simples ou ums lista de múltipla seleção com os elementos referenciados.
Grupos e separadores a partir do designer de formulários Arrastar e Largar são suportados.
Grupos podem ser ocultos com base numa expressão. Isso é útil quando determinados atributos são necessários apenas sob determinadas condições. Como por exemplo, o mapeamento de árvores. Algumas delas podem ter uma doença e tem uma lista de possíveis doenças. Para não desorganizar o formulário com muitos campos, crie um grupo e configure uma expressão de visibilidade para um grupo «doenças». Adicione um campo «doença» com uma caixa de selecção. Somente quando a caixa de selecção estiver marcada, a lista de doenças estará disponível para o utilizador.
Vamos ver o que temos no campo:
Os campos dos atributos podem ter restrições anexadas. Restrições são expressões que precisam ser avaliadas para: code: Verdadeiro (ou: code:` 1`) para poder guardar o formulário. As restrições são configuradas numa pré-definição por campo e uma descrição pode ser adicionada e que será mostrada ao utilizador se uma restrição não for satisfeita.
Não pode introduzir um valor de elevação maior que a montanha mais alta deste país.
"elevation" < 5000
É necessário preenchê-lo com um identificador.
"identifier" IS NOT NULL
Os campos podem ter valores pré-definidos configurados. Os valores pré-definidos são inseridos no formulário do atributo quando se digitaliza um novo elemento. Eles são visíveis ao utilizador e podem ser modificados desde que o campo possa ser editado. Eles podem basear-se na geometria ou nas variáveis de expressão.
Para obter mais informações sobre o armazenamento de informações relacionadas à sua posição nos atributos do objeto, consulte a Documentação GNSS.
Inserir informação de posicionamento como variável:
@position_horizontal_accuracy
Iserir a data e hora actual:
now()
Inserir o comprimento da linha digitalizada:
length($geometry)
Configurar as variáveis globais no dispositivo e inseri-las.
@operator_name
Se quer atribuir um código de região baseado na localização onde o novo elemento é inserido, pode-o fazer usando a expressão de agregação:
aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
Para transformar as coordenadas recebidas da variável @position_coordinate para o sistema de coordenadas do seu projeto:
x(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
Se deseja usar os resultados de snapping após desenhar uma linha, pode usar a variável @snapping_results. O seguinte código extrai o valor do atributo ìd` de snapping coincidente com o primeiro ponto da linha.
with_variable(
'first_snapped_point',
array_first( @snapping_results ),
attribute(
get_feature_by_id(
@first_snapped_point['layer'],
@first_snapped_point['feature_id']
),
'id'
)
)
O parâmetro editável dos campos é respeitado.
QField oferece um controlo muito mais minucioso sobre os últimos valores usados e ignora a definição do QGIS.
Para «Usar auto-preenchimento», a caixa de verificação tem de estar ativa para ser possível o auto-preenchimento na relação de valor.
Aqui está um vídeo demonstrando como funciona no QField Pesquisar na lista de valores.