py帮助跨多种交通方式和多个航点旅行的用户基于数据决定在给定时间或将来的给定时间使用和偏好哪条路线。

commute的Python项目详细描述


这是基于 指定的信息。

通勤.py帮助跨多种交通方式出行的用户
和多个航路点,以根据数据决定哪个航路
在给定时间或将来的给定时间使用和偏好。

示例用法

$ commute -c config.yml -s HOME -d WORK
Total time: 26min.
Home (time: 26m. w/traffic drive)
Work
-----
Total time: 43min.
Home (time: 41m. waiting: 02min. bus)
Work
-----
Total time: 45min.
Home (time: 25m. w/traffic drive)
Kwik-e-Mart (time: 20m. w/traffic drive)
Work
-----
  ....

安装

可以使用pipeasy_install

$ pip install commute

$ easy_install commute

配置

获取google api密钥

此信息从Google Maps Python client repo

每个google maps web服务都需要一个api密钥或客户端id.api 键是
免费使用谷歌账户 https://developers.google.com/console.
为项目生成服务器密钥:
  1. 访问https://developers.google.com/console并登录 谷歌账户。
  2. 选择现有项目,或创建新项目。
  3. 单击启用API
  4. 浏览api,并将其状态设置为“on”。的python客户端 谷歌地图服务 访问以下API:
    • 方向API
    • 距离矩阵API
    • 标高API
    • 地理编码api
    • 时区API
    • 道路API
  5. 启用api后,单击左侧的credentials。 开发者导航 慰问。
  6. 在“public api access”中,单击create new key
  7. 选择server key
  8. 如果要将请求限制为特定的IP地址,请执行此操作 现在。
  9. 单击create

您的api密钥应该是40个字符长,并且以AIza开头。

创建配置文件

然后您需要创建一个config.yml文件,或者只创建任何yaml 使用以下关键字段归档

api_key:# your Google API key over hereplaces:# all the places which need to be trackedmap:# the map, or essentially how you commute between any two places

示例配置
api_key:AIzaaaaaaaaaaaaaaaaaaaaaaaaaaaplaces:HOME:location:742, Evergreen Terrace, Springfieldalias:HomeWORK:location:Springfield Nuclear Power Plant, Springfieldalias:WorkKWIK_E_MART:location:Kwik-e-Mart, Springfieldalias:Apu'sMOES_TAVERN:location:Moe's Tavern, Springfieldalias:Moe'smap:HOME:KWIK_E_MART:-mode:drivingMOES_TAVERN:-mode:driving-mode:walkingWORK:-mode:driving-mode:transittransit_mode:busKWIK_E_MART:HOME:-mode:drivingMOES_TAVERN:-mode:driving-mode:walkingWORK:-mode:drivingMOES_TAVERN:HOME:-mode:driving# drinking and driving is not encouraged-mode:walking# You don't go to Kwik-e-mart or to work from Moe'sWORK:MOES_TAVERN:-mode:driving

部分配置文件
API键

api_key将保存有关google开发人员api的信息 钥匙。

地点
places保存有关要在下面拍摄的所有位置的信息
考虑,并对其物理地址进行一个小描述
添加如何在输出中引用它们
每个地方都有两个属性
-位置:该位置的物理位置(您键入的内容 进入谷歌地图。
-别名:打印输出时引用和使用的别名。
地图
map键包含位置之间的所有连接,可能的
地方之间的旅行方式和多种方式(如果有的话)
它还可以包含关于特定方式的其他详细信息 旅行。

映射下的第一个嵌套包含源,使用 上面的位置键。

map:PLACE1:PLACE2:............

下一个嵌套包含来自 源,其中包含从源到 目的地

map:PLACE1:PLACE2:-mode:driving-mode:transit............

路由信息支持google映射的所有参数 python客户端接受。有关详细信息,请参阅Google Maps Python API documentation

用法

$ commute -c config.yml -s HOME -d WORK
$ commute -c config.yml -s HOME -d WORK -w now
$ commute -c config.yml -s HOME -d WORK -w 'in an hour'
$ commute -c config.yml -s HOME -d WORK -w 'friday evening @ 7'
parsedatetime图书馆,所以 看看
文档以查找有关支持格式的更多信息。

把它当作图书馆,

importtimefromcommuteimportget_all_paths,format_pathconfig_file="/path/to/config/file"src="HOME"dst="WORK"when=time.time()forrank,pathinget_all_paths(config,src,dst,when):print(format_path(rank,path))print("-"*5)

状态

这个项目现在处于非常早期的阶段。请试试看 报告任何问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何从java代码中检测连接的usb设备   java如何在单击设备活动按钮时在可穿戴设备上显示自定义活动?   java无法理解如何从字符串转换为int?   在java中,在跟踪单个索引的同时合并两个排序数组?   java springcloud多模块项目的服务模块如何调用其他微服务   JavaGSON/libgdxJSON:序列化扩展ArrayList的类   java在jtable中的某些列中显示图像   javajsoup如何找出元素大小   将XML解析为字段类型为XML的java对象   mysql java如何设置向表插入记录时的回滚功能?   java二进制搜索方法问题,不接受int参数   java将x和y坐标转换为宏ImageJ中的变量   java向listview添加更多元素会“覆盖”当前listview   swing Mouse listener不会抛出错误,但不会激发(java)   java中类似IDM的应用程序的多线程处理   java我可以强制MimeMessage中发生不支持的异常吗?   带有JPA的java GWT没有持久性提供程序   java如何为嵌入式mongo(flapdoodle)全局设置WriteConcern以修复间歇性测试失败