किसी वेब सेवा के माध्यम से Google के ट्रैफ़िक डेटा तक पहुँचें


79

क्या कोई ऐसा तरीका है जिससे मैं ट्रैफ़िक डेटा तक पहुँच सकता हूँ जो Google एक वेब सेवा के माध्यम से प्रदान करता है?

ऐसा प्रतीत होता है GTrafficOverlayकि एक एम्बेडेड Google मानचित्र पर मार्ग के शीर्ष पर ट्रैफ़िक डालता है, लेकिन कोई प्रत्यक्ष वेब सेवा जो मैं उपभोग कर सकता हूं, कह सकता हूं, स्रोत और गंतव्य दे सकता हूं और उनके बीच ट्रैफ़िक ढूंढ सकता हूं?

क्या कोई अन्य स्रोत है जिससे मुझे यह डेटा मिल सकता है?


Developers.google.com/maps/documentation/javascript/examples/… हाल का जोड़ प्रतीत होता है।
ब्लेज़ेमॉन्गर

जवाबों:


44

Google मैप्स जावास्क्रिप्ट एपीआई v3 से कच्चा ट्रैफ़िक डेटा प्राप्त करने का कोई तरीका (या कम से कम कोई आसान और सुविधाजनक तरीका) नहीं है। यहां तक ​​कि अगर आप ऐसा कर सकते हैं, तो भी ऐसा करना Google मैप्स के लिए सेवा की शर्तों में कुछ खंड का उल्लंघन करने की संभावना है। आपको यह जानकारी किसी अन्य सेवा से प्राप्त करनी होगी। मुझे संदेह है कि एक मुफ्त सेवा है जो मौजूदा समय में यह जानकारी प्रदान करती है, लेकिन मुझे यह पसंद आएगा अगर कोई मुझे उस पर गलत साबित कर दे।

जैसा कि @crdzoba बताते हैं, बिंग मैप्स एपीआई कुछ ट्रैफ़िक डेटा को उजागर करता है । शायद जो आपकी जरूरतों को पूरा कर सके। यह प्रलेखन से स्पष्ट नहीं है कि कितना ट्रैफ़िक डेटा उजागर करता है क्योंकि यह केवल "घटनाओं" के बारे में डेटा है। निर्माण के कारण धीमा ट्रैफ़िक तो होगा, लेकिन यह मेरे लिए स्पष्ट नहीं है कि क्या केवल वॉल्यूम के कारण धीमा ट्रैफ़िक होगा।

UPDATE (मार्च 2016): इस उत्तर के 2011 में लिखे जाने के बाद से बहुत कुछ हुआ है, लेकिन मुख्य बिंदु यह प्रतीत होते हैं: आपको मुफ्त एपीआई सेवाओं में कच्चा यातायात डेटा नहीं मिलेगा (कम से कम अमेरिका के लिए नहीं, और शायद नहीं अन्य स्थानों पर)। लेकिन अगर आपको थोड़ा सा भुगतान करने में कोई आपत्ति नहीं है और / या यदि आपको "यातायात के लिए एक विशेष मार्ग पर विचार करने के लिए यात्रा के समय" जैसी चीजों की आवश्यकता है तो आपके पास विकल्प हैं। @ एंटो का जवाब , उदाहरण के लिए, Google के मैप्स फॉर वर्क के लिए एक भुगतान एपीआई सेवा के रूप में इंगित करता है जो आपको ट्रैफ़िक को ध्यान में रखते हुए यात्रा के समय की अनुमति देता है।


14

काम के लिए इसके पेशेवर संस्करण मैप्स में Google दिशा एपीआई का उपयोग करके स्पष्ट रूप से जानकारी उपलब्ध है । एपीआई के प्रलेखन के अनुसार :

नोट: कार्य उपयोगकर्ताओं के लिए मैप्स में एक कुंजी के बजाय उनके अनुरोध के साथ ग्राहक और हस्ताक्षर पैरामीटर शामिल होना चाहिए।
[...]
period_in_traffic वर्तमान ट्रैफ़िक स्थितियों को ध्यान में रखते हुए, इस पैर की कुल अवधि को इंगित करता है। ट्रैफ़िक की अवधि केवल तभी वापस होगी जब निम्नलिखित सभी सत्य होंगे:

  • वर्तमान समय के कुछ मिनटों के भीतर निर्देशों के अनुरोध में एक वैल्यू_टाइम पैरामीटर सेट होता है।
  • अनुरोध में कार्य क्लाइंट और हस्ताक्षर पैरामीटर के लिए एक मान्य Google मैप्स एपीआई शामिल है
  • अनुरोधित मार्ग के लिए यातायात की स्थिति उपलब्ध है।
  • निर्देशों के अनुरोध में स्टॉपओवर वेपॉइंट शामिल नहीं हैं।

