Skip to content
franciscocamellon edited this page Oct 27, 2020 · 119 revisions

Manual do DSGTools em PDF (v3.0.8)

Manual do DSGTools em PDF (v3.1)

Manual do DSGTools em PDF (v3.2)

Versão em PDF do manual da versão em desenvolvimento (v4.0dev)

API do DSGTools (para desenvolvedores)

Alterações da versão 4.1

Entre uma série de mudanças de versões do QGIS, o DSGTools se modernizou e acompanhou as atualizações do software por meio de correções de bugs, melhorias de desempenho e experiência de usuário além de algumas novas ferramentas.

O DSGTools 4.1 é desenvolvido para a versão LTR atual do QGIS, a QGIS 3.10.6 - A Coruña, embora funcione com outras versões do QGIS.

Lançamentos

Caixa de Ferramentas de Classificação

Também redesenhada, a Caixa de Ferramentas de Classificação agora pode ser usada genericamente para quaisquer camadas vetoriais suportadas e carregadas no QGIS. Caso a camada possua mapa de valor atribuído a seus atributos, estes serão refletidos pelas interfaces da ferramenta.

gif de exemplo de funcionamento

Além da manutenção de algoritmos já existentes, foram adicionados alguns outros, conforme apresentados a seguir.

Obs.: o algoritmo Identify Contour Line Out of Threshold foi removido, uma vez que será englobado por outro processo, o Identify Terrain Model Errors (Identificar erros de modelagem do terreno).

Obs. 2: o algoritmo Topological Douglas Peucker Simplification foi renomeado para Topological Douglas Peucker Area Simplification uma vez que era exclusivo para camadas de polígonos.

Algoritmos de validação

1. Build polygons from center points and boundaries

Nome traduzido proposto: Construir polígonos a partir de limites e centroides

Algoritmo criado para que se possam gerar polígonos a partir de camadas do tipo linha que definam os limites de cada polígono e centroides, que possuem seus atributos. Ao se reconstruir os polígonos a partir dos limites, associa-se espacialmente os centroides dentro de cada polígono gerado para, então, definir os atributos do novo polígono.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Center Point Layer Camada vetorial Não Camada de pontos que irão ser utilizadas como centroides das áreas formadas e que possuem os atributos dos polígonos formados.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas das camadas de entrada.
Fields to ignore Lista de atributos Sim Atributos da camada de centroides que serão ignorados ao se definir os atributos do polígono gerado.
Line Contraint Layers Lista de camadas vetoriais Sim Camadas do tipo linha que terão suas feições utilizadas como fronteiras para os polígonos formados.
Polygon Contraint Layers Lista de camadas vetoriais Sim Camadas do tipo polígono que terão as bordas de suas feições utilizadas como fronteiras para os polígonos formados, tal qual as linhas limitantes.
Geographic Boundary Camadas vetorial Sim Fronteira geográfica da região (moldura), que também servirão como limitantes dos novos polígonos.
Ouput Polygons Camadas vetorial Sim Camada de saída que conterá os polígonos gerados.

2. Enforce spatial rules

Nome traduzido proposto: Aplicar regras espaciais

Este algoritmo provê uma interface de modo que o usuário consiga verificar se uma coleção de camadas respeita um conjunto de regras espaciais (e.g. feições da Camada A intersecta 1 ou mais feições da Camada B). Neste algoritmo, pode-se verificar, por exemplo, se as camadas de um banco ET-EDGV seguem as regras de relacionamento espacial proposta pela ET-ADGV.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Spatial Rules Set Real Não Tabela de criação de regras. Cada linha é uma regra espacial que será aplicada.
Spatial Rules Set (Rule name) Text Não Coluna que apresenta um nome amigável que representa a regra espacial aplicada. Não podem haver mais de uma regra com um mesmo nome.
Spatial Rules Set (Layer A) Camada vetorial Não Camada referência sob a qual será aplicado predicado espacial selecionado.
Spatial Rules Set (Filter A) Text Sim Filtro de feições aplicado na camada A, de modo a restringir as feições que serão utilizadas na regra espacial.
Spatial Rules Set (Predicate) Lista de opções Não Coluna que apresenta um nome amigável que representa a regra espacial aplicada.
Spatial Rules Set (Layer B) Text Não Camada que será relacionada à camada referência quando aplicado o predicado espacial selecionado (pode ser a mesma camada que A).
Spatial Rules Set (Filter B) Text Sim Filtro de feições aplicado na camada B, de modo a restringir as feições que serão utilizadas na regra espacial.
Spatial Rules Set (Cardinality) Text Sim Representa a multiplicade dos eventos observados ao se utilizar o predicado selecionado entre feições de A e B. Segue o padrão "Nmin..Nmax", onde "Nmin" é o número de mínimo de feições de B que se relacionam com uma feição de A, e "Nmax", o máximo de feições de B. Por default, é "1..*", em que "*" indica "qualquer valor" (e.g. leia-se 1 ou mais, neste caso).
Point Flags Camada Vetorial Sim Camada que receberá as flags de primitiva do tipo ponto observada por quaisquer das regras preenchidas.
Linestring Flags Camada Vetorial Sim Camada que receberá as flags de primitiva do tipo linha observada por quaisquer das regras preenchidas.
Polygon Flags Camada Vetorial Sim Camada que receberá as flags de primitiva do tipo polígono observada por quaisquer das regras preenchidas.

