这位老哥用自己10年跑步数据做了一个GIS系统
作为一名GIS(地理信息系统)领域的从业者,我们每天都在与各种地理数据、空间分析和可视化技术打交道。最近小编在 HackerNews上发现了一个神奇的网站:No Days Off。这个网站的作者是friggeri,用自己连续10年每天跑步的GPX文件,开发了一个堪称“个人跑步GIS系统”的可视化网站,非常专业、好玩。小编就喜欢这种好玩的东西,今天给大家介绍一下。
关于 No Days Off
网址:

关注本站微信公众号,回复“资源下载”,获取验证码。
在微信里搜索“麻辣GIS”或微信扫描右侧二维码即可关注本站微信公众号。
技术栈:
- j前端: Next.js
- 数据库: PostgreSQL
- 缓存: Redis
- 可视化: 自研SVG组件
从GIS的专业角度看,nodaysoff.run 远不止是一个简单的数据展示页面。它完整地体现了一个GIS系统的核心流程:数据采集、数据处理、数据管理、空间分析与可视化。
多源数据采集与整合
这个系统的基础是作者10年来积累的GPX文件。GPX (GPS Exchange Format) 是我们GIS领域非常熟悉的一种数据格式,它以XML格式为基础,记录了地理坐标(经纬度)、海拔、时间戳等信息。
核心数据源: 作者通过Strava的批量导出功能,获取了自己所有的跑步历史记录(GPX文件)。
数据整合: 这位老哥没有止步于此。他利用 OpenWeatherMap (天气数据API) 和 OpenCageData (地理编码API) 对每一条跑步记录进行了丰富化处理。这意味着,他不仅知道自己每一天在哪里跑、跑了多远,还知道当天的天气如何、具体的地理位置名称。这正是GIS项目中常见的操作,即将不同来源、不同维度的数据进行融合,以获得更深层次的洞察。
高效数据管理
面对10年的海量数据,高效的管理和处理是关键。作者采用的“后端+缓存”架构,堪称小型GIS应用的典范。
空间数据库: 使用 PostgreSQL + PostGIS 作为数据库来存储和管理所有的跑步数据。PostGIS+PostgreSQL对于处理GPX这类地理数据,得心应手。
增量更新: 通过接入 Strava的Webhook API,系统可以实现新跑步数据的自动、增量更新。这意味着每当他完成一次新的跑步并同步到Strava,这个GIS系统就会自动“成长”。
性能优化: 为了保证前端访问的流畅性,他将预先计算好的统计数据缓存在 Redis 中。这样,用户在前端进行交互时,无需实时查询庞大的原始数据库,极大地提升了用户体验。
结语
这个看似简单的技术栈,却完美地支撑了一个个人GIS项目的需求。构建一个GIS应用,不一定需要依赖庞大而昂贵的商业软件。通过开源技术和清晰的GIS思维,同样可以打造出功能强大且极具个性的产品,尤其现在还有AI的加持。
当然最让人惊讶的除了GIS本身,还有就是作者这10年如一日的坚持,整整十年、跨越七大洲的奔跑足迹,这份自律能力的确让人敬佩。在此小编也给广大外业GIS、测绘人员支个招,把你们这么多年牛马走过的地方也管理起来,相信一定比它更让人震撼(手动狗头)!!
参考:
https://news.ycombinator.com/item?id=44522683
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

