¿Hacer mapa de calor de datos de línea en QGIS?


12

Quiero realizar un análisis de densidad de línea para mis datos de línea, basado en un atributo.

La opción de mapa de calor (análisis de densidad del kernel) parece ser solo posible para datos de puntos.

Intenté convertir los datos de mi línea en puntos y crear un mapa de calor, pero los atributos para el peso se perdieron en la conversión.

Este es un análisis de densidad de línea realizado con ArcGIS. Estaba buscando hacer lo mismo con QGIS.

ingrese la descripción de la imagen aquí

¿Es posible realizar un análisis de densidad de línea similar en QGIS? y estos son los datos de QGIS

Respuestas:


4

No puedo encontrar una manera de hacer esto en QGIS a través de las funciones DB Manager / SQLite, pero en PostGIS, hacemos lo siguiente:

select
(ST_DumpPoints(l.geom)).geom
from linedata as l

Esto, exportado a una nueva tabla, permite los puntos de las líneas (para nuestro caso de estudiantes de PGRouting a su escuela) para que podamos visualizar el punto de acceso de las rutas que los estudiantes 'podrían' tomar:

ingrese la descripción de la imagen aquí


4

De hecho, es posible hacer densidad de línea en QGIS usando los menús estándar que envían parámetros a los ejecutables de GDAL.

Usar gdal_rasterize usando el modificador -burn -add crearía una trama de densidades de líneas o puntos, sin radio de búsqueda como densidades de kernel y similares. Cuántos puntos o cuántas líneas hay dentro de una celda ráster.

gdal_rasterize se encuentra en el menú Ráster -> Conversión -> Rasterizar. En el último campo de texto, presiona el botón del lápiz y altera el texto para incluir "-burn 1 -add" similar al siguiente. Naturalmente, cambia los parámetros -tr (resolución) y el nombre de entrada y salida según su situación.

gdal_rasterize -burn 1 -add -tr 200.0 200.0 -l líneas C: /lines.shp C: /out_lines.tif

Jukka Rahkonen me dio pistas sobre la lista de correo de gdal_dev. He estado buscando esto por literalmente años.

Con respecto a los valores de las celdas ráster para líneas rasterizadas, no estoy seguro de lo que representan los valores. Aparentemente no es el número de líneas o longitudes de líneas.

Densidad de línea con gdal_rasterize


3

Usando un enfoque similar a la respuesta de @DPSSpatial, usaría el complemento QChainage para crear puntos espaciados uniformemente a lo largo de cada línea.

Este complemento genera puntos a lo largo de la línea, pero no copia a través de ningún atributo desde la línea.

Aquí estoy asumiendo WGS84 (4326, Grados Lat / Lon). Probablemente quiera hacer esto usando una proyección apropiada en metros.

  • use QChainage para generar puntos a lo largo de la línea, por ejemplo, cada 0.05 grados
  • Proteger esta capa, por ejemplo, 0.001 grados.
  • Realice una unión espacial ( Vector> Herramientas de administración de datos> Atributos de unión por ubicación ) (usando "Intersecar"), desde los puntos almacenados en búfer a su capa de línea original. Esto permitirá que los puntos recojan el valor de influencia de las líneas debajo de ellos.
  • Convierta esta capa de nuevo a puntos usando Vector> Herramientas de geometría> Centroides poligonales

Finalmente, usaría el renderizador de mapa de calor estándar. Asegúrese de usar los puntos de peso configurando y usando el campo de influencia.

Ahora deberías tener algo como esto. Los números a lo largo de cada línea muestran el valor de "influencia".

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.