13

आप यहाँ MAP सेवा पर एक नज़र रखना चाहते हैं। उनके पास आपके द्वारा उपयोग किए जाने वाले प्रत्यक्ष ट्रैफ़िक डेटा हैं, जो आपको ठीक वही चाहिए: https://developer.here.com/ap-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
                    }
                  ]
                }
              ]
            }
          ],
....

यह उदाहरण SU9.1 की वर्तमान औसत गति दिखाता है , जहां मुक्त प्रवाह की गति FF17 होगी। जाम कारक JF3.3 है, जिसे अभी भी मुक्त प्रवाह माना जाता है लेकिन सुस्त हो रहा है। एपीआई कॉल में प्रयुक्त इकाइयों (मील / किमी) को परिभाषित किया जा सकता है। TMC स्थानों से निपटने से बचने के लिए, आप जोड़कर सड़क खंडों के भू-आकृतियों के लिए पूछ सकते हैंresponseattributes=sh अनुरोध में ।

उपयोग किए जाने वाले संक्षिप्ताक्षर यहां देखे जा सकते हैं यहाँ व्याख्या करना मानचित्र वास्तविक समय ट्रैफ़िक टैग :

  • "आरडब्ल्यूएस" - रोडवे (आरडब्ल्यू) वस्तुओं की एक सूची
  • "आरडब्ल्यू" = यह संपूर्ण सड़क मार्ग पर प्रवाह के लिए मिश्रित वस्तु है। ट्रैफ़िक प्रवाह की जानकारी उपलब्ध होने के साथ प्रत्येक सड़क मार्ग के लिए एक रोडवे आइटम मौजूद होगा
  • "FIS" = फ्लो आइटम (FI) तत्वों की एक सूची
  • "FI" = एक एकल प्रवाह आइटम
  • "टीएमसी" = टीएमसी स्थानों का एक संग्रह का आदेश दिया
  • "पीसी" = प्वाइंट टीएमसी स्थान कोड
  • "DE" = सड़क का पाठ विवरण
  • "क्यूडी" = पंक्तिबद्ध दिशा। '+' या '-'। ध्यान दें कि यह पूरी तरह से योग्य आईडी में यात्रा की दिशा के विपरीत है, उदाहरण के लिए स्थान 107 + 03021 के लिए QD होगा - '
  • "ले" = सड़क के खिंचाव की लंबाई। इकाइयों को फ़ाइल हेडर में परिभाषित किया गया है
  • "सीएफ" = वर्तमान प्रवाह। इस तत्व में दिए गए फ्लो आइटम के लिए गति और जाम फैक्टर जानकारी के बारे में विवरण शामिल हैं।
  • "सीएन" = आत्मविश्वास, एक संकेत है कि गति कैसे निर्धारित की गई थी। -1.0 सड़क बंद। 1.0 = 100% 0.7-100% ऐतिहासिक आमतौर पर .7 और 1.0 "एफएफ" = इस पर मुक्त प्रवाह की गति के बीच एक मूल्य
    सड़क के खंड ।
  • "जेएफ" = यात्रा की अपेक्षित गुणवत्ता का संकेत देते हुए 0.0 और 10.0 के बीच की संख्या। जब कोई सड़क बंद होती है, तो जाम फैक्टर 10. होगा। जैसे-जैसे संख्या नज़दीक आती जाएगी 10.0 यात्रा की गुणवत्ता ख़राब होती जा रही है। -1.0 इंगित करता है कि एक जाम फैक्टर की गणना नहीं की जा सकती है
  • "एसपी" = गति सीमा द्वारा छाया हुआ (UNITS पर आधारित) गति
  • "SU" = गति (UNITS पर आधारित) गति सीमा द्वारा छाया हुआ नहीं है
  • "TY" = दिए गए स्थान रेफ़रिंग कंटेनर के लिए जानकारी टाइप करें। यह स्वतंत्र रूप से परिभाषित स्ट्रिंग हो सकता है

इसके अलावा स्रोत https://developer.here.com/rest-apis/documentation/traffic/topics/additional-parameters.html से आता है


1
हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक हिस्सों को यहां शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - रिव्यू से
CinCout

