1 Camada com 20 Poligonos - Como enumerar os vértices extraídos começando sempre pelo V1?

85 views
Skip to first unread message

Patrick Azevedo

unread,
Mar 28, 2020, 12:00:11 AM3/28/20
to qgisbrasil
Em uma camada com 20 poligonos, quando mando extrair os vértices ele cria uma nova camada de pontos porém, os pontos seguem diretos em todos os poligonos, ou seja, quando acaba um poligono a numeração do vertices não volta a 1 para o poligono seguinte.

Como nos arquivo em anexo (Exemplo com apenas 2 poligonos em uma mesma camada), tem o arquivo ERRADO onde a numeração do vértices no Lote 2 continua dendo sequencia ao do Lote 1, ou seja, como o ultimo vértices do Lote 1 é o V5, no lote 2 o primeiro vértices continua do V6.

Já no arquivo CERTO quando termina o Lote 1, a numeração dos vértices é zerada e no Lote 2 começa de novo do 1. Esse procedimento foi feito manualmente.

Como faço pra obter esse resultado do CERTO sem necessidade de ter que ficar editando manualmente?

atenciosamente

Patrick Azevedo
CERTO.JPG
ERRADO.JPG

yjmenezes

unread,
Mar 28, 2020, 8:10:09 AM3/28/20
to qgisbrasil
@Patrik

1- como esta realizando a operacao ?
2- em que formato estao os seus dados ?
3- que tipo de entidade ?  MULTIPOLYGON  ou POLYGON ?

Kyle Felipe

unread,
Mar 28, 2020, 3:17:18 PM3/28/20
to qgisbrasil
você precisa da camada de pontos??
No estilo da camada é possível usar o gerador de geometria para pele fazer isso em cada feição. chegando no resultado correto e não vai precisar de uma nova camada para isso


Em sábado, 28 de março de 2020 01:00:11 UTC-3, Patrick Azevedo escreveu:

Kyle Felipe

unread,
Mar 28, 2020, 4:23:59 PM3/28/20
to qgisbrasil
1 - vá no estilo e adicione mais um preenchimento,
2 - selecione o primeiro preenchimento, e em tipo da camada simbolo escolha gerador de geometria
3 - Tipo de geometria escolha Ponto / Multiponto
4 - Na caixa de expressão insira:

-- Transformando os nós de cada geometria em pontos.
nodes_to_points
($geometry)


5 - Clique no marcador simples que apareceu e mude o Tipo de camada Símbolo para Marcador de fonte
6 - Escolha uma Fonte (pois a padrão que aparece tem outros simbolos no lugar de letras. vc pode mudar o tamanho da fonte em Tamanho)
7 - Em caractere clique no botão de substituição especificada de dado na frente do campo e clique em editar, vai abrir a o construtor de expressão do qgis,
coloque a seguinte expressão dentro dele
-- Transformando o número do ponto dentro da geometria em texto e concatenando com o 'V'
'V'||to_string(@geometry_part_num)



O número de cada vertice irá aparecer.


Falta agora uma forma de cada número aparecer fora do vetor
Eu coloquei um segundo marcador, dentro do gerador de geometria onde geramos os pontos, do tipo marcador simples.
Em tamanho no botão de substituição específica eu fui em editar e coloquei a seguinte expressão

@value  + length('V'||to_string(@geometry_part_num ) )

Assim, quando vou mudando o valor de tamanho desse marcador ele vai ficando do tamanho da string completa

Em sábado, 28 de março de 2020 01:00:11 UTC-3, Patrick Azevedo escreveu:

Patrick Azevedo

unread,
Mar 28, 2020, 4:58:29 PM3/28/20
to qgisbrasil
yjmenezes

Rapaz, consegui resolver o problema com as sua primeira pergunta. rsrsrs


1- como esta realizando a operacao ?

Na verdade eu criei um MODELO onde ele em sua programação ele executava a operação de Extrair Vértices... (de poligonos).
Só que dentro do MODELO havia mais operações depois como por exemplo a de inserir a letras na frente dos vértices, no meu caso usei o "V"

O meu erro foi, no editor de campos, quando usei o $id como contador de Vértices  fincando 'V'||$id . Ou seja, deu ruim.

Quando você me perguntou como estava realizando a operação, eu resolvi fazer o procedimento do modo convencional sem usar o MODELO que criei, usando apenas a ferramenta Extrair Vértices...

Foi quando eu percebi que ao extrair os vértices ele gera vários campos como por exemplo o campo "vertex_index" que contem exatamente os vértices separados por cada poligono, do jeito que eu precisava.

Como, No meu Modelo, estava usando o script de EDITAR CAMPOS, ele vem vazio, mas como eu usei o Extrair Vertice antes de Editar Campo, eu sei que a coluna "vertex_index" estava lá, mesmo que oculta.

Resumindo, no Editar Campos eu usei o comando 'V' || "vertex_index"  e o problema foi resolvido.

Objetivo final do meu MODELO é o de pegar uma camada de vário poligonos e criar automaticamente o seguinte resultado:

Camada de Poligonos (áreas de loteamento) que contenha => id, Nome, Area_M2, AreaKM2, AreaHA, Perimetro
Camada de pontos (vértices das áreas de loteamento) que contenha => id, VerticeNum (= ao "vertex_index"), Vertice ('V'||"vertex_index"), distancia, angulo. latitude, longitude, coordx (em UTM), coordy (em UTM)

Esse MODELO, economiza muito tempo de CALCULADORA DE CAMPO.

Enfim, agradeço pela atenção. Quem vê pode não entender que você tenha me ajudado, mas suas perguntas me levaram a solução, com toda certeza.

valeu

Patrick Azevedo

unread,
Mar 29, 2020, 8:33:24 PM3/29/20
to qgisbrasil
Nossa Kyle, cara... valeu mesmo. Isso também vou anotar.

A questão da camada de pontos seria para ajudar no compositor de mapas para criar uma tabela/quadro com os vértices e suas Coordenadas.
Mas aproveitando a questão, existem alguma forma de se criar quadro de coordenadas no compositor sem a necessidade de ter que puxar da tabela de atributos?
Ou melhor, Se eu tiver somente uma camada apenas contendo 3 poligonos por exemplo, seria possível no compositor criar esse quadro de coordenadas dos cantos de cada área?


atenciosamente

Patrick Azevedo

Kyle Felipe

unread,
Mar 30, 2020, 1:01:51 PM3/30/20
to qgisbrasil
tem... mas é um pouco complicado.. vai precisar de usar HTML para gerar o quadro
ou gerar uma camada virtual que gera esse dado automaticamente e inserir ela no compositor

Quanto à questão de 3 registros, consegue resover gerando um HTML também na camada e exibindo ele com o label.

Patrick Azevedo

unread,
Mar 30, 2020, 2:10:30 PM3/30/20
to qgisb...@googlegroups.com
perfeito Kyle. Ficar criando shapes de pontos somente para essa finalidade contamina muito o projeto.

--
Comunidade QGIS Brasil: http://qgisbrasil.org/
---
Você recebeu essa mensagem porque está inscrito em um tema no grupo "qgisbrasil" dos Grupos do Google.
Para cancelar inscrição nesse tema, acesse https://groups.google.com/d/topic/qgisbrasil/pswwGD1QoPI/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus temas, envie um e-mail para qgisbrasil+...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/qgisbrasil/d98191ff-71d3-43b5-8b70-06f628b323ea%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages