QGIS y mapeo ráster en la capa 'Seamless'

8

Me gustaría utilizar el mapeo base de Ordnance Survey en QGIS. Me gustaría configurar algo así como una tabla perfecta en MapInfo. Creo que el equivalente en QGIS es una tabla ráster virtual. Los archivos están en formato tif como cuando los descargué.

He construido un VRT pero parece lento cargar cuando abro la capa. También he intentado construir pirámides para los datos y esto no parece acelerarlo demasiado.

¿Hay alguna manera de acelerar esto? ¿Me estoy perdiendo de algo? ¿Existen buenos recursos sobre los pasos a seguir para preparar los datos ráster para su uso en QGIS?

¿Sería mejor comenzar a cargar esta información en una base de datos PostGIS con PostGIS Raster instalado?

James S
fuente
En los últimos días he creado dos bases de datos Rasterlite utilizando imágenes ráster OpenData del sistema operativo. Cada uno cubrió un cuadrado de la cuadrícula del sistema operativo de 100 x 100 km, el primero (Vector Map District Rasters) con cien fichas y el segundo (Streetview) con cuatrocientos fichas. Podría hablar sobre esto si está interesado. Mella.
nhopton
Sería realmente útil obtener las instrucciones sobre cómo hacerlo. Estoy pensando en agregarlos a una base de datos PostGIS cuando actualizo mi PostGIS a 2.0.
James S
De acuerdo, James, ¿qué dataset ráster del sistema operativo usarás? Solo para que pueda adaptar las líneas de comando para adaptarlas. Mella.
nhopton
Estoy usando VectorMap District Raster y también los rásteres StreetView. Principalmente interesado en VectorMap District para empezar.
James S

Respuestas:

9

¿Están los TIF en mosaico? Las imágenes ráster del OS Vector District que tengo no son. Para descubrir el uso de QGIS, cargue uno de los rásteres y seleccione Información en el menú Ráster . Haga clic en Aceptar, y en algún lugar después de la proyección y los metadatos, debería ver una línea similar a:Band 1 Block=4000x65 Type=Byte, ColorInterp=Palette

Si, como en este caso, el tamaño del bloque es el ancho de la imagen x algún número de líneas, convertirlo en un TIF en mosaico puede darle una buena aceleración en la mayoría de los casos. Esto se debe a que tendemos a querer mirar áreas rectangulares de una imagen, y evita que QGIS tenga que cargar una fila completa de píxeles solo para descartar la mayoría de ellos porque quedan fuera de la vista.

Para hacer eso, use el elemento del menú Traducir en el menú Ráster . Puede convertir un directorio completo o solo un archivo a la vez. La configuración clave es la Creation Optionsque debe habilitar e ingresar TILEDpara el nombre y YEScomo el valor. Esto predeterminado es un tamaño de mosaico de 256x256 que debería estar bien para la mayoría de los propósitos, pero es posible especificar otros tamaños agregando BLOCKXSIZEy BLOCKYSIZEa las opciones de creación y especificando el tamaño que desea.

Configuraciones para la herramienta Traducir


Apéndice

Cuando coloque sus imágenes en mosaico, notará un aumento en el tamaño del archivo porque el ancho y la altura de su imagen probablemente no sea un múltiplo del tamaño del mosaico. Entonces, con el ráster OS Vector District, el tamaño efectivo será 4096x4096, un aumento de poco menos del 5% del tamaño del archivo, pero QGIS y otras herramientas lo tratarán transparentemente como 4000x4000.

MerseyViking
fuente
¿Sería beneficioso construir pirámides y poner en mosaico las imágenes?
James S
1
Si, absolutamente. Es posible que deba probar diferentes algoritmos dependiendo de sus datos, algunos producen mejores resultados que otros. "más cercano" es generalmente peor, "cúbico" generalmente proporciona buenos resultados en un tiempo razonable, pero puede encontrar que "spline cúbico" o "lanczos" dan mejores resultados. Le sugiero que pruebe los diferentes algoritmos en la misma imagen y realice una simple verificación visual en QGIS para determinar cuál se ve mejor. Sin embargo, esto es bastante subjetivo.
MerseyViking
la respuesta anterior está un poco desactualizada ahora, las opciones del menú ahora están debajo Raster > Miscellaneous > Build Virtual Raster, el Informationmenú también está debajo de Misc.
Alex
2

Carga de imágenes ráster OpenData del sistema operativo en una base de datos Rasterlite.

Hay binarios precompilados de Rasterlite / Spatialite para Windows (32 y 64 bits), así que tomé esta ruta.

