No QGIS 1.8, usei o plug-in openstreetmap para solicitar dados do servidor ou abrir um arquivo XML .osm, que produziu 3 camadas (polígonos, polilinhas e pontos) no QGIS.
Isso foi ótimo (mais ou menos o bug de 64 bits que afeta muito a área recentemente mapeada em que trabalho), mas como faço isso no QGIS 2.x?
Não consigo encontrar nenhuma documentação atualizada sobre isso.
No menu de vetor, tentei importar de servidores osm, recebo um arquivo .osm, mas depois estou preso. Há uma opção de menu para carregar um arquivo XML, mas ele produz um espaço espacial db, que aparentemente só possui tabelas não-geométricas quando tento adicioná-lo como uma camada espaço espacial. Se eu abrir a tabela de atributos, posso ver os IDs dos nós, maneiras e assim por diante, mas não consigo descobrir como realmente usá-los.
Eu também tentei adicionar uma camada de vetor de um arquivo XML .osm. Recebo uma janela gpsbabel que não mostra nada e, finalmente, uma mensagem de fonte de dados inválida no QGIS.
fonte
Respostas:
Atualização para o QGIS 3.x : O antigo importador OSM do QGIS 2 foi descartado no QGIS 3 devido a muitos bugs não resolvidos. O plug-in QuickOSM também permite ler arquivos RAW osm. Você pode usar o usuário Camada - Adicionar camada - Adicionar camada vetorial. Nesse caso, os dados do OSM são abertos com o GDAL, conforme documentado em http://gdal.org/drv_osm.html
No QGIS 2.x , há 3 etapas envolvidas
A camada é adicionada ao mapa, se você quiser todos os nós, maneiras de repetir a etapa 3 com outras opções.
http://wiki.openstreetmap.org/wiki/QGIS#QGIS2_OpenStreetMap_Vectors
fonte
Achei o download de dados do OSM usando o plug-in e o processo de importação e exportação foi muito tedioso. Por isso, escrevi uma solução diferente: http://anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/
Resumo:
Arquivos OSM brutos podem ser bastante grandes. É por isso que é definitivamente preferível fazer o download do formato binário compactado .pbf em vez do formato XML .osm. Como fonte de download, eu recomendaria o Geofabrik .
Para a primeira etapa de pré-processamento: extraindo a área de interesse, podemos usar Osmose:
C:\Users\anita_000\Geodata\OSM_Noirmoutier>..\bin\osmosis.bat --read-pbf pays-de-la-loire-latest.osm.pbf --bounding-box left=-2.59 bottom=46.58 right=-1.44 top=47.07 --write-xml noirmoutier.osm
Embora o QGIS também possa carregar arquivos .osm, descobri que o desempenho e o acesso a atributos melhoram muito se o arquivo .osm for convertido em espaço espacial.
C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm
No QGIS, podemos carregar os pontos, linhas e multipolígonos usando a opção Adicionar camada SpatiaLite. Quando carregamos as tabelas spatialite, existem alguns problemas:
Criar os polígonos do rio ausentes não é grande coisa:
Criar o polígono terrestre (ou polígono marítimo, se você preferir por algum motivo) é um pouco mais complicado, pois na maioria das vezes a costa não será fechada pelo simples motivo de que estamos cortando um pedaço de terra do continente principal. . Portanto, antes de podermos usar as ferramentas Poligonizar, precisamos fechar a área. Para fazer isso, sugiro primeiro selecionar o litoral usando "other_tags" LIKE '% "natural" => "litoral"%' e criar uma nova camada a partir dessa seleção (salvar a seleção como…) e editá-la (não esqueça para ativar o snap!) para adicionar linhas para fechar a área. Então poligonize.
fonte
--config OGR_SQLITE_SYNCHRONOUS OFF
.Se você não gostar do plug-in, busque os dados OSM necessários com a API Overpass e adicione o resultado ao QGIS com
Add Vector Layer
(All files
filtro de identificação ).O QGIS 2.0 usa o importador ogr2ogr OSM do GDAL 1.10, que faz um bom trabalho.
O suporte à relação parece ser melhor do que o plugin no momento.
Apenas certifique-se de baixar completamente as formas e as relações , ou seja, todos os nós das formas e todos os membros das relações, com todos os seus nós.
fonte
Você não precisa colocar os dados no SpatialLite. Você pode apenas:
fonte