[Talk-br] Validador nacional

Fernando Trebien fernando.trebien em gmail.com
Sexta Março 14 14:10:15 UTC 2014


Qual a origem desse dogma, na minha opinião: ao importar a hidrografia
de uma certa região, alguns importadores acharam mais conveniente
colocar layer=-1 em todos os rios pra se livrar dos alertas do JOSM do
que deixar os alertas e, quem sabe, adicionar as pontes corretamente.

Bem, tem 1 coisa errada com essa idéia: o JOSM deveria alertar sobre a
falta de uma ponte nesses casos porque "layer=-1" não significa
"subterrâneo".

É bem possível também que o próprio importador estivesse entendendo
"alerta" no JOSM como "erro", mas são coisas diferentes.

Tem outra coisa: o importador deveria ter previsto esse efeito
colateral antes de importar. Por isso que não se pode sair importando
as coisas de qualquer jeito sem conversar com a comunidade antes pra
ver se vai funcionar.

Caso isso tenha acontecido (como se pergunta no fim da página de
discussão), a melhor forma de resolver a situação é: baixar o mapa,
mudar a tag layer dos rios para layer=0 (ou simplesmente excluí-la),
rodar o validador, e mapear as pontes onde o validador tiver dado um
aviso. Tanto faz o valor que vai em layer, desde que a layer do rio
seja inferior à layer da ponte (ou, equivalentemente, que a layer da
ponte seja superior à do rio). Ou seja, depois de mapeadas as pontes,
daria pra colocar layer=-1 (ou -2, ou -5) de novo nos rios (inclusive
durante a mesma edição). Também daria colocar layer nas pontes. Enfim,
a escolha é livre.