3. Identify Angles in Invalid Range

Nome traduzido proposto: Identificar ângulos em um intervalo inválido

Identifica os vértices de feições de camadas de primtiva do tipo linha ou polígono que formam ângulos fora dos limites. Este ângulo é o menor dos ângulos (interno) formados por duas arestas consecutivas.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Input layer Camada vetorial Não Camada do tipo linha ou polígono que será verificada por vértices que formam ângulos fora dos limites.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas da camada de entrada.
Minimum angle Inteiro Não Valor mínimo tolerável para o ângulo formado por duas arestas consecutivas de uma mesma feição da camada de entrada.
Maximum angle Inteiro Não Valor máximo tolerável para o ângulo formado por duas arestas consecutivas de uma mesma feição da camada de entrada.
Identify Angles in Invalid Range Flags Camada Vetorial Sim Camada de pontos que apontam os vértices que formam ângulos fora dos limites.

4. Identify Terrain Model Errors Algorithm

Nome traduzido proposto: Identificar de Erros na Modelagem do Terreno

Identifica erros de construção dos elementos do terreno, segundo a Lei do Modelado. Neste algoritmo, os seguintes aspectos são verificados:

  • curvas de nível abertas que não tocam a moldura ("se encerram" no limite geográfico da região);
  • intersecção de curvas de nível;
  • curvas de nível que se tocam e possuem valores de cotas distintos; e
  • curvas de nível consecutivas que não respeitam a equidistância esperada.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Input layer Camada vetorial Não Camada do tipo linha que representam as curvas de nivel de uma região.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas da camada de entrada.
Contour value field Atributo Não Atributo que possui as informações de valor de cota da curva de nível (camada de entrada).
Threshold Inteiro Não Medida de equidistância das curvas de nível que deve ser verificada.
Geographic bounds layer Camada vetorial Não Camada do tipo polígono que representa os limites geográficos da região tratada (moldura).
Identify Terrain Model Errors Algorithm Point Flags Camada Vetorial Sim Camada que receberá as flags de primitiva do tipo ponto observadas.
Identify Terrain Model Errors Algorithm Line Flags Camada Vetorial Sim Camada que receberá as flags de primitiva do tipo linha observadas.

5. Identify unshared vertex on intersections

Nome traduzido proposto: Identificar vértice não compartilhado em interseções

Este algoritmo considera que as interseções entre feições da mesma camada e de camadas diferentes exigem a presença de um vértice para cada uma delas. Assim, identifica como flag as interseções entre duas feições que não possuem um vértice compartilhado por ambas as feições.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Linestring Layers Lista de camadas vetoriais Sim Camadas do tipo ponto que serão verificadas por nós não compartilhados em interseções, inclusive entre feições de camadas distintas selecionadas.
Polygon Layers Lista de camadas vetoriais Sim Camadas do tipo polígono que serão verificadas por nós não compartilhados em interseções, inclusive entre feições de camadas distintas selecionadas.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas das camadas de entrada.
Search radius Real Não Distância máxima que se considera um nó próximo o suficiente de uma aresta de modo a considerá-lo "dividido" pelas feições.

6. Identify unshared vertex on shared edges

Nome traduzido proposto: Identificar vértice não compartilhado em arestas

Similarmente ao Identify unshared vertex on intersections, identifica que para feições que compartilhem uma aresta(tanto em uma mesma camada quanto em camadas diferentes), estas devem obrigatoriamente, compartilhar os vértices. Flags são apontadas nos vértices de arestas compartilhadas que não pertençam a todas as feições que compartilhem esta aresta.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Linestring Layers Lista de camadas vetoriais Sim Camadas do tipo ponto que serão verificadas por nós não compartilhados em interseções, inclusive entre feições de camadas distintas selecionadas.
Polygon Layers Lista de camadas vetoriais Sim Camadas do tipo polígono que serão verificadas por nós não compartilhados em interseções, inclusive entre feições de camadas distintas selecionadas.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas das camadas de entrada.

