今年冬天,我计划使用GPS跟踪下坡滑雪/单板滑雪。我的大部分骑行都将在同一度假村进行。我希望能够创建一种“热图”,以显示我在给定区域内进行的运行次数。当我向数据库中添加越来越多的GPS轨迹时,我的目标是看到一种最频繁旅行的区域的线性热图。考虑到下坡滑雪的性质,您会希望上坡的吊椅索道将是“最热”的路线,因为它将是唯一一遍又一遍地游览的地方。

鉴于1)我的足迹将并非每次都一样,而且2)进行一次“运行”所覆盖的区域可能是几百英尺宽,分析这种“线性”数据以创建某种热图的最佳方法是什么?我的想法是缓冲线,然后将多边形相交以得到某种维恩图图。我更喜欢使用开源技术。我已经加载了QGIS和PostGIS并可以使用。

更新:关于@ blah238的响应,我在考虑可以“收集”通过次数(“行程”)的东西。通过一个区域,然后通过计数来象征。从概念上讲,这类似于ArcGIS“收集事件”(但对于线而不是点)或将双线折叠为中心线(但对于大致相同区域中的多条线)。

一个更直观的示例类似的概念可能是交通流图,其中高度拥挤的区域等同于“高度行驶”的滑雪道/区域:



阅读以下可能给出一些想法的问题,但它们并没有真正解决我要完成的任务:

聚类轨迹((x,y)点的GPS数据)和挖掘数据

GPS路线管理错误(理论框架?)

评论

假设您将使用GPX数据,则应仅按间隔读取纬度/经度读数,因此它应该已经在点要素中。然后,您将无法在其上使用热图?还是不使用与GPX兼容的设备?

嗯我误读了你想要的东西。没关系。

@RomaH,实际上,您很可能对使用点生成热图而不是使用线条的想法有所了解。我以前没有考虑过使用源点,所以我一定会调查这一点。

您正在处理一个领域,因为这条街道的边界明确。如果要创建线模型,则可以进行多个多边形叠加,连接并使用point2one插件制作具有继承值的线图。但是随后您需要确定一个人需要滑行多远才能证明一个新的线要素。就我个人而言,我会对热图解决方案感到满意,但同样,我不知道您的需求。

我偶然发现了这个问题,这是完成基本相同任务的一种非常酷的方法,但是使用GPS跟踪点来创建热图。

#1 楼

我通过扩展“热图渲染转换”以支持除点以外的几何图形,在GeoTools / GeoServer中对此做了一些工作。您可以从GitHub的存储库中获取功能分支。

屏幕快照是我担任披萨送货司机时的GPS轨迹。

评论


它仍然没有输出矢量几何图形,但是它正在收集重叠以提供更高的值。

– Smithkm
2012年11月27日17:56

有什么想法如何仅通过Postgis来获得这种效果?还是qgis?

–chrismarx
15年8月23日在19:08

#2 楼

这是一个使用MapBox和TileMill进行此操作的很好的教程:


RunKeeper中所有运行的热图


评论


同意,这个概念几乎是相同的,并且可以在任何GIS中轻松完成。但这基本上是在暗示“只要用浅绿色缓冲区将所有轨道变成红色”,它们就会在地图上脱颖而出?为了视觉效果,我一定会工作。我想我本来是想尝试一些更具“分析性”的东西,在这个例子中可以显示“行程”的“计数”。我会继续考虑。

– RyanKDalton
2012年11月27日0:16



@ blah238我正在寻找类似的例子...非常感谢!

– Sunil
2012年11月27日5:09

@ blah238,考虑了一段时间之后,您对我的最初问题提供了非常有效的答案。我应该更加清楚自己的想法。感谢您的回答,我已经更新了我的问题,以更准确地反映我想要达到的目标。感谢您的帮助。

– RyanKDalton
2012年11月27日15:20



#3 楼

这是我的简单方法:


在umap中创建新地图:http://umap.openstreetmap.fr/zh-CN

单击“导入数据”并全选将您拥有的gpx文件上传到地图中(您可以一次导入所有文件)
输入“编辑地图设置”>“默认属性”,选择“不透明度”为0.25,权重为10。

这三个步骤上面需要5分钟,结果如下:


#4 楼

这是我在QGIS上的方法。这是针对一组公交路线的,我想确定经过的公交路线密度最高的道路。