2014-03-14 10:52 GMT-03:00 Fernando Trebien <fernando.trebien em gmail.com>:
>  - Pra renderização o que ficaria melhor ?
>
> Depende do seu renderizador. Para o Mapnik, layer=0 nas pontes fica
> melhor >nesse caso específico< porque daí ele consegue conectar o
> preenchimento e o contorno da via da ponte ao preenchimento e contorno
> das vias em que a ponte se conecta. Daí, o rio ficaria com layer=-1.
>
> Se não quiser colocar layer=-1 no rio todo, pode colocar só no trecho
> próximo da ponte.
>
> Se quiser colocar layer=-1 no rio ou layer=1 na ponte, está correto.
>
> Se quiser colocar layer=0 no rio e layer=1 na ponte, está correto.
>
> Se quiser colocar layer=-3 no rio e layer=-2 na ponte, está correto.
> Não é o que se esperaria tipicamente, mas está correto.
>
> Todas essas formas levam exatamente ao mesmo rendering, exceto pela
> questão da conexão entre a ponte e o resto da malha, que pode ser
> vista como "defeito" do renderizador.
>
>  - Pra roteamento, o que funcionaria melhor ?
>
> Não faz absolutamente nenhuma diferença, essa é uma tag voltada
> exclusivamente à renderização.
>
>  - Será que não seria bom padronizar ? ( no caso de comportamentos
> diferentes para cada caso )
>
> Acho melhor entender a semântica da tag. Há muitas outras coisas em
> que uma padronização seria muito mais importante, nesse caso uma
> padronização rígida não faz diferença na prática.
>
> 2014-03-14 10:21 GMT-03:00 Marcelo Pereira <pereiraholder em gmail.com>:
>> Osmanianos,
>>
>>
>> Lendo a frase "Rivers and streams should not be tagged with layer -1 along
>> long sections of their length", eu entendo que a tag layer NÃO deve ser
>> usada em "longas seções" de rios e ( seja-lá-o-que-for ) streams.
>>
>> Mas deduzo que é possível usá-la em rios nos pontos/trechos onde estiver em
>> uma "camada" diferente da entidade que ele cruza.
>>
>>
>> Mais uma frase :
>> "A bridge is at layer 1 even if it is only several feet above sea level
>> while the peak of Mount Everest is at layer 0 even though it is 8848 meters
>> above sea level."
>>
>> Aqui interpreto que toda a superficie da terra, rios e mares é layer=0, que
>> é o default e por isso não recomendado explicitar, e só se registra layer
>> onde houver claramente uma diferença de "camada" em um "cruzamento".
>>
>>
>> Assim ...
>> "
>> Um exemplo prático e mais extremo: suponha que seja um rio com várias
>> pontes atravessando-o, como é o caso do arroio Dilúvio em Porto
>> Alegre. Você teria que colocar layer=1 em cada uma das 54 pontes que o
>> cruzam, versus layer=-1 somente no arroio. 54 tags vs 1 tag. (Só pra
>> constar: eu revisei uma por uma, e mapeei as que faltavam.)
>> "
>>
>> Usando a minha interpretação da frase inicial, o uso neste exemplo dado pelo
>> Trebien, seria a de se incluir layer=1 em todas as pontes, ou layer=-1 em
>> todos os trechos do arroio que cruzam as pontes, sejam pequenos trechos ou
>> pontos, não em toda sua extensão.
>>
>> E de acordo com a segunda frase, teríamos que usar o layer=1 para as pontes
>> e não o layer=-1 para o rio, pois esse ainda faz parte da superfície da
>> terra ( layer=0), o elemento adicional são as pontes.
>>
>>
>>
>> Adicionando uma questão a discussão, que diferença faz usar layer=1 na ponte
>> ou layer=-1 no rio ?
>>
>>  - Pra renderização o que ficaria melhor ?
>>  - Pra roteamento, o que funcionaria melhor ?
>>  - Será que não seria bom padronizar ? ( no caso de comportamentos
>> diferentes para cada caso )
>>
>> Marcelo P
>>
>>
>>
>> Em 14 de março de 2014 06:58, Flavio Bello Fialho <bello.flavio em gmail.com>
>> escreveu:
>>
>>> Fernando, acho que não entendeste. Leia a página
>>> http://wiki.openstreetmap.org/wiki/Key:layer com calma. Ela diz
>>> explicitamente:
>>>
>>> "Do not use layer=-1 to hide warnings about crossing or overlapping ways.
>>> Either fix them or leave the easily visible warning so that others can fix
>>> them."
>>>
>>> "When ways are passing on different levels apply layer=* only to the way
>>> which also has the bridge/tunnel attribute. Only ways with one of the
>>> tags/attributes tunnel=*, bridge=*, highway=steps, highway=elevator,
>>> covered=* should be tagged with the layer tag, similar for railways and
>>> waterways."
>>>
>>> "Rivers and streams should not be tagged with layer -1 along long sections
>>> of their length"
>>>
>>> Eles estão dizendo explicitamente para NÃO fazer isso que queres fazer. Se
>>> tens alguma dúvida, discuta na comunidade internacional. Esse é o meu último
>>> post sobre esse assunto.
>>>
>>>
>>>
>>> Em 14 de março de 2014 02:08, Fernando Trebien
>>> <fernando.trebien em gmail.com> escreveu:
>>>
>>>> Mais além: na verdade, em alguns casos, chega a ser pior marcar as pontes
>>>> com layer=1 porque isso altera a priorização da renderização no Mapnik. Por
>>>> exemplo, highway=secondary_link com layer=1 é renderizado por cima de
>>>> highway=primary (com ou sem layer=0). Isso é o oposto do normal e faz o
>>>> desenho ficar "feio".
>>>>
>>>> Mas o Mapnik não é o único parâmetro. No wiki diz que algumas ferramentas
>>>> de QA (mas não todas) exigem que o rio tenha layer=-1 e a ponte tenha
>>>> layer=1. Nada no restante do artigo sugere que isso é, de fato, necessário
>>>> (pelo contrário). Pra mim, parece uma escolha arbitrária sem muita
>>>> justificativa (ou seja, um dogma). Colocar layer=-1 no rio ou layer=1 na
>>>> ponte estão ambos corretos, mas frequentemente uma das opções requer menos
>>>> trabalho e resulta numa representação menos complexa.
>>>>
>>>> E se o próprio artigo diz que não é necessário colocar layer=0 nos casos
>>>> em que seria esse o valor, me parece que o ideal é, quase sempre, marcar o
>>>> rio com layer=-1, e nada mais.
>>>>
>>>> Claro, daí algumas pessoas poderiam pensar que não precisam marcar a
>>>> ponte que passa por cima. Por isso concordo que o validador nacional aponte
>>>> esses casos como "aviso" - que deve ser interpretado com bom senso (assim
>>>> como os demais avisos do validador do JOSM) de acordo com a definição da
>>>> tag, não necessariamente como erro.
>>>>
>>>> On Mar 14, 2014 1:34 AM, "Fernando Trebien" <fernando.trebien em gmail.com>
>>>> wrote:
>>>>>
>>>>> Só complementando, o que layer=0 realmente significa é: desenhe este
>>>>> objeto depois dos que têm layer=-1, e antes dos que tÊm layer=1. Não
>>>>> significa nada além disso.
>>>>>
>>>>> 2014-03-14 1:30 GMT-03:00 Fernando Trebien <fernando.trebien em gmail.com>:
>>>>> > Exemplo fácil (inclusive já tinha citado antes): 1 rio + 2 linhas de
>>>>> > uma via separada. É mais fácil colocar layer=-1 no rio do que colocar
>>>>> > 2 tags layer=1, uma para cada linha da via.
>>>>> >
>>>>> > Um exemplo prático e mais extremo: suponha que seja um rio com várias
>>>>> > pontes atravessando-o, como é o caso do arroio Dilúvio em Porto
>>>>> > Alegre. Você teria que colocar layer=1 em cada uma das 54 pontes que o
>>>>> > cruzam, versus layer=-1 somente no arroio. 54 tags vs 1 tag. (Só pra
>>>>> > constar: eu revisei uma por uma, e mapeei as que faltavam.)
>>>>> >
>>>>> > Não disse que layer=-1 deveria ser aplicada ao rio inteiro. Da mesma
>>>>> > forma, layer=1 não deveria ser aplicada à via inteira.
>>>>> >
>>>>> > Não vamos introduzir regras que não existem. Em nenhum lugar diz que
>>>>> > layer=0 equivale a "estar no mesmo nível da superfície".
>>>>> >
>>>>> > 2014-03-13 22:03 GMT-03:00 Flavio Bello Fialho
>>>>> > <bello.flavio em gmail.com>:
>>>>> >> "The layer provides absolutely no information about relative or
>>>>> >> absolute
>>>>> >> height difference of objects which do not immediately cross or
>>>>> >> overlap. A
>>>>> >> change in layer should not be used to indicate a change in
>>>>> >> elevation."
>>>>> >>
>>>>> >> Traduzindo:
>>>>> >>
>>>>> >> O "layer" não fornece absolutamente nenhuma informação a respeito da
>>>>> >> diferença de altura relativa ou absoluta de objetos que não se cruzam
>>>>> >> ou se
>>>>> >> sobrepõem. Uma mudança no "layer" não deve ser usada para indicar uma
>>>>> >> mudança em elevação.
>>>>> >>
>>>>> >> O que isso diz é que não há uma relação direta entre a altura e o
>>>>> >> layer. Se
>>>>> >> uma estrada está em cima de um morro e outra no fundo de um vale, o
>>>>> >> layer é
>>>>> >> zero nos dois casos, apesar da ELEVAÇÃO (=ALTITUDE) ser diferente nos
>>>>> >> dois
>>>>> >> casos. É ISSO que está sendo dito no wiki:
>>>>> >>
>>>>> >> "A bridge is at layer 1 even if it is only several feet above sea
>>>>> >> level
>>>>> >> while the peak of Mount Everest is at layer 0 even though it is 8848
>>>>> >> meters
>>>>> >> above sea level."
>>>>> >>
>>>>> >> A mesma página ainda diz:
>>>>> >>
>>>>> >> "Use the smallest suitable layer value. Only use layer=2 for a bridge
>>>>> >> that
>>>>> >> passes over a feature that is already at level 1; similarly only use
>>>>> >> layer=-2 for a tunnel that passes below another tunnel."
>>>>> >>
>>>>> >> O menor valor possível é zero. Como a imensa maioria dos atributos
>>>>> >> mapeados
>>>>> >> está na superfície, ela é mapeada no layer 0. É a forma que mantém os
>>>>> >> valores no seu mínimo. Por favor, cite uma situação em que não seja
>>>>> >> útil que
>>>>> >> a superfície esteja no layer 0, pois não consigo imaginar nenhum
>>>>> >> caso.
>>>>> >>
>>>>> >> "Features at layer 0 should not normally have a layer tag"
>>>>> >>
>>>>> >> Ou seja, não só não é obrigatório, é recomendável que se elimine o
>>>>> >> tag
>>>>> >> "layer" quando ele for igual a zero. A página cita explicitamente que
>>>>> >> rios
>>>>> >> NÃO devem estar no layer -1:
>>>>> >>
>>>>> >> "Rivers and streams should not be tagged with layer -1 along their
>>>>> >> entire
>>>>> >> length or long sections"
>>>>> >>
>>>>> >> Em 13/03/2014 20:54, "Fernando Trebien" <fernando.trebien em gmail.com>
>>>>> >> escreveu:
>>>>> >>
>>>>> >>> "The layer provides absolutely no information about relative or
>>>>> >>> absolute height difference of objects which do not immediately cross
>>>>> >>> or overlap. A change in layer should not be used to indicate a
>>>>> >>> change
>>>>> >>> in elevation." [http://wiki.openstreetmap.org/wiki/Key:layer]
>>>>> >>>
>>>>> >>> Portanto, não é obrigatório que layer=0 seja aplicado a algo que
>>>>> >>> está
>>>>> >>> na superfície. Pode até ser costume (ou um bom costume), mas não é
>>>>> >>> obrigatório, e certamente há situações em que não é muito útil
>>>>> >>> seguir
>>>>> >>> essa regra. Além disso, não é obrigatório colocar layer=0 porque
>>>>> >>> esse
>>>>> >>> é o valor padrão. (Diz isso no mesmo artigo.)
>>>>> >>>
>>>>> >>> 2014-03-13 20:15 GMT-03:00 Flavio Bello Fialho
>>>>> >>> <bello.flavio em gmail.com>:
>>>>> >>> > Layer e level são coisas diferentes. Layer 0 está no nível da
>>>>> >>> > superfície.
>>>>> >>> > Quando duas coisas se sobrepõem, a que não está no nível da
>>>>> >>> > superfície
>>>>> >>> > fica
>>>>> >>> > com layer=1 (ex: ponte) ou layer=-1 (ex: túnel). Um rio só deve
>>>>> >>> > ter
>>>>> >>> > layer=-1
>>>>> >>> > quando estiver embaixo da terra, canalizado. Lençol freático é uma
>>>>> >>> > coisa
>>>>> >>> > completamente diferente. Level não tem nada a ver com layer. É o
>>>>> >>> > andar
>>>>> >>> > de um
>>>>> >>> > edifício.
>>>>> >>> >
>>>>> >>> > Em 13/03/2014 13:48, "Fernando Trebien"
>>>>> >>> > <fernando.trebien em gmail.com>
>>>>> >>> > escreveu:
>>>>> >>> >
>>>>> >>> >> Valor "0" para algo no nível do chão vale só para "level", em
>>>>> >>> >> "layer"
>>>>> >>> >> a escolha é livre porque não representa a "altura" (no sentido
>>>>> >>> >> físico)
>>>>> >>> >> e sim a "ordem de desenho".
>>>>> >>> >>
>>>>> >>> >> 2014-03-13 12:43 GMT-03:00 Flavio Bello Fialho
>>>>> >>> >> <bello.flavio em gmail.com>:
>>>>> >>> >> > O tag layer deve ser relativo à superfície da terra ou água
>>>>> >>> >> > (layer=0).
>>>>> >>> >> > Qualquer coisa acima deve ter layer positivo e qualquer coisa
>>>>> >>> >> > abaixo
>>>>> >>> >> > deve
>>>>> >>> >> > ter layer negativo.
>>>>> >>> >> >
>>>>> >>> >> > Em 12/03/2014 17:57, "Fernando Trebien"
>>>>> >>> >> > <fernando.trebien em gmail.com>
>>>>> >>> >> > escreveu:
>>>>> >>> >> >
>>>>> >>> >> >> Ah bom, então tá perfeito. :D
>>>>> >>> >> >>
>>>>> >>> >> >> 2014-03-12 16:24 GMT-03:00 Nelson A. de Oliveira
>>>>> >>> >> >> <naoliv em gmail.com>:
>>>>> >>> >> >> > 2014-03-12 16:16 GMT-03:00 Fernando Trebien
>>>>> >>> >> >> > <fernando.trebien em gmail.com>:
>>>>> >>> >> >> >> Bem, posso estar falando bobagem (não cheguei a testar esse
>>>>> >>> >> >> >> caso
>>>>> >>> >> >> >> com
>>>>> >>> >> >> >> o
>>>>> >>> >> >> >> validador ainda), só acho que não deveria ser tratado como
>>>>> >>> >> >> >> "erro",
>>>>> >>> >> >> >> só
>>>>> >>> >> >> >> como "aviso" (ou "alerta"), pra seguir a mesma idéia dos
>>>>> >>> >> >> >> outros
>>>>> >>> >> >> >> avisos
>>>>> >>> >> >> >> do validador do JOSM.
>>>>> >>> >> >> >
>>>>> >>> >> >> > Mas não é erro :-)
>>>>> >>> >> >> > É um aviso. E a mensagem do aviso começa justamente com
>>>>> >>> >> >> > "verificar:
>>>>> >>> >> >> > ..."
>>>>> >>> >> >> >
>>>>> >>> >> >> > _______________________________________________
>>>>> >>> >> >> > Talk-br mailing list
>>>>> >>> >> >> > Talk-br em openstreetmap.org
>>>>> >>> >> >> > https://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)
>>>>> >>> >> >>
>>>>> >>> >> >> _______________________________________________
>>>>> >>> >> >> Talk-br mailing list
>>>>> >>> >> >> Talk-br em openstreetmap.org
>>>>> >>> >> >> https://lists.openstreetmap.org/listinfo/talk-br
>>>>> >>> >> >
>>>>> >>> >> >
>>>>> >>> >> > _______________________________________________
>>>>> >>> >> > Talk-br mailing list
>>>>> >>> >> > Talk-br em openstreetmap.org
>>>>> >>> >> > https://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)
>>>>> >>> >>
>>>>> >>> >> _______________________________________________
>>>>> >>> >> Talk-br mailing list
>>>>> >>> >> Talk-br em openstreetmap.org
>>>>> >>> >> https://lists.openstreetmap.org/listinfo/talk-br
>>>>> >>> >
>>>>> >>> >
>>>>> >>> > _______________________________________________
>>>>> >>> > Talk-br mailing list
>>>>> >>> > Talk-br em openstreetmap.org
>>>>> >>> > https://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)
>>>>> >>>
>>>>> >>> _______________________________________________
>>>>> >>> Talk-br mailing list
>>>>> >>> Talk-br em openstreetmap.org
>>>>> >>> https://lists.openstreetmap.org/listinfo/talk-br
>>>>> >>
>>>>> >>
>>>>> >> _______________________________________________
>>>>> >> Talk-br mailing list
>>>>> >> Talk-br em openstreetmap.org
>>>>> >> https://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)
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> 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)
>>>>
>>>>
>>>> _______________________________________________
>>>> Talk-br mailing list
>>>> Talk-br em openstreetmap.org
>>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>>
>>>
>>>
>>>
>>> --
>>> Flávio Bello Fialho
>>> bello.flavio em gmail.com
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>
>>
>>
>> --
>>
>> ... Edileuzaaaa, eu não tem nada a ver com Creuza,
>>    É mentira da Ivete, não é meu esse caniveeeeeete...
>> "Halley, Luiz" - Poeta, Cantor, Compsitor
>>
>> _______________________________________________
>> Talk-br mailing list
>> Talk-br em openstreetmap.org
>> https://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)



-- 
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