Overpass - Os valores das tags
於 2019年九月28日 由 luisforte 以Portuguese (Português)發表。 上一次更新在 2019年十月15日。Inúmeras vezes deparamos com tags que apresentam valores incorrectos, algo designado como “dirty data” nos sistemas de armazenamento de dados. [building=casa], é um exemplo que todos já terão visto. Alguns destes erros são causados por distração, outros pelo desconhecimento das regras que indicam quais os valores aplicáveis a uma tag.
A identificação de todos estes erros num só passo, é a melhor forma de permitir a sua correcção, ao invés daquela que fazemos ao editar o mapa quando deparamos casualmente com um exemplo isolado.
Overpass QL possibilita a extração desta informação numa qualquer região.
Vamos aqui analisar, como exemplo, a sanidade da tag waterway.
Neste exemplo, a listagem de todos os valores contidos na tag waterway e do respectivo número de ocorrências em Portugal, pode ser obtido com a execução da query https://overpass-turbo.eu/s/MGf .
Os resultados desta query discriminam o somatório por tipo de objecto ( node, way e relation), sendo apresentada a soma destes três valores na coluna total.
Hoje, 28 de Setembro, a execução desta query devolve o seguinte resultado:
waterway nodes ways relations total
boatyard 13 25 5 43
canal 0 4836 11 4847
dam 42 692 25 759
ditch 0 2091 1 2092
dock 7 34 3 44
drain 1 3890 3 3894
fairway 0 1 0 1
fish_pass 0 1 0 1
fountain 1 0 0 1
fuel 9 0 0 9
harbour 0 1 0 1
lake 0 12 0 12
lock 2 0 0 2
lock_gate 25 4 0 29
pressurised 0 2 0 2
pumping_station 3 1 0 4
reservoir 0 79 1 80
resservoir 0 2 0 2
river 0 2800 116 2916
riverbank 0 875 98 973
sanitary_dump_station 0 1 0 1
screen 2 0 0 2
spillway 0 1 0 1
stream 4 29510 80 29594
turning_point 1 0 0 1
water 0 1 0 1
water control box 1 0 0 1
water_point 1 1 0 2
water_well 1 5 0 6
waterfall 335 17 0 352
weir 238 459 2 699
yes 4 42 0 46
Esta tabela pode ser copiada e colada em Excel/Numbers/Calc ou qualquer outra folha de cálculo, para melhor claridade.
Observando o resultado da query rapidamente identificamos valores aparentemente incorrectos ou imprecisos .
Muitas vezes carecem apenas de uma ligeira correção.
Outras vezes poderão ser eliminadas as geometrias, caso se trate de objectos inexistentes no terreno.
Um water_well, bem como reservoir, não se enquadram nesta tag.
resservoir não se enquadrará em nenhuma tag. O valor yes para esta tag deverá ser requalificado para uma correcta caracterização do elemento. A existência de 4 nodes com o valor de stream nesta tag também é objecto de análise.
Valores, como boatyard, não existem na página da wiki referente a waterway; isso não implica contudo que o valor da tag seja inválido. Em caso de dúvida, procurar o termo na wiki será sempre útil, dado que este valor boatyard existe para esta tag, embora numa página distinta.
Para possibilitar a visualização/edição das geografias que apresentam um dos valores incorrectos apresentados na lista acima, poderá ser aplicada a seguinte query em Overpass QL, neste caso para obter todas as geometrias que contém a tag [waterway=yes]
area[name=Portugal];
nwr["waterway"="yes"](area);
out;
>;
out;
Para analisar os 4 nodes, referidos anteriormente, que contém [waterway=stream], convirá isolar os nodes dos restantes objectos, ways e relations, para permitir a sua fácil visualização no mapa, com a seguinte query:
area[name=Portugal];
node(area)["waterway"="stream"];
out;
semelhante à query anterior, mas onde a palavra nwr é substituída por node, além da redução das duas linhas finais.
Curiosamente todos estes 4 nodes têm esta tag incorrectamente atríbuida, não estado sequer integradas em cursos de água, como se pode verificar no resultado desta query. Eventualmente serão nodes candidatos a serem eliminados.
Considerando a primeira query aqui referida, que devolve as tags existentes e respectivo número de ocorrências:
- Neste exemplo foram analisados os valores contidos na tag waterway. Para analisar a sanidade de outras tags, todas as (5) ocorrências da palavra waterway deverão ser substituídas pela tag que se pretende analisar, como por exemplo man_made. Executar a query para verificar os valores existentes na tag amenity é certamente mais divertido dada a variedade de valores apresentados, cerca de 300.
- Uma vez que esta query não devolve quaisquer dados com coordenadas geográficas, o mapa não vai apresentar qualquer informação. Para visualizar os dados deverá ser seleccionada a secção "Data", no canto superior direito.
Não fiz qualquer alteração ou correção aos elementos referidos neste texto, de forma a permitir que ao ser executada qualquer das queries se possam verificar as observações aqui feitas. Se os resultados diferirem será devido a alterações posteriores a esta data.
討論
由 Silva1989 於 2019年09月29日 12時19分 發表的評論
Obrigado!