Este invierno planeo rastrear mi esquí alpino / snowboard usando un GPS. La mayor parte de mi conducción ocurrirá en el mismo resort. 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 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 telesilla cuesta arriba sean las "más populares" 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 seguir una "carrera" puede ser de unos cientos de pies de ancho, ¿cuál podría ser la mejor manera de analizar estos datos "lineales" para crear una clasificación de mapa de calor? Mis pensamientos eran amortiguar las líneas, luego intersecar las polys 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 : Con respecto a la respuesta de @ blah238, estaba pensando en algo que podría "recopilar" el número de pases ("carreras") a través de un área y luego simbolizar por el conteo. Conceptualmente, esto sería similar a " Recoger eventos " de ArcGIS (pero para líneas, no puntos) o Contraer líneas duales 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í "muy transitadas":
He leído las siguientes preguntas que pueden dar algunas ideas, pero en realidad no abordan lo que estoy tratando de lograr:
Trayectorias de agrupamiento (datos GPS de puntos (x, y)) y minería de datos
fuente
Respuestas:
He trabajado un poco en esto en GeoTools / GeoServer extendiendo la transformación de representación de mapa de calor para admitir geometrías que no sean puntos.
Todavía no está terminado, pero puede obtener la rama de características de mi repositorio en GitHub .
La captura de pantalla es de pistas GPS de cuando trabajaba como repartidor de pizza.
fuente
Aquí es un buen tutorial para hacer exactamente eso usando MapBox y TileMill :
fuente
Aquí está mi enfoque simple:
Los tres pasos anteriores tomarán 5 minutos y aquí está el resultado:
fuente
Aquí está mi enfoque sobre QGIS. Esto fue para un conjunto de rutas de autobuses, y quería identificar qué caminos tenían la mayor densidad de rutas de autobuses que pasaban.
Y voilá.
fuente
Me doy cuenta de que esta es una publicación bastante antigua, sin embargo, la 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 en un CSV y llevarlo a ArcGIS. Con la
Points to Line
herramienta, convierte los puntos GPS del CSV en trayectorias clasificando los puntos por tiempo (también puede agruparlos usando un identificador único, que en este caso puede ser por el centro turístico, la ruta o la fecha específica del evento) - Por ejemplo, día 1, 2, etc. Esto creará una sola capa de polilínea (a menos que las agrupe por la ID única). Luego usa laSplit Line at Vertices
herramienta que crea segmentos de línea entre cada punto sucesivo. Desde allí, utiliza laLine Density
herramienta que cuenta el número de líneas que pasan a través de una celda dado un tamaño de celda y radio de búsqueda específicos, y genera un ráster. Este ráster se puede simbolizar como un mapa de calor.Tengo, y continúo implementando esto con frecuencia, e incluí un resultado de muestra a continuación:
fuente
Track Intervals to Line
y lasLine Density
herramientasNuestro uso de esto implica enrutar a los estudiantes a su escuela usando PGRouting.
Los resultados de una ruta individual son, en esencia, un conjunto de nodos (que se convierten en líneas uniendo opcionalmente los bordes relacionados).
Si enruta a varios estudiantes a una sola escuela, la colección de salida de nodos se puede mostrar en QGIS utilizando el renderizador de mapa de calor, que muestra los 'puntos calientes' de las rutas recopiladas a la escuela (ver más abajo).
Estos mapas se utilizaron para informar áreas que deberían ser objeto de una infraestructura de seguridad adicional, como cruces, señales, señales, etc.
fuente
Cree una cuadrícula reticular, convierta gpsdata en archivos de formas, poligonalice las líneas, extraiga datos de puntos x, y de las tablas, cree una densidad de superficie o un mapa de calor utilizando la práctica estándar en este punto. Luego, podría fusionarse con datos de vectores lineales para obtener valores de píxeles en una pantalla ráster o para un procesamiento numérico adicional.
fuente
La mayoría de las personas (incluido yo mismo) mira un archivo GPX y lo considera una secuencia de posiciones (puntos), mientras que puede verse perfectamente como una secuencia de segmentos de línea .
La formulación de su problema implica un "mapa de calor" para que pueda inspeccionar visualmente sus trayectorias, por lo que hay una manera bastante simple de omitir la parte compleja de la suma numérica delegándola directamente en un motor de trazado.
Cuando dices "amortiguar las líneas", eso sería grosor de línea. Cuando dices "recoge los pases", eso significaría trazar una y otra vez con líneas transparentes , y así "construir" más y más color.
Por lo tanto, le sugiero que trace cada trayectoria como una sola polilínea con un grosor suficiente para que haya cierta superposición (depende del zoom, por lo que querrá establecer el grosor en la distancia del mapa en lugar de píxeles), y con una opacidad bastante baja , digamos, 0.05, en negro.
Es importante no trazar cada segmento, porque si lo hace, sus extremidades se superpondrán, duplicando su opacidad y creando un "punto" de color más fuerte.
Al final, obtendrá una imagen en escala de grises sobre la que puede aplicar el mapa de colores de su elección.
Probablemente lo haría usando Python / Cairo, pero Python / Matplotlib lo haría, y Html / Canvas o Html / SVG (o SVG programático) ciertamente lo harían.
El resultado final dependería solo de la resolución de sus medios de salida.
fuente
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é en publicar 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 solución para ArcGIS en esta publicación.
https://luke-webber.github.io/polyline-heatmap/
fuente