使用Redis和Python构建一个共享单车的应用程序
副问题[/!--empirenews.page--]
我常常出差。但不是一个汽车狂热分子,以是当我有空闲时,我更喜畛刳都市中散步可能骑单车。我旅行过的很多都市都有共享单车体系,你可以租个单车用几个小时。大大都体系都有一个应用措施来辅佐用户定位和租用他们的单车,但对付像我这样的用户来说,在一个处所可以得到可租赁的都市中全部单车的信息会更有辅佐。 为了办理这个题目而且展示开源的强盛尚有为 Web 应用措施添加位置感知的成果,我组合了可用的果真的共享单车数据、Python 编程说话以及开源的 Redis 内存数据布局处事,用来索引和查询地理空间数据。 由此降生的共享单车应用措施包括来自许多差异的共享体系的数据,包罗纽约市的 Citi Bike 共享单车体系(LCTT 译注:Citi Bike 是纽约市的一个私营民众单车体系。在 2013 年 5 月 27 日正式营运,是美国最大的民众单车体系。Citi Bike 的名称有两层意思。Citi 是打算赞助商花旗银行(CitiBank)的名字。同时,Citi 和英文中“都市(city)”一词的读音沟通)。它操作了花旗单车体系提供的 通用共享单车数据流,并操作其数据演示了一些行使 Redis 地理空间数据索引的成果。 花旗单车数据可凭证 花旗单车数据容许协议 提供。 通用共享单车数据流类型通用共享单车数据流类型(GBFS)是由 北美共享单车协会 开拓的 开放数据类型,旨在使舆图措施和运输措施更轻易的将共享单车体系添加到对应平台中。 今朝天下上有 60 多个差异的共享体系行使该类型。 Feed 流由几个简朴的 JSON 数据文件构成,个中包括体系状态的信息。 Feed 流以一个顶级 JSON 文件开头,其引用了子数据流的 URL:
第一步是行使
成立数据库我编写了一个示例应用措施 loadstationdata.py,它仿照后端历程中从外部源加载数据时会产生什么。 查找共享单趁魅站从 GitHub 上 GBFS 客栈中的 systems.csv 文件开始加载共享单车数据。 客栈中的 systems.csv 文件提供已注册的共享单车体系及可用的 GBFS 数据流的发明 URL。 这个发明 URL 是处理赏罚共享单车信息的出发点。
载入趁魅站数据趁魅站信息提供体系中每个趁魅站的数据,包罗该体系的位置。 更新数据在后续运行中,我不但愿代码从 Redis 中删除全部 Feed 数据并将其从头加载到空的 Redis 数据库中,因此我细心思量了如那里理赏罚数据的原地更新。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |