¿Creando un “mapa de calor” basado en polilínea a partir de pistas GPS?

29

Este invierno estoy planeando rastrear mi esquí alpino / snowboard usando un GPS. La mayor parte de mi montar a caballo ocurrirá en el mismo recurso. Me gustaría poder crear una especie de "mapa de calor" que muestre la cantidad de ejecuciones que he realizado en un área determinada. A medida que agrego más y más trazas de GPS a mi base de datos, mi objetivo sería ver una especie de mapa de calor lineal de las áreas más transitadas. Dada la naturaleza del esquí alpino, es de esperar que las líneas de telesillas ascendentes sean las "más calurosas" porque serán los únicos lugares visitados una y otra vez.

Dado que 1) mi pista no será la misma cada vez y 2) el área cubierta por una "carrera" puede tener unos cientos de pies de ancho, ¿cuál podría ser la mejor manera de analizar estos datos "lineales" para crear una especie de mapa de calor? Mis pensamientos eran amortiguar las líneas, luego cruzar las polis para poner en marcha una especie de diagrama de Venn. Mi preferencia es usar tecnologías de código abierto. Tengo QGIS y PostGIS cargados y disponibles.

ACTUALIZACIÓN : Respecto a la respuesta de @ blah238, estaba pensando en algo que podría ser capaz de "recopilar" el número de pases ("corre") a través de un área, y luego simbolizar por el contar. Conceptualmente, esto sería similar a ArcGIS " Recopilar eventos " (pero para líneas, no puntos) o Contraer líneas dobles a línea central (pero para líneas múltiples en aproximadamente la misma área).

Un ejemplo más visual de un concepto similar podría ser un mapa de flujo de tráfico, donde las áreas altamente congestionadas equivaldrían a áreas / pistas de esquí "altamente viajadas":

Heleídolassiguientespreguntasquepuedendaralgunasideas,peroenrealidadnoabordanloqueestoytratandodelograr:

Trayectorias de clustering (datos GPS) de (x, y) puntos) y minar los datos

Gestión de errores con rutas GPS (¿marco teórico?)

    
pregunta RyanDalton 26.11.2012 - 21:47

8 respuestas

16

He trabajado un poco en esto en GeoTools / GeoServer al extender la transformación de representación de mapa de calor para admitir otras geometrías que no sean puntos.

Aúnnoestáterminado,peropuedeobtenerlaramadecaracterísticasdemirepositorioen GitHub .

La captura de pantalla es de las pistas de GPS de cuando trabajé como conductor de entrega de pizza.

    
respondido por el smithkm 27.11.2012 - 18:47
14

Aquí hay un buen tutorial para hacer exactamente eso usando MapBox y TileMill :

    
respondido por el blah238 27.11.2012 - 00:09
4

aquí está mi enfoque simple:

  1. cree un nuevo mapa en umap: enlace
  2. haga clic en Importar datos, seleccione todos los archivos gpx que tenga y cárguelos en el mapa (puede importarlos todos a la vez)
  3. ingresa a Editar configuración del mapa > Propiedades predeterminadas, elija la opacidad 0.25, peso 10.

Los tres pasos anteriores tomarán 5 minutos y aquí está el resultado:

    
respondido por el matell 16.10.2014 - 20:16
3

Aquí está mi enfoque en QGIS. Esto era para un conjunto de rutas de autobuses, y quería identificar qué carreteras tenían la mayor densidad de rutas de autobuses que pasan.

  • Usé el complemento Qchainage para convertir mis líneas en puntos. Probé diferentes escenarios hasta que produje muchos puntos por línea (1,500 por línea, y las líneas eran aproximadamente 9 km).
  • Se aplicó la representación de simbología de mapa de calor que Qgis tiene incorporada en la pestaña de estilo. propiedades de capa > estilo > mapa de calor
  • Juega con el radio y el valor máximo. Asegúrese de seleccionar la mejor calidad de representación.
  • Creó una nueva rampa de color (elija continuo) a partir de negro y cualquier otro color brillante en el otro lado.

