2011-01-05 80 views
52

我可以访问Google通过网络服务提供的流量数据吗?通过网络服务访问Google的流量数据

似乎有一个GTrafficOverlay将流量置于嵌入式谷歌地图上的路线之上,但没有直接的网络服务可以让我们消费,比如说给源和目的地并找到它们之间的流量?

有没有其他来源我可以从中获取这些数据?

+0

https://developers.google.com/maps/documentation/javascript/examples/layer-traffic似乎是一个最近的加成。 – Blazemonger 2013-06-20 18:03:59

回答

31

从Google Maps JavaScript API v3获取原始流量数据是没有办法的(或者至少没有合理的简单方便的方式)。即使您可以这样做,也可能违反Google地图服务条款中的某些条款。您将不得不从其他服务获取这些信息。我怀疑目前有免费服务提供这些信息,但如果有人证明我错了,我会喜欢它。

正如@crdzoba指出的,Bing Maps API exposes some traffic data。也许这可以满足你的需求。从文档中不清楚有多少流量数据暴露出来,因为它只是关于“事件”的数据。由于施工会造成交通缓慢,但是对于我来说慢速交通是否仅仅是因为交通量而言并不明显。

更新(2016年3月):发生了很多事情,因为这个答案写于2011年,但核心点似乎托起:在免费 API服务,你不会找到原始流量数据(至少不适用于美国,也可能不适用于大多数其他地方)。但是,如果您不介意支付一点费用,并且/或者您只需要诸如“考虑流量的特定路线的行程时间”等事项,则可以选择。例如,@Anto's answer指向Google's Maps For Work作为付费API服务,可让您将旅行时间考虑在流量中。

+1

@MarkJ更新了包含Google Maps for Work的答案,引用了Anto的答案。 – Trott 2016-03-22 13:59:20

+0

优秀的+1给你 – MarkJ 2016-03-22 16:12:55

4

也许你应该看看Mapquests交通API:http://www.mapquestapi.com/traffic/

的Web服务是不幸的是仅适用于在美国一些城市的,我想。但可能它解决了你的问题。

1

我不认为谷歌会提供这个API。而交通数据不仅包含事件数据。

今天很多在线地图都显示城市流量,但是他们还没有为开发者提供API。我们甚至不知道他们从哪里获得交通数据。也许政府有数据。

所以我想你可以从另一个方向思考它。例如,那里有许多社交网站。每个人都可以在网站上发布交通信息。我们可以收集这些信息来获取交通状况。或者,也许我们可以创建这种类型的网站。

但是那种类型的交通数据(上面提到的)并不准确。即使是由人类提供的信息也是错误的。

幸运的是,我发现我的城市现在提供了一个名为“实时总线信息”的移动应用程序。它可以告诉公民现在哪里有公共汽车,什么时候会到达公交车站。我在这个应用程序中嗅探REST API。 来自REST API的数据给出了重要的数据,例如纬度和经度,以及总线速度。而且它是实时数据!所以我认为我们可以从这些数据中计算出流量状态(通过一些编程)。 以下是一些示例数据:https://github.com/sp-chenyang/bus/blob/master/sample_data/bjgj_aibang_com_8899_bjgj_php_city_linename_stationno_datatype_type.json

即使总线数据也不足以计算准确的实时流量状态。事件,交通信号灯和其他事物会影响交通状况。但我认为这是开始。

最后,我想你可以试着找出你的城市是否提供这些数据。 PS:我一直认为未来人们的生活会更好,但不是现在。

6

与其试图提取原始流量数据,您可以尝试不同的方法。 Google Directions API允许您使用特定路线查询api,并返回JSON字符串或XML元素作为结果。 此结果包含元素 - 'duration_in_traffic' 这表示考虑到当前交通状况,特定行程的总持续时间。 (关于路线API返回的JSON字符串'leg'和其他元素的信息,请参阅下面的链接)

https://developers.google.com/maps/documentation/directions/#JSON 我没有尝试过这个,但只是我在文档中遇到的一些东西。

+0

由于Google在不考虑流量状态的情况下返回行程的长度和持续时间,因此它无法正常工作。我的意思是,无论是高峰时段还是平静的夜晚,它都会返回相同的数字:( – 4lberto 2015-04-27 20:43:28

+1

如果您有Google地图的付费帐户,它确实有效,但订阅费用昂贵且数据使用受到限制。 – Betelguese 2017-03-17 09:36:16

8

显然信息是可用Google Directions API在其专业版Maps for work。根据the API's documentation

注意:Maps for Work用户必须在其请求中包含客户端和签名参数,而不是密钥。
[...]
duration_in_traffic表示考虑到当前的交通状况,该段的总持续时间。只有在满足以下所有条件的情况下才能返回流量持续时间:

  • 该指示请求包含一个设置为当前时间几分钟内值的departure_time参数。
  • 该请求包含有效的Google Maps API for Work客户端和签名参数
  • 交通状况可用于请求的路线。
  • 该指示请求不包括中途停留点。
2

你可能想看看这里的地图服务。他们有直接的业务数据,您可以使用,这是你所需要的东西:https://developer.here.com/api-explorer/rest/traffic/traffic-flow-bounding-box

例如,通过查询感兴趣的领域,你可能会得到这样的事情:

{ 
    "RWS": [ 
    { 
     "RW": [ 
     { 
      "FIS": [ 
      { 
       "FI": [ 
       { 
        "TMC": { 
        "PC": 32483, 
        "DE": "SOHO", 
        "QD": "+", 
        "LE": 0.71682 
        }, 
        "CF": [ 
        { 
         "TY": "TR", 
         "SP": 9.1, 
         "SU": 9.1, 
         "FF": 17, 
         "JF": 3.2911, 
         "CN": 0.9 
        } 
        ] 
       } 
       ] 
      } 
      ], 
.... 

凡解释可以这里Interpreting HERE Maps real-time traffic tags发现:

  • “RWS” - 巷道(RW)项目
  • “RW” 列表=这是它的复合流过整个巷道。甲巷道项将存在对于每个可用的道路与 交通流量信息
  • “FIS”=流量项目(FI)元素
  • “FI”= A单个流项目
  • “TMC”= AN的列表TMC位置的有序集合
  • “PC”=点TMC位置代码
  • 道路
  • “QD”=排队方向的 “DE”=文本说明。 '+'或' - '。注意,这是行进方向的完全合格的ID相对,例如,对于 位置107 + 03021的QD将是“ - ”的道路的伸展的
  • “LE” =长度。单位在文件标题中定义
  • “CF”=当前流量。此元素包含有关给定流项目的速度和堵塞因子信息的详细信息。
  • “CN”=置信度,表示速度是如何确定的。 -1.0道路关闭。 1.0 = 100%0.7-100%历史一般 的值0.7和1.0之间的“FF” =此
    拉伸道路的自由流动速度。
  • “JF”= 0.0到10.0之间的数字,表示预期的行程质量。当道路封闭时,阻塞因子 将为10.当数字接近10.0时,旅行质量变差 变差。 -1.0指示干扰因子不能 计算
  • “SP” =通过限速封端的速度(基于UNITS)
  • “SU” =速度(基于单位)不被限制速度封端
  • “TY”=给定位置引用容器的类型信息。这可以自由定义串

另外的源来自 https://developer.here.com/rest-apis/documentation/traffic/topics/additional-parameters.html

+1

虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/16341285) – CinCout 2017-06-07 09:17:24

+1

@CinCout感谢您的建议。我已更新我的帖子。 – 2017-06-07 13:18:23

+0

如何确定QD字段中描述的完全限定ID? – diegopso 2018-01-12 12:02:37