3
@CinCout सुझाव के लिए धन्यवाद। मैंने अपनी पोस्ट अपडेट कर दी है।
कोस्टा हुआंग

मैं QD फ़ील्ड में वर्णित पूरी तरह से योग्य आईडी कैसे निर्धारित करूं?
डाइगोप्सो

12

Bing Maps API में एक REST सेवा है जो ट्रैफ़िक जानकारी लौटाती है

http://msdn.microsoft.com/en-us/library/hh441725


लेकिन इसका मतलब है कि यदि आप किसी मैप पर ट्रैफ़िक जानकारी प्रदर्शित करना चाहते हैं तो आपको बिंग मैप्स का उपयोग करना होगा।
noRema

6

कच्चे ट्रैफ़िक डेटा को खींचने की कोशिश करने के बजाय, आप एक अलग दृष्टिकोण की कोशिश कर सकते हैं। Google निर्देश API आपको एक विशेष मार्ग के साथ एपीआई को क्वेरी करने की अनुमति देता है और परिणामस्वरूप JSON स्ट्रिंग या XML तत्व देता है। इस परिणाम में तत्व शामिल हैं - 'period_in_traffic' यह यात्रा के विशेष चरण की कुल अवधि को इंगित करता है, जो यातायात की स्थिति को ध्यान में रखता है। (दिशा पैर एपीआई संदर्भ नीचे दिए गए लिंक द्वारा लौटाए गए JSON स्ट्रिंग के अन्य तत्वों की जानकारी के लिए)

https://developers.google.com/maps/documentation/directions/#JSON मैंने स्वयं यह कोशिश नहीं की है, लेकिन कुछ ऐसा है जो मैं प्रलेखन में आया था।