Paso 1, instala el software. Para Windows de 32 bits, vaya aquí: http://www.gaia-gis.it/gaia-sins/windows-bin-x86/ o para Windows de 64 bits, vaya aquí: http://www.gaia-gis.it / gaia-sins / windows-bin-amd64 /

Descargue (como mínimo) los siguientes archivos y descomprímalos en un directorio (utilicé C: / spatialite).

rasterlite_load-1.1c-win-xxx.zip

rasterlite_pyramid-1.1c-win-xxx.zip

rasterlite_topmost-1.1c-win-xxx.zip

spatialite-3.0.1-DLL-win-xxx.zip

spatialite_gui-1.5.0-stable-win-xxx.zip

También necesitará una versión reciente de sqlite3.dll (la que viene con OSGEO4W es demasiado antigua), consígala aquí: http://www.sqlite.org/sqlite-dll-win32-x86-3071100.zip

Descomprima esto en la carpeta C: / spatialite.

Finalmente, agregue C: / spatialite a su ruta.

Paso 2, prepara las imágenes de trama. Los rásteres OpenData son TIFF indexados con archivos mundiales. Para cargarse en una base de datos Rasterlite, estos deben convertirse por lotes en geotiffs. Haga esto en QGIS, Ráster -> Conversión -> Traducir. Use el modo por lotes y (lo más importante) marque 'Expandir' y configure 'RGB'.

Paso 3, cargue el directorio de GeoTIFF en una base de datos Rasterlite. Vaya a su directorio C: / spatialite, haga clic en spatialite_gui y luego cree una nueva base de datos espacial en el directorio que contiene los GeoTIFF, podría llamar a esto 'vmd.sqlite' por ejemplo.

A continuación, abra una ventana de línea de comandos en el directorio que contiene los GeoTIFF y escriba este comando:

rasterlite_load -d vmd.sqlite -T vmd -D. -i wavelet -q 25

Esto debería cargar todos los GeoTIFFs en el directorio en vmd.sqlite, en una tabla llamada 'vmd'. Tomará un tiempo, pero se informará el progreso.

A continuación, construya pirámides:

rasterlite_pyramid -d vmd.sqlite -T vmd -i wavelet -v

Cuando esto termine, establezca el más alto:

rasterlite_topmost -d vmd.sqlite -T vmd -v

Eso debería ser, cargue la nueva base de datos Rasterlite en QGIS a través de Layer -> Add Raster Layer.

Ver: www.gaia-gis.it/gaia-sins/rasterlite-docs/rasterlite-how-to.pdf para más información sobre Rasterlite.

Para concluir. Puede descargar una de mis bases de datos del Distrito Rasterlite VectorMap (VMD) desde aquí (aproximadamente 500 KB):

http://dl.dropbox.com/u/45121071/vmd.sqlite

Haga clic derecho en el enlace para descargar la base de datos, no intente abrirlo en un navegador.

Los rásteres VMD de Ordnance Survey son, por supuesto, una vergüenza borrosa, deslucida, mal diseñada y mal etiquetada, y no se puede hacer un bolso de seda con la oreja de un cerdo. Sin embargo, la base de datos debe cargarse en QGIS sin problemas, se ve mejor a aproximadamente 1: 10000. La representación de la pantalla QGIS tampoco es tan buena, pero puede obtener la mejor calidad disponible exportando imágenes desde el compositor de impresión.

Si tiene problemas para cargar la base de datos, avíseme, funciona aquí en QGIS 1.7.4 (Win) y en Master (Ubuntu). Mella.

nhopton
fuente
gracias por esto. Probaré esto en los próximos días.
James S
Realmente sugiero que descargue mi db de muestra primero, para ver qué puede esperar. En QGIS es posible jugar con esto para que se vea un poco menos desgastado. Mella.
nhopton
Simplemente lo abrí usando Agregar capa ráster. Eso realmente es bastante rápido de cargar. Veré hacer esto entonces. Si no usa rasterlite, use PostGIS 2.0
James S
1

Es posible crear una estructura VRT anidada: una VRT que hace referencia a otros archivos VRT. Por el momento, creo que esto mejora significativamente la rapidez con que se muestran los mosaicos ráster para un conjunto de datos muy grande (es decir, un conjunto de datos con una gran cantidad de mosaicos separados).

Solo he creado archivos VRT anidados utilizando la herramienta de línea de comandos, y estoy comenzando a explorar qué tan útil es. Por el momento, parece que es posible mostrar mosaicos que si se hace referencia a un solo archivo VRT no se muestran en un plazo razonable.

No tengo información sobre qué tan bien funciona esto en comparación con otras opciones, pero fue fácil de configurar debido a un proceso conocido para crear VRT.

Rostranimin
fuente