7. Identify vertex near edges

Nome traduzido proposto: Identificar vértices próximos a arestas

Algoritmo que busca identificar vértices de um mesmo polígono que estejam próximo a uma aresta do próprio polígono. Assim, situações em que o polígono "afina" demais são detectadas, por exemplo.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Input layer Camada vetorial Não Camada de linhas ou polígonos que terá os nós de suas feições avaliados.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas da camada de entrada.
Search radius Real Não Distância máxima para que se considere o nó de uma feição muito próximo a uma aresta desta mesma feição.
Identify Vertex Near Edges Flags Real Não Camada vetorial que receberá as flags apontadas pelo algoritmo.

8. Douglas Peucker simplification for lines

Nome traduzido proposto: Simplificação de Douglas Peucker para linhas

Aplicação do algoritmo de simplificação de geometrias de Douglas Peucker para camadas do tipo linha.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Input Layers Camada vetorial Não Camada, ou camadas de linhas, as quais serão simplificadas pelo algoritmo de Douglas Peucker.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas da camada de entrada.
Douglas Peucker Threshold Real Não Corda do algoritmo Douglas Peucker dada em unidades do mapa. Para projeções geográficas é dada em graus decimais.
Snap Radius Real Não Raio de atração de vértices é dado em unidades do mapa. Para projeções geográficas é dada em graus decimais.
Topological Douglas Peucker Line Simplification Flags Camada vetorial Sim Camada vetorial que receberá as flags apontadas pelo algoritmo.

9. Douglas Peucker simplification for areas

Nome traduzido proposto: Simplificação de Douglas Peucker para áreas

Aplicação do algoritmo de simplificação de geometrias de Douglas Peucker para camadas do tipo área.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Input Layers Camada vetorial Não Camada, ou camadas de áreas, as quais serão simplificadas pelo algoritmo de Douglas Peucker.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas da camada de entrada.
Douglas Peucker Threshold Real Não Corda do algoritmo Douglas Peucker dada em unidades do mapa. Para projeções geográficas é dada em graus decimais.
Snap Radius Real Não Raio de atração de vértices é dado em unidades do mapa. Para projeções geográficas é dada em graus decimais.
Minimum area
Topological Douglas Peucker Line Simplification Flags Camada vetorial Sim Camada vetorial que receberá as flags apontadas pelo algoritmo.

10. Unbuild polygons

Nome traduzido proposto: Desconstruir polígonos

Este algoritmo desconstrói polígonos, transformando-o em um conjunto de linhas, equivalentes aos seus limites, e tem seus atributos expostos em uma camada de pontos (centorides). Assim, é o equivalente a uma "operação inversa" do que executa o algoritmo Build polygons from center points and boundaries.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Polygon layers Lista de camadas vetoriais Não Camadas de polígono que serão desconstruídos para centroides e linhas. Arestas compartilhadas, mesmo entre feições de camadas distintas, não serão duplicadas.
Process only selected features Booleano Não Indica se serão processadas apenas feições selecionadas das camadas de entradas.
Line Contraint Layers Lista de camadas vetoriais Sim Camadas do tipo linha que terão suas feições utilizadas como fronteiras para os polígonos desconstruídos.
Polygon Contraint Layers Lista de camadas vetoriais Sim Camadas do tipo polígono que terão as bordas de suas feições utilizadas como fronteiras para os polígonos desconstruídos, tal qual as linhas limitantes.
Geographic Boundary Camadas vetorial Sim Fronteira geográfica da região (moldura), que também servirão como limitantes dos novos polígonos.
Ouput Center Points Camadas vetorial Sim Camada de saída que conterá os centroides gerados com os atributos dos polígonos desconstruídos.
Ouput Boundaries Camadas vetorial Sim Camada de saída que conterá os limites dos polígonos descontruídos.

Outros algoritmos

1. Generate Systematic Grid Related to Layer

Nome traduzido proposto: Criar molduras a partir de geometrias.

Para uma dada camada de feições vetoriais, são geradas molduras em toda a extensão da camada, de modo que todas as partes de todas as feições tenham a moldura de sua região criada.