यह काम नहीं कर रहा है क्योंकि Google ट्रैफ़िक स्थिति पर विचार किए बिना यात्रा की अवधि और अवधि लौटाता है। मेरा मतलब है, यह उसी संख्या को लौटाता है, चाहे वह जल्दी घंटे हो या एक शांत रात :(
4ltoto

1
यह काम करता है अगर आपके पास Google मानचित्र के साथ एक भुगतान किया गया खाता है, लेकिन सदस्यता हास्यास्पद रूप से महंगी है और डेटा का उपयोग प्रतिबंधात्मक है।
बेतालगुएज़

5

भारत में हम http://www.itrafficnews.com का उपयोग कर रहे हैं । लेकिन डेटा उपयोगकर्ताओं द्वारा पोस्ट किया जाता है। मुझे नहीं लगता कि Google डेटा प्रदान करेगा।


4

शायद आपको Mapquests Traffic API: http://www.mapquestapi.com/traffic/ पर एक नज़र डालनी चाहिए

मुझे लगता है कि यूएस में कुछ शहरों के लिए ही वेबसेवा दुर्भाग्य से उपलब्ध है। लेकिन शायद यह आपकी समस्या को हल करता है।


3

मुझे नहीं लगता कि Google यह API प्रदान करेगा। और ट्रैफ़िक डेटा में केवल घटना डेटा शामिल नहीं है।

आज कई ऑनलाइन नक्शे शहर का ट्रैफ़िक दिखाते हैं, लेकिन उन्होंने डेवलपर के लिए एपीआई प्रदान नहीं किया है। हमें यह भी पता नहीं है कि उन्हें ट्रैफ़िक डेटा कहाँ मिलता है। हो सकता है सरकार के पास आंकड़े हों।

इसलिए मुझे लगता है कि आप इसके बारे में दूसरी दिशा से सोच सकते हैं। उदाहरण के लिए, वहाँ कई सामाजिक नेटवर्क वेबसाइट हैं। हर कोई वेबसाइट पर ट्रैफ़िक की जानकारी पोस्ट कर सकता है। यातायात की स्थिति प्राप्त करने के लिए हम इन सूचनाओं को एकत्र कर सकते हैं। या शायद हम इस प्रकार की वेबसाइट बना सकते हैं।

लेकिन उस प्रकार का ट्रैफ़िक डेटा (ऊपर की बात) सटीक नहीं है। यहां तक ​​कि मानव द्वारा प्रदान की गई जानकारी भी गलत होगी।

सौभाग्य से मैंने पाया कि मेरा शहर अब "वास्तविक समय की बस सूचना" नामक एक मोबाइल ऐप प्रदान करता है। यह नागरिक को बता सकता है कि बस अब कहां है, और बस स्टेशन पर कब पहुंचेगी। और मैं इस App में REST API को सूँघता हूँ। REST API का डेटा महत्वपूर्ण डेटा देता है, उदाहरण के लिए lat और lon, और बस गति भी। और यह वास्तविक समय का डेटा है! इसलिए मुझे लगता है कि हम इन आंकड़ों (कुछ प्रोग्रामिंग द्वारा) से यातायात की स्थिति की गणना कर सकते हैं। यहाँ कुछ नमूना डेटा है: https://github.com/sp-chenyang/bus/blob/master/sample_data/bjgj_aibang_com_8899_bjgj_php_city_linity_stationno_datatype_type.json.json

यहां तक ​​कि बस डेटा सटीक वास्तविक समय यातायात स्थिति की गणना करने के लिए पर्याप्त नहीं होगा। घटनाएं, ट्रैफिक लाइट और अन्य चीजें यातायात की स्थिति को प्रभावित करेंगी। लेकिन मुझे लगता है कि यह शुरुआत है।

अंत में, मुझे लगता है कि आप यह पता लगाने की कोशिश कर सकते हैं कि आपका शहर इन आंकड़ों को प्रदान करता है या नहीं।

पुनश्च: मैं हमेशा सोच रहा हूं कि भविष्य में लोगों के लिए जीवन बेहतर होगा, लेकिन अब नहीं।


3

ट्रैफिक डेटा प्राप्त करना संभव है। नीचे अजगर में मेरा कार्यान्वयन है। एपीआई में कुछ कोटा है और पूरी तरह से मुक्त नहीं है, लेकिन छोटे प्रोजेक्ट के लिए पर्याप्त है

import requests
import time
import json


while True:

    url = "https://maps.googleapis.com/maps/api/distancematrix/json"

    querystring = {"units":"metric","departure_time":str(int(time.time())),"traffic_model":"best_guess","origins":"ITPL,Bangalore","destinations":"Tin Factory,Bangalore","key":"GetYourKeyHere"}

    headers = {
        'cache-control': "no-cache",
        'postman-token': "something"
        }

    response = requests.request("GET", url, headers=headers, params=querystring)
    d = json.loads(response.text)
    print("On", time.strftime("%I:%M:%S"),"time duration is",d['rows'][0]['elements'][0]['duration']['text'], " & traffic time is ",d['rows'][0]['elements'][0]['duration_in_traffic']['text'])
    time.sleep(1800)
    print(response.text)

प्रतिक्रिया है: -

{
    "destination_addresses": [
        "Tin Factory, Swamy Vivekananda Rd, Krishna Reddy Industrial Estate, Dooravani Nagar, Bengaluru, Karnataka 560016, India"
    ],
    "origin_addresses": [
        "Whitefield Main Rd, Pattandur Agrahara, Whitefield, Bengaluru, Karnataka 560066, India"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "10.5 km",
                        "value": 10505
                    },
                    "duration": {
                        "text": "35 mins",
                        "value": 2120
                    },
                    "duration_in_traffic": {
                        "text": "45 mins",
                        "value": 2713
                    },
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}

आपको "departure_time":str(int(time.time()))ट्रैफ़िक जानकारी के लिए एक आवश्यक क्वेरी स्ट्रिंग पैरामीटर पास करना होगा ।

आपकी ट्रैफ़िक जानकारी इसमें मौजूद होगी duration_in_traffic

अधिक जानकारी के लिए इस दस्तावेज़ को देखें।

https://developers.google.com/maps/documentation/distance-matrix/intro#traffic-model

अगर मुझे इसे आज़माने की ज़रूरत है, तो मुझे केवल "GetYourKeyHere" पर अपनी कुंजी को बदलना होगा या कुछ और है? क्योंकि मेरे पास एक त्रुटि थी इसलिए मैं यह सुनिश्चित करना चाहता हूं कि सही तरीके से हूं
फातिमा

0

ओपन ट्रैफ़िक नामक एक परियोजना है जो अभी पूरी तरह से कार्यात्मक नहीं है, लेकिन भविष्य में सही उत्तर है।

OpenTraffic वास्तविक समय और ऐतिहासिक ट्रैफ़िक आँकड़ों में वाहनों और स्मार्टफ़ोन की अनाम स्थितियों को संसाधित करने के लिए एक वैश्विक डेटा प्लेटफ़ॉर्म है। साझेदारों की बढ़ती सूची में शामिल होने के साथ, हम पूरी तरह से ओपन-सोर्स सॉफ़्टवेयर का उपयोग करते हुए खुले में इसका निर्माण कर रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.