Como converter OSM para GeoJson

Hum… é HTTPS
Então roda isso também:

npm config set https-proxy http://endereco-do-proxy:porta

Se o problema for proxy isso resolve.

Qualquer coisa, conecta no IRC http://webchat.oftc.net/?channels=osm-br que fica mais rápido pra gente arrumar isso.

Configurei o proxy e funcionou mas agora tenho este erro.

FATAL ERROR: JS Allocation failed - process out of memory

Como aloco mais memoria ? Tenho 16 de RAM

Tenta isso:
node --max_old_space_size=8192 X arquivo.osm > saida.geojson

X aqui é onde está instalado o osmtogeojson
Deve ser C:\Users\seuusuario\AppData\Roaming\npm\node_modules\osmtogeojson provavelmente

naoliv, se você colocar suas linhas de comando em tags code, esta página ficará melhor apresentada.

C:\Temp> node --max_old_space_size=8192 C:\Users\XXXXX\AppData\Roaming\npm\osm
togeojson sp.osm > sp.geojson

C:\Users\XXXXX\AppData\Roaming\npm\osmtogeojson:2
basedir=dirname "$0"
^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions…js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

Isso é quando o caminho está errado
É pra ter mais coisa no caminho que você está utilizando, como esse:

C:\Users\seuusuario\AppData\Roaming\npm\node_modules\osmtogeojson

E aparece no IRC que fica melhor e mais rápido :slight_smile:

Eu tinha achado estranho, mas segundo o que está escrito por naoliv, haveria um espaço para o nome do arquivo:

node --max_old_space_size=8192 C:\Users\XXXXX\AppData\Roaming\npm osmtogeojson sp.osm > sp.geojson

Update: li errado.

Outra coisa: XXXXX é realmente o nome do usuário?

naoliv, a desvantagem de resolver as coisas por IRC é que a solução não fica automaticamente registrada.

naoliv , nao tenho como entrar no Mirc.

Alexandre XXXXX nao e o nome do usuario.

Tentei novamente, em qual pasta eu devo dar esse comando de node ?

C:\Temp> node --max_old_space_size=8192 C:\Users\XXXXX\AppData\Roaming\npm\osm
togeojson berlin-latest.osm > berlin.geojson

C:\Users\XXXXX\AppData\Roaming\npm\osmtogeojson:2
basedir=dirname "$0"
^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions…js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

Se você instalou com o “npm install -g osmtogeojson” então o caminho realmente vai ser C:\Users\seuusuario\AppData\Roaming\npm\node_modules\osmtogeojson
O seu está diferente: C:\Users\X\AppData\Roaming\npm\osmtogeojson

O node você pode executar em qualquer lugar. É o caminho que está errado (faltando node_modules ali no meio)

naoliv tira o meu user do seu post por favor

Rodei novamente e o arquivo Geojson e gerado vazio. Eu rodei na mesma pasta que o arquivo sp.osm esta.

Mas não deu erro?
O que tem no log?

Nao gerou log

Nada novo em C:\Users\XXXXXXX\npm-debug.log?

Nenhum log. O QGIS consegue gerar um .geojson a partir de um .osm ?

Tá, faltou “osmtogeojson” no final:

node --max_old_space_size=8192 c:\Users\X\AppData\Roaming\npm\node_modules\osmtogeojson\osmtogeojson arquivo.osm > saida.geojson

Testei aqui e funciona certo.

naooliv, obrigado pela ajuda novamente.

Funcionou novamente mas mesmo com max old space 16192 nao foi.

Talvez eu precise filtrar o arquivo .OSM , pois eu so quero as divisoes da cidade por exemplo nada mais. Devo abrir outro topico sobre isso ?

Você quer só os limites administrativos?

Usa o osmfilter http://wiki.openstreetmap.org/wiki/Osmfilter#Download assim:

osmfilter entrada.osm --keep-nodes= --keep-ways-relations="boundary=administrative" > saida.osm

E usa o saida.osm para converter no osmtogeojson

Muitissimo obrigado a todos. Funcionou aqui converti para .geojson

Parece que aqui dá para abrir e depois salvar como GeoJSON:

http://geojson.io/