gif de exemplo de funcionamento

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Input Polygon Layer Camada vetorial Não Camada de polígonos que terá a extensão de suas feições cobertas por molduras geradas.
Desired scale Lista de opções Não Opções de escalas para as quais serão geradas as molduras.
Created Frames Camada vetorial Sim Camada de saída que irá conter as molduras geradas.

2. Multiple output unit test

Nome traduzido proposto: Testes de unidade de algoritmos de saída múltipla.

Executa uma série de testes programados e compara saídas com dados de controle de modo a verificar o correto funcionamento de algoritmos com mais de uma camada de saída.

Algoritmo desenvolvido apenas para o ambiente de desenvolvimento e não será distribuídos nas versões estáveis pelo repositório do QGIS.

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Algorithms to be tested Lista de opções Não Opções de algoritmos que terão seus testes unitários executados de modo a confirmar se todos estão passando.
DSGTools Multiple Output Algorithms Unit Tests Camada vetorial Sim Camada sem geometria que conterá o resultado da execução de todos os testes unitários para cada algoritmo de saída múltipla selecionado.

Algoritmos de ambiente

Esta é uma nova categoria de algoritmos, introduzida na versão 4.1 do DSGTools. Estes algoritmos serão utilizados para a configuração de parâmetros de todas as ferramentas do DSGTools.

Com este conjunto de algoritmos, busca-se facilitar a gerência do plugin por meio de sistemas independentes que tenham acesso à execução da mesma instância do QGIS em que se encontra o plugin. Assim, pode-se, por exemplo, configurar as ferramentas do DSGTools por meio do SAP - Sistema de Apoio à Produção.

1. Set Free Hand tool parameters

Nome traduzido proposto: Definir parâmetros da Ferramenta à Mão Livre.

Define os parâmetros que serão utilizados no funcionamento das Ferramenta à Mão Livre (aquisição e reshape) no QGIS.

![gif de exemplo de funcionamento]

Os parâmetros do processo são descritos na tabela abaixo, seguindo a ordem em que são apresentados na interface:

Parâmetro Tipo Opcional Descrição
Free hand tolerance Real Não .
Free hand smooth iterations Inteiro Não Quantidade de iterações do algoritmo de suavização de curvas de geometria adquirida.
Free hand smooth offset Real Não .
Free hand algorithm iterations Inteiro Não Quantidade de iterações do algoritmo de simplificação de geometria adquirida.
Number of points removed on undo action Inteiro Não Quantidade de nós que são desfeitos ao se voltar a última execução (desfazer) da feição em que se estiver trabalhando.
Free hand tolerance Real Não .

Conteúdo

3.1-Configurar Servidor
3.2-Gerenciar DBs de Servidor
3.3-Administração do Banco de Dados
3.4-Gerenciamento de Estilos
3.5-Permissões
3.6-Cobertura Terrrestre

4.1-Criar Banco de Dados
4.2-Criação de Bancos de Dados em Lote
4.3-Converter banco de dados

5.1-Carregar Camadas
5.2-Criar Moldura

6.1-Processos Edição
6.2-Processos Gestão de Camadas 6.3-Processos Geométricos
6.4-Definidor de Variáveis de Ambiente
6.5-Processos de Correção
6.6-Processos de Identificação
6.7-Processos de Manipulação
6.8-Processos de Rede
6.9-Processos Topológicos
6.10-Outros Processos
6.11-Qualidade de Dados

7.1-Ferramenta de feição customizada
7.2-Linha Cotadora
7.3-Visualizador de Codelist e Valores
7.4-Construir estruturas complexas
7.5-Seletor Genérico
7.6-Ferramenta de Inversão de Linhas
7.7-Ferramenta de Aquisição com Ângulos Retos
7.8-Ferramenta de Aquisição à Mão Livre
7.9-Ferramenta de Reshape à Mão Livre
7.10-Toggle Labels Visibility
7.11-Ferramenta de Área Mínima
7.12-Desenhar forma
7.13-Ferramenta de inspeção de feições
7.14-Inspecionar anterior
7.15-Inspecionar próximo
7.16-Ferramenta de Informações de Raster
7.17-DSGTools: Tooltip de Bandas
7.18-Visualização Dinâmica de Histograma
7.19-Definir Valor de Ponto

Apêndices

(DEV) Usando Git Hooks
(DEV) Suite de Testes de Algoritmos de Validação
(DEV) Criando links simbólicos
Changelogs

Licença

Licença Creative Commons
Esta obra está licenciada como uma Licença Creative Commons Atribuição-NãoComercial-Compartilha Igual 4.0 Internacional.

Clone this wiki locally