[Talk-br] Maneira fácil de selecionar polígonos fácil.

Fernando Trebien fernando.trebien em gmail.com
Segunda Julho 22 03:31:30 UTC 2013


Bem, há 2 tipos de polígonos no OSM: polígonos simples (objetos "way"
com a propriedade "closed") e multipolígonos.

Para selecionar o primeiro tipo, basta dar um Ctrl+F (pra abrir a
janela de busca) e procurar por "closed" (sem as aspas).

Para o segundo, é interessante saber como funciona a função de busca
do JOSM. Você sempre busca por uma "expressão". Um exemplo: se você
buscar por "highway=primary", vai selecionar todos os objetos com essa
tag (inclusive nodos e relações, se elas a tiverem, mesmo que seja um
erro). Você pode buscar por dois critérios simultâneos. No exemplo
anterior, se você só quiser as vias primárias e não os nós e relações
incorretos, pode buscar por "type:way highway=primary". O espaço em
branco significa a operação de "e" lógico: "A B" equivale a A e B
verdadeiros. Para um "ou", você escreve "A OR B". Se você quiser vias
primárias ou secundárias, a busca fica "type:way highway=primary OR
highway=secondary". Você pode procurar por expressões negativas também
colocando um "-" na frente daquilo que você não quer selecionado. Por
exemplo, se quiser todas as vias que não são primárias, a expressão
fica "type:way -highway=primary" (inclui vias sem a tag highway).

As expressões nem sempre são tão convenientes e fáceis de escrever,
então você pode mudar o modo de busca de "replace selection" (padrão)
para "add to selection", "remove from selection" e "find in
selection". São equivalentes a expressões com "ou", "não" e "e",
respectivamente. Por exemplo, você pode buscar primeiro por "type:way"
no modo "replace selection" e depois buscar por "type=primary" no modo
"remove from selection" pra obter exatamente o mesmo resultado que no
exemplo anterior.

Se você também precisar das relações que são polígonos, você pode
pesquisar por objetos do tipo relation que têm a tag
type=multipolygon. Você escreve isso assim: "type:relation
type=multipolygon". type:relation seleciona todos os objetos do tipo
relation, se você quisesse nodos seria type:node, e type=multipolygon
filtra desses objetos os que têm a tag "type=multipolygon". Como há um
espaço em branco entre os dois, só vem no resultado aquilo que
satisfizer ambas as condições. Mas você pode fazer da maneira em dois
passos que eu disse antes.

Há outros tipos de relações que também funcionam como "polígonos", por
exemplo, "type:relation type=boundary" e "type:relation type=site".
Daí você tem que fazer uma busca para cada caso.

Às vezes ajuda copiar tudo (Ctrl+A) para uma outra camada e ir
trabalhando nela por eliminação. Você pode selecionar todas a relações
que não são nem multipolygon nem boundary com "type:relation
-type=multipolygon -type=boundary" (ou com duas buscas usando o modo
"remove from selection"). Daí pra saber os tipos que sobraram basta
olhar quais relações foram selecionadas na janela Selection à direita
(se não estiver aparecendo, vai em Window > Selection).

Recomendo essa leitura também:
http://wiki.openstreetmap.org/wiki/JOSM/Search_function

2013/7/21 Erick de Oliveira Leal <erickdeoliveiraleal em gmail.com>:
> Olá pessoal, existe alguma maneira de selecionar todos polígonos que estão
> no JOSM?
>
> _______________________________________________
> Talk-br mailing list
> Talk-br em openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-br
>



-- 
Fernando Trebien
+55 (51) 9962-5409

"The speed of computer chips doubles every 18 months." (Moore's law)
"The speed of software halves every 18 months." (Gates' law)



Mais detalhes sobre a lista de discussão Talk-br