Porque usuários veteranos preferem o JOSM?

Via de regra, edito com o iD ao revisar alterações pontuais, como nomes de rua errados, etc. Mas para tarefas mais complexas, tais como: relações de fronteiras de bairro ou restrição de conversão, importação de dados de outras fontes, utilização de imagens de fundo que não a imagem de satélite do Bing, essas tarefas só são possíveis, ou são possíveis mais fácil ou confortavelmente no JOSM.

s

Meus motivos são iguais aos do Arlindo (Nighto). Eu também acho muito mais rápido editar com o JOSM (é um programa desktop, roda mais rápido que um sistema em JavaScript dentro de um navegador). A utilização é bem mais rápida do que os demais editores depois que você aprende a usar os atalhos de teclado e descobre toda a funcionalidade extra das extensões (tem tanta coisa que é um mundo à parte a ser explorado aos poucos). Quem já mapeia há um tempo sabe que mapear é complexo e que é fácil esquecer uma ou outra coisa, por isso acaba sendo muito valioso ter algo como o validador (você conserta alguns dos seus erros mais óbvios antes mesmo de submeter, não espera que descubram o problema e consertem pra você). O validador por si só é uma ferramenta que te ensina muitas coisas sobre as expectativas da comunidade do OSM, fruto de experiência coletada ao longo de anos mapeando (logo um atalho pro conhecimento). Outras ferramentas que eu considero extremamente úteis são a função de busca, os filtros e o editor de relações (editá-las é algo meio complicado no iD e no Potlatch). Outro recurso que eu venho usando muito é o visualizador de histórico pra saber como um elemento mudou (especialmente quais tags foram mudadas). O JOSM tem suporte nativo a trilhas GPX com fotos, então acaba sendo muito conveniente pra tratar as trilhas que eu coleto com o OSMTracker no meu celular. O JOSM consegue ler vários formatos de mapas, então é talvez a única ferramenta que permite importar dados de fontes diversas (quase sempre grandes volumes), e permitindo ainda que os dados sejam tratados/melhorados (geralmente necessário) antes de se fazer a importação. Mais além, quando se começa a fazer grandes alterações no mapa, se torna muito importante ser capaz de resolver conflitos, já que várias pessoas podem estar editando o mesmo elemento geométrico ao mesmo tempo. (No iD, se alguém editar algo que você acabou de editar mas não salvou, você não consegue salvar a sua edição, ou seja, seu tempo é perdido. No Potlatch eu não lembro bem mas acho que ele simplesmente sobrescreve o que a outra pessoa fez, sem avisá-la e sem avisar você, o que é uma receita pra brigas e pra perda de informação útil.)

Pros recém-chegados curiosos: sugiro que por enquanto usem o JOSM em inglês mesmo ou com a tradução em português de Portugal. A tradução brasileira tem várias coisas incoerentes, algo que pode ter gerado confusão e a impressão de que o JOSM é mais difícil do que ele realmente é. O problema é que a tradução foi feita linha por linha sem considerar o contexto. Andei trabalhando nisso a partir de opiniões da comunidade mas não tive tempo de terminar - afinal, são umas 10 mil linhas de tradução a fazer. Mas está quase pronta.

É errado eu fazer mapeamentos sem me ocupar de relações? Por enquanto, eu tenho abstraído as relações; havia esquecido delas completamente.

No meu entender, não é errado. O editor deveria te avisar se você inadvertidamente manipular de alguma forma negativa (para o ponto de vista da integridade da relação) algum elemento (nó ou via) que faça parte de uma relação. Infelizmente isso nem sempre acontece… mas pode usar sem medo, que na sua área alguém deveria revisar as alterações.

[]s

Nighto, você pode me dar exemplos de relações comuns? Nem sei direito o que é, apenas imagino.

As coisas mapeadas no OSM podem ser representadas por três formas: pontos, vias e relações. Cada um destes três tipos de elementos pode ter 0 ou mais tags compostas por dois elementos, propriedade e valor.