使用Qchainage插件将我的路线转换为点。测试了不同的场景,直到每条线产生很多点(每条线1,500条,并且每条线大约9公里)。
在样式选项卡中应用了Qgis内置的热图符号系统渲染。图层属性>样式>热图
播放半径和最大值。确保选择最佳的渲染质量。
创建了一个新的色带(选择连续色),该色带从黑色和另一侧的任何其他亮色开始。

和贴吧。




#5 楼

我意识到这是一篇很旧的文章,但是,我在做类似的研究时发现了它。我开发了一个非常简单的模型/工作流程,可以在ArcGIS中完成此工作(可能是QGIS,但我尚未在其中实现它)。

如果您专门有GPX或TCX文件(尽管可以使用任何点文件),则只需在Excel中打开它,然后将其转换为CSV并导入ArcGIS。使用Points to Line工具,您可以通过按时间对点进行排序来将GPS点从CSV转换为轨迹(也可以使用唯一的标识符对它们进行分组,在这种情况下,可能是通过度假胜地,路线或特定日期事件-例如第1天,第2天等)。这将创建一个折线图层(除非您按唯一ID对其进行分组)。然后,使用Split Line at Vertices工具在每个连续点之间创建线段。在此,您可以使用Line Density工具,该工具计算在给定指定像元大小和搜索半径的情况下穿过像元的行数,并输出栅格。可以将此栅格符号化为热图。

我已经并且继续经常执行此操作,并且在下面包括了示例结果:



评论


这看起来像是一种非常有趣的技术。我从未完成过这个想法,因此我将对此做进一步调查。感谢您回答一个老问题!

– RyanKDalton
18年2月9日在19:44

没问题!仅使用Arc Toolbox中的这三个工具,这是一个非常简单的模型。或者,您可以仅使用“跟踪线间隔”和“线密度”工具将其进一步简化为两个工具

– andrewr
18年2月9日在23:05

#6 楼

我们对此的使用涉及使用PGRouting将学生路由到他们的学校。

一条单独的路线的结果是它们的核心,即一组节点(可以通过选择连接相关的边而变成线)。

如果将多个学生路由到单个学校,然后可以使用热图渲染器在QGIS中显示节点的输出集合,该图显示了到学校的收集路线的“热点”(请参见下文)。

这些地图用于告知应该作为进一步安全基础设施的目标的区域,例如交叉口,信号,标志等。



评论


感谢分享图片,我喜欢。我将尝试处理GPX顶点而不是行,以查看热点是否在很小的范围内工作

– RyanKDalton
19年3月11日在22:46

#7 楼

创建网格,将gpsdata转换为shapefile,对线进行多边形处理,从表中提取x,y点数据,制作表面密度,或使用标准做法制作热图。然后,您可以将其与线性向量数据合并,以在光栅显示中获得像素值或进行进一步的数值处理。

#8 楼

大多数人(包括我自己)都会查看GPX文件,并将其视为位置(点)序列,而完全可以将其视为线段序列。

问题的解决涉及一个“热图”,以便您可以直观地检查自己的轨迹,因此有一种相当简单的方法,可以直接将其委托给绘图引擎来跳过复杂的数字运算部分。线”,即线的粗细。当您说“收集通行证”时,这意味着要用透明线一遍又一遍地绘制,从而“建立”越来越多的颜色。厚度足以出现重叠(取决于缩放比例,因此您需要在地图距离而不是像素中设置厚度),并且黑色的不透明度非常低,例如0.05。

重要的是不要绘制每个线段,因为如果这样做,它们的末端将重叠,其不透明度加倍,并创建一个颜色更深的“点”。

最后,会得到一个灰度图像,您可以在上面应用您选择的颜色图。

我可能会使用Python / Cairo来做到这一点,但是Python / Matplotlib会做到,而Html / Canvas或Html / SVG(或程序化SVG)当然可以。

最终结果将仅取决于输出媒体的分辨率。

#9 楼




我知道这是一个很老的问题,但是由于该帖子是该主题的热门搜索结果之一,我以为我会发布指向在ArcGIS中生成折线热图的工作流的链接,回答了这个问题,因为本文中目前没有针对ArcGIS的解决方案。

https://luke-webber.github.io/polyline-heatmap/