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第三方库


热门话题
swing为什么不能在java类中隐藏JFrame   java编辑文本。getText()可能会产生NullPointerException   java通过蓝牙将字符串从PC作为客户端发送到移动服务器   从MySql表生成DAO的Pojo和JSP的java工具/Eclipse插件?   java不能调用匿名类方法   错误:更新Xss Eclipse后找不到或加载主类java   java Bukkit检查玩家的库存   java从FacesContext获取Webflow requestScope值   在SharedReferences中存储hashmap的java问题   Java奇怪的NullPointerException在反转链接列表时   java如何创建一个方法来获取hashmap中的值(字符串)的键   java如何在小程序的Eclipse中生成可执行JAR文件?   java如何将数组转换为字符串   java为什么我的日期不能正确设置为未来的30天?   php意外响应代码404凌空java 安卓   java使用JLists和vectors执行未经检查或不安全操作的两种情况   java SessionNotCreatedException:会话未创建:此版本的ChromeDriver仅支持使用Selenium ChromeDriver的Chrome版本77   java Google Maps API教程CurrentPlaceDetailsOnMap无法处理文件   java如何使用requestDispatcher重定向到jsp页面?