Por exemplo. Um estacionamento pode ser mapeado como um ponto (com a tag amenity=parking), ou como uma via, composta por 3 ou mais pontos, demarcando a área (neste caso a via a etiqueta amenity=parking, os pontos ficam sem tags).

Relações são conjuntos de pontos ou linhas com o objetivo de demonstrar determinada característica. Por exemplo, uma relação de rota de ônibus, indica que o ônibus tal passa pelas ruas tais e tais (uma ou mais vias). Ou uma relação de restrição de conversão, indica que é proibido entrar na rua tal vindo da rua tal (duas vias e o ponto de cruzamento). Ou a fronteira de um bairro/cidade/país, que é composta de tais e tais vias.

Por serem de natureza ligeiramente mais complexa, alguns editores não suportam as relações corretamente. Por exemplo, suponha que a linha de ônibus 123 passe pelas ruas A, B e C. Se por algum motivo o usuário apagar a rua B, o editor deveria avisar que ela faz parte de uma relação. Ou ainda, se dividir a rua B nas ruas B1 e B2 (neste caso, por baixo dos panos B vira B1 e é criada uma nova rua B2), as duas deveriam constar na relação, e de forma automática. Infelizmente isso nem sempre acontece. Por exemplo de novo, o iD (editor padrão do OSM, o que é feito em JavaScript) tem bugs abertos sobre essas características, vide https://github.com/openstreetmap/iD/issues/224 e mais especificamente https://github.com/openstreetmap/iD/issues/1512.

[]s

Eu havia aprendido que os elementos são de três tipos: pontos, linhas e áreas. Usando o iD.

Usando o iD eu havia entendido que um estacionamento pode ser um ponto ou uma área, ou que eu posso ter uma linha que é um corredor de estacionamento.

Essas coisas eu já estava imaginando como relações. Mas não faço ideia de como fazê-las.

Eu já imaginava que a problemática era assim. Nunca cheguei a lidar concretamente com ela por nunca ter conscientemente configurado uma relação.

Faço esses comentários na intenção de comunicar a que passo estou.

Você pode pensar que relações são objetos que agrupam outros objetos. Por exemplo, o contorno de uma cidade como Natal pode ser 1 linha só, ou (usando relações) um grupo de linhas menores que são partes do contorno. Veja aqui em Membros a lista completa dos membros. Esta é a primeira linha que compõe o contorno. Note em Parte de que a mesma linha é usada em outras 2 relações: o limite da cidade vizinha Extremoz, e o limite do bairro Lagoa Azul. Sem relações, você teria que desenhar esse trecho do contorno 3 vezes e sobrepor cada uma das linhas. Pode parecer pouco trabalho, mas daí considere o segundo pedaço, que não só divide as 3 áreas como também serve para mapear um rio. Com relações, você poupa trabalho.

O Arlindo citou que relações servem para rotas de linhas de ônibus. Sem relações, você teria que desenhar a rota ao lado ou por cima das vias que já existem (o que por si só seria uma bagunça quando você tem 20 rotas passando pela mesma rua), e se alguém decidisse alterar a via principal (digamos, porque está desalinhada com o satélite), teria que alterar também todas as rotas de ônibus, uma por uma.

Quando você inclui algo numa relação, você atribui um papel (em inglês, role) a essa coisa. Esses papéis são diferentes para cada tipo de relação. Em limites administrativos (como os que definem o contorno de Natal), os papéis geralmente são “outer” (que quer dizer que a linha um limite externo do contorno). Se Natal tivesse um buraco dentro de si, teria também linhas com o papel “inner”. Isso acontece em alguns países que têm “enclaves” (ex.: Vaticano é um enclave na Itália, a Itália, portanto, tem um buraco preenchido por outro país). Sem relações, você não teria como representar um polígono com um buraco dentro, porque linhas comuns só representam contorno externo das áreas. Um exemplo disso é este delta na cidade onde eu moro (veja que tem membros outer e inner).

