Porque usuários veteranos preferem o JOSM?

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

Sim, você marcou três calçadões na praça. Calçadão é marcado com a tag highway=pedestrian, e ela é usada de duas formas no OSM:

  • em áreas (caso em que recebe também a tag area=yes) - mas não é roteável; exemplo
  • em linhas (caso roteável); exemplo

Hm a geometria parece corresponder muito bem com o mapa do Google. Você fez ela traçando sobre essa imagem?

Esse é um dos casos em que precisa usar o bom senso. A calçada ora está junto à rua, ora esta afastada (separada por um pequeno gramado). Nessa situação, acho que faz sentido pensar que a calçada está dentro da praça e que a praça vai até o meio-fio com a rua. É uma situação atípica: calçadas normalmente acompanham a rua de uma ponta à outra da quadra (e é o que acontece em várias praças).

Claro que não. Mas eu dei uma “espiada” na outra aba do navegador. E fui no local mais de uma vez, gravando track e waypoints. Foi essa experiência que me motivou a fazer os comentários sobre perfeição, abas abertas com o Google Mapas e risco de ilicitude. Eu olho para meu trabalho, sei que não coloquei imagem da Google em baixo, mas penso: como raios eu vou me defender se alguém me acusar de ter traçado com a imagem em baixo?

Ah, então está ok. :smiley: Ficou muito bem feito.

Pra você se defender, teria que usar ferramentas mais complexas (que nem nós mesmos temos porque nunca foi necessário). Teria que sobrepor o seu mapa ao do Google, encontrar uma distorção na imagem do Google que deixasse uma “assinatura geométrica” (ex.: todos os pontos com um leve deslocamento de X centímetros na direção Y, talvez com algum padrão ripple numa direção específica), daí teria que mostrar que a mesma assinatura está presente na sua geometria (segundo algumas regras estatísticas envolvendo correlação e distribuições normais).

Se você fizer à mão, pode ficar tranquilo que essas estatísticas dariam resultado negativo exceto 1 vez em cada 1 bilhão ou trilhão de vezes, mas daí seria um caso isolado e ninguém iria reclamar. O que não pode é dar positivo 1 em cada 10 vezes, como seria no caso de você ter de fato traçado sobre o Google.