OpenStreetMap

Quando usar túnel e ponte/viaduto juntos

Posted by naoliv on 10 August 2016 in Brazilian Portuguese (Português do Brasil)

Resposta rápida é "quase nunca".

Sempre vejo as pessoas mapeando uma ponte/viaduto em uma rodovia e colocando o trecho que passa debaixo desse viaduto como "túnel", de forma errada.

Exemplos (pontes com uma borda azul e túneis com uma borda alaranjada):

Nesses casos não é para utilizar um túnel passando debaixo da ponte/viaduto.
Ou se utiliza um túnel ou uma ponte, mas não os dois (e nesses exemplo o correto é, se não na maioria das vezes, sempre utilizar uma ponte)

Como já tenho um banco SpatiaLite com SP + MG eu pensei numa forma de detectar isso:

    SELECT
        'w' || a.osm_id || ' w' || b.osm_id AS 'ways',
        Intersection(a.GEOMETRY, b.GEOMETRY) AS 'geometria'
    FROM
        lines AS a,
        lines AS b
    WHERE
        a.ROWID IN (SELECT ROWID FROM SpatialIndex WHERE f_table_name = 'lines' AND search_frame = b.Geometry) AND
        a.highway IS NOT NULL AND
        b.highway IS NOT NULL AND
        a.other_tags LIKE '%"bridge"=>%' AND
        b.other_tags LIKE '%"tunnel"=>%' AND
        Crosses(a.GEOMETRY, b.GEOMETRY)

E dá certo! (alguns dos exemplos são as imagens do começo).

Ele retorna uma coluna contendo o id dos dois caminhos que se interceptam (uma ponte e um túnel) e uma geometria da interseção (caso queira adicionar um nó de fixme para verificar)

Mais uma Gambiarra que funciona™ para a minha lista de coisas para verificar.

Então ao ver um caminho passando debaixo de uma ponte, não é para transformá-lo em túnel. Essas passagens debaixo de uma ponte não são túneis (em geral).

Comment from santamariense on 12 August 2016 at 13:56

Preciso aprender a usar o SpatiaLite.

Comment from BladeTC on 12 August 2016 at 17:40

Desculpe ae, sempre usei "tunnel" até entender o que realmente "layer" significava........

Login to leave a comment