Se você quiser aprender mais sobre relações, sugiro começar investigando aqui: http://wiki.openstreetmap.org/wiki/Types_of_relation

Áreas na verdade são linhas fechadas (1º ponto = último ponto) com tags que dão o significado de área à linha.

Está certo.

O iD faz essa diferenciação para facilitar, mas na real é a mesma coisa. A diferença é que a “linha” é uma via aberta, e a “área” é uma via fechada (o primeiro e último ponto são os mesmos).

Estou procurando documentação sobre como criar uma relação de restrição de conversão mas não estou encontrando. Hora de criar! :slight_smile:

[]s

Com as explicações do Fernando Trebien, descobri que já vinha fazendo relações com o iD, quando colocava árvores exatamente em cima de calçadas e quando usava ruas para os limites de uma praça. E tem outros casos similares.

No caso das áreas, com iD, para fazer relações eu vou clicando cada ponto de fronteira que já existe.

Fiz um tutorial: http://forum.openstreetmap.org/viewtopic.php?pid=400651#p400651

[]s

Ah não, isto não é uma relação, e não é o jeito recomendado de mapear praças também. Você apenas reaproveitou os pontos. Nesse caso você ainda tem 2 linhas sobrepostas: 1 linha para a rua, sobrepondo 1 linha para a praça em cada um dos trechos do contorno. Sobreposição de linhas é algo que dificulta a manutenção do mapa, portanto, você deve mapear os pontos da praça separadamente. Pode ser no limite do meio-fio ou no limite entre a calçada e a praça. Um exemplo.

Com relações, você usaria apenas 1 linha (para cada rua) e 1 relação (criada de outra forma, sem desenhar pontos) agrupando essas linhas para formar a praça.

No iD não dá mais para mexer nelas separadamente. Por isso eu achei que tinha feito um relação. É essa, a dificuldade?

Eu já fiz coisa assim. Mas tem praça que a maior parte da calçada não faz fronteira com a rua (nesse exemplo, só a calçada nos fundos da igreja faz), então eu achei que a área da praça poderia ser gulosa.

Sem piada: será que isso não é subjetivo e faz parte do “erro que todo mapa tem”?

Mas existem ruas curvas formadas por mais de um seguimento.

No iD eu não agrupo linhas, eu apenas fecho a área. Só que eu estava fazendo isso, às vezes, como diz você, aproveitando os pontos dos encontros/cruzamentos das ruas.

Estou acompanhando a discussão “Reciclagem” de geometria.

Sim, é essa a dificuldade: desgrudar. Tem outras, por exemplo: digamos que a empresa de trânsito decida que a via precisa ter um limite de velocidade inferior, começando no meio dessa quadra. Você então tem que quebrar a via para mudar a tag maxspeed em um dos trechos. Mas se a via e a praça estão grudadas, como você seleciona só a via? Tem como, mas dá bem mais trabalho.

Outra: por que grudar a praça na via se (futuramente) as calçadas poderão ser mapeadas como linhas, daí você grudaria a praça onde, na calçada ou na via principal? (A resposta, sendo mais rigoroso, é: nenhuma das duas. A praça acaba antes do eixo da calçada, exatamente no contorno da calçada, então a geometria deve acabar antes do eixo, exatamente onde seria o contorno.)