Y voilà.

    
respondido por el Diego canales 11.08.2016 - 00:07
1

Me doy cuenta de que este es un post bastante antiguo, sin embargo, lo encontré haciendo una investigación similar. Desarrollé un modelo / flujo de trabajo bastante simple que puede lograr esto en ArcGIS (posiblemente QGIS, pero aún no lo he implementado allí).

Si tiene un archivo GPX o TCX específicamente (aunque cualquier archivo de puntos funciona), simplemente se puede abrir en Excel, luego convertirlo a un CSV y llevarlo a ArcGIS. Usando la herramienta Points to Line , usted convierte los puntos de GPS del CSV, en trayectorias al ordenar los puntos por tiempo (también puede agruparlos usando un identificador único, que en este caso podría ser por recurso, ruta o fecha específica). del evento - por ejemplo, Día 1, 2, etc). Esto creará una única capa de polilínea (a menos que las agrupe por la ID única). Luego utiliza la herramienta Split Line at Vertices que crea segmentos de línea entre cada punto sucesivo. Desde allí, utiliza la herramienta Line Density , que cuenta el número de líneas que pasan por una celda dado un tamaño de celda y un radio de búsqueda específicos, y genera un ráster. Esta trama se puede simbolizar como un mapa de calor.

Lo he hecho y continúo implementándolo con frecuencia e incluí un resultado de ejemplo a continuación:

    
respondido por el andrrvt15 06.02.2018 - 22:15
0

Cree un trabajo de grilla graticular, convierta gpsdata en shapefiles, poligonice las líneas, extraiga los datos de los puntos x, y de las tablas, haga una densidad de superficie o un mapa de calor usando la práctica estándar en este punto. Luego, podría fusionarse con datos vectoriales lineales para obtener valores de píxeles en una visualización de trama o para un procesamiento numérico adicional.

    
respondido por el lewis 11.02.2013 - 18:48
0

La mayoría de las personas (incluido yo mismo) miran un archivo GPX y lo ven como una secuencia de posiciones (puntos), mientras que puede verse perfectamente como una secuencia de segmentos de línea en su lugar.

La formulación de tu problema involucra un "mapa de calor" para que puedas inspeccionar visualmente tus trayectorias, por lo que hay una forma bastante simple de omitir la parte compleja de entumecimiento de ejercicios delegándola directamente a un motor de trazado.

Cuando dices "amortiguar las líneas", eso sería el grosor de la línea. Cuando dices "recolecta los pases", eso significaría trazar una y otra vez con líneas transparentes , por lo tanto "acumulará" más y más color.

Por lo tanto, le sugiero que trace cada trayectoria como una polilínea con un grosor suficiente para que haya cierta superposición (depende del zoom, por lo que deberá establecer el grosor en la distancia del mapa en lugar de los píxeles), y con una Opacidad bastante baja, por ejemplo, 0.05, en negro.

Es importante no trazar cada segmento, porque si lo haces, sus extremidades se superpondrán, duplicando su opacidad y creando un "punto" de color más fuerte.

Al final, obtendrás una imagen en escala de grises en la que puedes aplicar el mapa de colores que desees.

Probablemente lo haría con Python / Cairo, pero Python / Matplotlib lo haría, y Html / Canvas o Html / SVG (o SVG programático) ciertamente lo haría.

El resultado final dependerá solo de la resolución de los medios de salida.

    
respondido por el heltonbiker 05.09.2013 - 05:24
0

Soy consciente de que esta es una pregunta bastante antigua, pero como esta publicación es uno de los principales resultados de búsqueda para este tema, pensé que publicaría un enlace a un flujo de trabajo para producir mapas de calor de polilínea en ArcGIS que responda esta pregunta, ya que actualmente no hay una solución para ArcGIS en esta publicación.

enlace

    
respondido por el bendycat_bumbersplat 10.12.2014 - 21:17

Lea otras preguntas en las etiquetas