La cantidad de datos que hay en OpenStreetMap es realmente amplia, y pese que no está totalmente actualizada, en la mayoría de casos es más precisa que datos tradicionalmente levantados por medio de hojas cartográficas con escala 1:50,000.
En QGIS es genial cargar esta capa como mapa de fondo tal como la imagen de Google Earth, para lo que ya existen plugins, pero esto es solamente un mapa de fondo.
¿Qué pasa si lo que se desea es tener la capa de OpenStreetMap como vector?
1. Descargar la base OSM
Para realizar esto, se debe elegir el área de donde se espera descargar datos. Es obvio que áreas muy grandes, donde hay mucha información, el tamaño de la base de datos será inmenso y tardado. Para realizar esto, se selecciona:
Vector > OpenStreetMap > Descargar
Aquí se selecciona la ruta donde se descargará el fichero xml con extensión .osm. Es posible indicar el rango de cuadrante a partir de una capa existente o por el despliegue actual de la vista. Una vez seleccionada la opción Aceptar, se inicia el proceso de descarga y se va mostrando el volumen de datos descargados.
2. Crear una Base de datos
Una vez descargado el fichero XML, lo que se requiere es convertir este en una base de datos.
Esto se hace con: Vector > OpenStreetMap > Importar topología a partir de XML…
Aquí nos solicita que ingresemos la fuente, el archivo DB SpatiaLite de salida y si queremos que se cree la conexión de importación de inmediato.
3. Llamar la capa a QGIS
Llamar datos como una capa requiere:
Vector > OpenStreetMap > Exportar topología a SpatiaLite…,
Se debe indicar si vamos a llamar solamente puntos, líneas o polígonos. También con el botón Cargar de la base de datos se puede listar cuales son los objetos de interés.
Como resultado, podemos cargar la capa a nuestro mapa, como se ve en la imagen siguiente.
Por supuesto, por ser OSM una iniciativa de código abierto, pasará mucho para que las herramientas privativas hagan este tipo de cosas.