Atualmente, estou tentando extrair redes de estradas dos dumps do OpenStreetMap baixados no Geofabrik . Estou usando o seguinte comando de osmose (versão 0.45) para extrair estradas:
osmosis \
--rbf input.osm.pbf \
--tf reject-relations \
--tf accept-ways highway=motorway,motorway_link,trunk,trunk_link,primary,primary_link,secondary,secondary_link,tertiary,tertiary_link,unclassified,residential \
--tf reject-ways highway=construction \
--lp --wb output_roads.osm.pbf
Isso deve retornar um arquivo contendo todas as estradas de automóveis, exceto as de serviço.
No entanto, faltam algumas (e às vezes muitas) estradas. Eu tentei este comando em 3 arquivos de entrada:
- Região francesa "Midi-Pyrénées": a rede rodoviária parece quase completa. A tabela de atributos contém 72010 elementos.
- toda a França: faltam muitas estradas. A tabela de atributos contém apenas 65803 elementos (menos de uma única região). Todos os tipos de rodovias são impactados: primário para residencial. Não existe um padrão óbvio para as estradas que faltam.
- toda a Europa: quase todas as estradas estão faltando. A tabela de atributos contém 62092 elementos (menos que toda a França ...).
Eu acho que há alguma limitação que eu não conheço, no comando osmose ou no arquivo de saída. O que eu estou fazendo errado aqui?
Isso pode não estar relacionado, mas tentei usar a --used-node
opção para reduzir o tamanho dos arquivos de saída, mas isso sempre gera um erro ( org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to create object stream writing to temporary file null.
). Eu não tenho ideia do porquê.
Atualização 29/08/2018: Eu também tentei usar osmfilter
( input.o5m --keep="highway=" > output_roads.osm
), com os mesmos resultados. Tentei osmose e osmfilter no Windows 7 e no Debian 9.5 (ambos de 64 bits).
--rb
?
your suggestion gives almost the sames results (65356 elements for France)
: Isso me chamou a atenção: 65356 é exatamente uma limitação de valor de 16 bits (2 ^ 16), como um valor máximo de Int16. Eu acho que deve ser a limitação que você está procurando. Talvez você não possa obter mais de 2 ^ 16 recursos no máximo.