Pra você desgrudar vias no iD, faça o seguinte:

  1. Selecione um dos pontos compartilhados entre a rua e a praça
  2. Aparecerão 4 ícones ao redor. Escolha o que diz Desconectar essas linhas/áreas umas das outras.
  3. Selecione o ponto novamente, e mova em qualquer direção. Você vai ver que só 1 das linhas se mexe e as demais não, e que terá outro ponto por baixo deste.
  4. Faça isso de novo. Agora outra linha se mexe.
  5. Repita até que não sobre um ponto nessa posição. Assim, você terá separado todas as linhas nesse ponto. Com isso, você consegue selecionar qualquer uma das linhas - inclusive a linha da praça.
  6. Para os demais pontos da praça, não precisa mover, mas precisa repetir a ação Desconectar essas linhas/áreas umas das outras.
  7. Agora mova a praça inteira pra outro lugar, depois mova cada um dos seus pontos para a posição final (próximo do limite entre a praça e a calçada).
  8. Lembre que, tendo desconectado os demais pontos da via, pode ser que existam vários pontos sobrepostos. Você vai ter que ajustar linha por linha para que todas fiquem coerentes e alinhadas.

Viu o trabalho que dá?

Tem coisas que são subjetivas, mas “algo que dificulta a manutenção do mapa” é bom motivo em favor de um jeito mais rigoroso de mapear que não dificulta (mas dá um pouquinho mais de trabalho).

No caso que você apontou, a praça faz fronteira com (1) a calçada, que faz fronteira com (2) áreas de estacionamento, que fazem fronteira com (3) a área da rua (que não é mapeada). Ainda assim, nada faz fronteira com o eixo da rua.

Mesmo linhas retas podem ter mais de um segmento. Eu estava falando de um caso simples, só pra ilustrar como seria. Na verdade, tem combinações possíveis difíceis de prever (e isso seria mais uma razão pra desgrudar as praças).

O pulo do gato (que eu levei uns meses pra entender quando comecei no OSM) é que a linha que representa a rua não representa a sua área e que só faz sentido grudar áreas. A linha representa aproximadamente a forma da rua e expressa que “é possível passar por ali”, mas ela não diz nada sobre a largura da via, sobre se tem calçada ou não. Isso pra mim ficou mais claro quando eu comecei a mapear rios. Por exemplo, esta hidrovia representa por onde um navio pode passar, que é a linha de maior profundidade dentro deste lago. A hidrovia serve para dizer “por onde o navio passa”, e a área estabelece “a área da via” (que no caso é enorme e cheia de detalhes no contorno). Numa rua não é muito diferente. Considere esse outro caso: este é o eixo da via (que é trafegável), e esta é a área do lugar. Embora a área seja inteiramente transitável, apenas o eixo é usado para roteamento por aplicações. A área serve apenas para o rendering. Esta área tem outras áreas grudadas nela, como esta praça. “Estar grudado” quer dizer que a linha sobreposta é o limite exato de ambas e que não existe absolutamente nada entre elas (nem sequer uma calçada).

Uma extrusão no JOSM?

Eu sempre entendi aquelas calçadas como pertencentes às praças.

Mas é uma extrusão no JOSM?

Aquela calçada do fundo da igreja faz fronteira com a praça e a igreja fica por cima da praça, ou a igreja é um buraco dentro da praça?

Entendido.

O que exatamente você chama de “extrusão”? O JOSM tem um operador de extrusão que duplica a linha, sem alterar a original. De qualquer forma, nem todo o mundo usa o JOSM.

A calçada pertence à praça é algo que pode ser bem subjetivo sim. Tente mapear algumas calçadas e praças e veja qual maneira é mais simples, incluindo a calçada na praça ou deixando-a de fora. (Eu já fiz várias praças e a geometria geralmente fica mais simples quando a praça não inclui a área da calçada.)

Se você está passando a pé pela calçada, você diz que está “na praça” ou você diz que está “do lado da praça”? Genericamente, as pessoas não se preocupam com isso, mas se tivesse alguém do outro lado da rua procurando por você, você provavelmente diria pra essa pessoa que está “do lado” e não “na” praça. (Outra coisa que só ficou clara pra mim faz pouco tempo. Pode ter umas exceções por aí, então não deve ser visto como regra geral isso.)

Sim, eu referi-me a aquela “extrusão” que está em seu comentário de 19-02-2014 8:15:21 pm:

OK. Estou satisfeito em saber que não temos uma regra geral mas ainda temos critérios. Nos casos daqui, nos de minha observação, todas as calçadas são das praças. “Eu estou no banco da praça na calçada da praça”. Essas calçadas tem bancos, lixeiras, postes de iluminação, são feitas de um único material, e elas cruzam as praças. Ou eu deveria vazar as praças para passar as calçadas, deixando árvores, bancos, lixeiras e postes de iluminação dentro das várias formas da praça repartida (no caso de realmente parecem deslocados da calçada) e não na linha da calçada?

O critério meio que evolui sozinho, mas não quer dizer que seja uma determinação final viu. Você pode pensar a respeito e discutir formas alternativas de mapear. Diferentes mapeadores empregam estilos diferentes - eu estou tentando influenciar o seu estilo baseado na minha experiência.

Talvez a gente esteja usando a palavra “calçada” com um significado diferente. Aqui pro sul, o que passa dentro da praça não seria chamado de calçada. O conceito aqui é mais próximo do de “sidewalk” (side+walk) mesmo: o caminho de pedestres que acompanha a lateral de uma rua. Nessa visão, o que passa dentro da praça pode ser um highway=path ou um highway=footway (ou até um highway=pedestrian), mas não teria a tag sidewalk=left/right/both.

Talvez ajude esse exercício: experimente (sem submeter pro OSM) desenhar a área da rua, a área da calçada, e a área da praça. Daí, desenhe a linha do eixo rua, a linha do eixo da calçada, e alguns dos elementos dentro da praça (bancos, lixeiras, postes). Depois, tente selecionar esses elementos individualmente, movê-los, grudá-los, desgrudá-los, etc. Teste as possibilidades: grudado, desgrudado, sobreposto, separado. Em cada caso, veja o que está dentro de cada polígono e responda às perguntas: “onde eu estou?” (dentro da calçada, dentro da praça, fora da praça, ou no limite da praça, etc.) e “como eu chego até [lugar]” onde [lugar] é cada um dos elementos que você mapeou (lembrando que você só pode chegar lá se for próximo de uma linha - porque só linhas são roteáveis - e se as linhas estiverem devidamente conectadas nos pontos em que se pode passar de uma linha para outra).

Nada impede que você esteja em dois lugares ao mesmo tempo. Mas se você consegue distinguir entre “estar na calçada” e “estar dentro da praça”, talvez faça mais sentido não sobrepor as duas áreas (mesmo que você não venha a mapear uma delas, como costuma ser o caso com as calçadas e as ruas).

Às vezes uma via de trânsito recebe o nome de uma praça. Esse foi um caso que me fez pensar muuuuuuito tempo. A rigor, a área da praça deveria incluir a área da rua + as suas dependências (ambas as calçadas). O resultado final não fica muito bom, e fica estranho pra maioria das pessoas. O melhor mesmo é deixar a rua de fora, como uma entidade à parte. E se a rua fica de fora, então não tem muito motivo pra incluir a calçada.

Eu já estava mentalizando o que agora você propôs como exercício.

Realmente, com a palavra “Calçada” (iD), estamos a falar de duas coisas diferentes. Uso a palavra por causa do aspecto visual, e principalmente por causa do iD. Parece muito com calçadas de fato. Não usei “Calçadão” (iD) porque as vias não são largas. Apesar de que, mesmo sabendo da ausência de conotação comercial, em algumas porções de praça eu fiz manchas de Calçadão (iD). Observe a principal praça em questão: Praça Henrique Carloni. Tenho trabalhado nela. Está incompleta. Aquelas manchas cinza são “Calçadão” no iD.

Nem adianta olhar o Bing, só tem nuvem. Mas dê uma espiada aqui; experimente passear todo o contorno da praça. Logo de início você verá que há área de estacionamento não mapeada, em frente a uma igreja Assembleia de Deus, dentre outras coisas. Tente não se confundir e mantermos o foco na questão da “calçada”.