麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

这位老哥用自己10年跑步数据做了一个GIS系统

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

关于 No Days Off

网址:

麻辣GIS为了防止资源恶意爬取导致被和谐,此处内容被作者隐藏。
验证码:

关注本站微信公众号,回复“资源下载”,获取验证码。

在微信里搜索“麻辣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

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子
没有下文

留言板(小编看到第一时间回复)