import googlemaps
import urllib2
import urllib
import json
import simplejson
import math
from pprint import pprint
#API_KEY = 'AIzaSyCZE-Tw7JOB1z_Qr1PgBBLlMzRswPmS5N8'
with open ( 'data.json' ) as data_file:
data_json = json.load ( data_file)
id = 1
tmp = input ( )
ans = [ ]
for tmp in data_json:
src = tmp[ 'pickup_latitude' ] , tmp[ 'pickup_longitude' ]
dest = tmp[ 'drop_latitude' ] , tmp[ 'drop_longitude' ]
url = "http://m...content-available-to-author-only...s.com/maps/api/distancematrix/json?origins={0}&destinations={1}&mode=driving&language=en-EN&sensor=false" .format ( str ( src) , str ( dest) )
res= simplejson.load ( urllib .urlopen ( url) )
drive_time = ( res[ 'rows' ] [ 0 ] [ 'elements' ] [ 0 ] [ 'duration' ] [ 'text' ] ) .split ( ) [ 0 ]
drive_dist = ( res[ 'rows' ] [ 0 ] [ 'elements' ] [ 0 ] [ 'distance' ] [ 'text' ] ) .split ( ) [ 0 ]
print ( id )
print ( drive_dist)
print ( drive_time)
print ( "%0.5f km" %tmp[ 'metered_distance' ] ) ,
print ( "%d minutes" %tmp[ 'metered_time' ] )
id = id +1
try :
t_dev = int ( ( ( abs ( float ( x[ 'metered_time' ] ) - float ( drive_time) ) *1.0 ) /float ( x[ 'metered_time' ] ) ) *100.0 )
d_dev = int ( ( ( abs ( float ( tmp[ 'metered_distance' ] ) - float ( drive_dist) ) *1.0 ) /float ( tmp[ 'metered_distance' ] ) ) *100.0 )
except :
t_dev = 100
d_dev = 100
#On assuming that system is faulty if time deviation or distance deviation is greater than 20%
if t_dev > 20 or d_dev > 20 :
ANS = { 'engagement_id' : res[ 'engagement_id' ] , 'metered_distance' : drive_dist, 'metered_time' : drive_time, 'time_deviation' : str ( t_dev) +'%' , 'distance_deviation' : str ( d_dev) +'%' }
print ( ANS)
ans.append ( ANS)
with open ( 'ans.json' , 'w' ) as outfile:
json.dump ( ans, outfile)
aW1wb3J0IGdvb2dsZW1hcHMKaW1wb3J0IHVybGxpYjIKaW1wb3J0IHVybGxpYgppbXBvcnQganNvbgppbXBvcnQgc2ltcGxlanNvbgppbXBvcnQgbWF0aApmcm9tIHBwcmludCBpbXBvcnQgcHByaW50CiNBUElfS0VZID0gJ0FJemFTeUNaRS1UdzdKT0Ixel9RcjFQZ0JCTGxNelJzd1BtUzVOOCcKd2l0aCBvcGVuKCdkYXRhLmpzb24nKSBhcyBkYXRhX2ZpbGU6ICAgIAogICAgZGF0YV9qc29uID0ganNvbi5sb2FkKGRhdGFfZmlsZSkKaWQgPSAxCnRtcCA9IGlucHV0KCkKYW5zID0gW10KZm9yIHRtcCBpbiBkYXRhX2pzb246CiAgICBzcmMgPSB0bXBbJ3BpY2t1cF9sYXRpdHVkZSddLHRtcFsncGlja3VwX2xvbmdpdHVkZSddCiAgICBkZXN0ID0gdG1wWydkcm9wX2xhdGl0dWRlJ10sdG1wWydkcm9wX2xvbmdpdHVkZSddCgl1cmwgPSAiaHR0cDovL20uLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnMuY29tL21hcHMvYXBpL2Rpc3RhbmNlbWF0cml4L2pzb24/b3JpZ2lucz17MH0mZGVzdGluYXRpb25zPXsxfSZtb2RlPWRyaXZpbmcmbGFuZ3VhZ2U9ZW4tRU4mc2Vuc29yPWZhbHNlIi5mb3JtYXQoc3RyKHNyYyksc3RyKGRlc3QpKQoJcmVzPSBzaW1wbGVqc29uLmxvYWQodXJsbGliLnVybG9wZW4odXJsKSkKCWRyaXZlX3RpbWUgPSAocmVzWydyb3dzJ11bMF1bJ2VsZW1lbnRzJ11bMF1bJ2R1cmF0aW9uJ11bJ3RleHQnXSkuc3BsaXQoKVswXQoJZHJpdmVfZGlzdCA9IChyZXNbJ3Jvd3MnXVswXVsnZWxlbWVudHMnXVswXVsnZGlzdGFuY2UnXVsndGV4dCddKS5zcGxpdCgpWzBdCglwcmludChpZCkKCXByaW50KGRyaXZlX2Rpc3QpCglwcmludChkcml2ZV90aW1lKQoJcHJpbnQgKCIlMC41ZiBrbSIgJXRtcFsnbWV0ZXJlZF9kaXN0YW5jZSddKSwKCXByaW50KCIlZCBtaW51dGVzIiV0bXBbJ21ldGVyZWRfdGltZSddKQoJaWQgPSBpZCsxCgl0cnkgOgoJCXRfZGV2ID0gaW50KCgoYWJzKGZsb2F0KHhbJ21ldGVyZWRfdGltZSddKS0gZmxvYXQoZHJpdmVfdGltZSkpKjEuMCkvZmxvYXQoeFsnbWV0ZXJlZF90aW1lJ10pKSoxMDAuMCkKCQlkX2RldiA9IGludCgoKGFicyhmbG9hdCh0bXBbJ21ldGVyZWRfZGlzdGFuY2UnXSkgLSBmbG9hdChkcml2ZV9kaXN0KSkqMS4wKS9mbG9hdCh0bXBbJ21ldGVyZWRfZGlzdGFuY2UnXSkpKjEwMC4wKQoJZXhjZXB0IDoKCQl0X2RldiA9IDEwMAoJCWRfZGV2ID0gMTAwCgkKCSNPbiBhc3N1bWluZyB0aGF0IHN5c3RlbSBpcyBmYXVsdHkgaWYgdGltZSBkZXZpYXRpb24gb3IgZGlzdGFuY2UgZGV2aWF0aW9uIGlzIGdyZWF0ZXIgdGhhbiAyMCUgCglpZiB0X2RldiA+IDIwIG9yIGRfZGV2ID4gMjAgOgoJCUFOUyA9IHsgJ2VuZ2FnZW1lbnRfaWQnIDogcmVzWydlbmdhZ2VtZW50X2lkJ10sICdtZXRlcmVkX2Rpc3RhbmNlJzogZHJpdmVfZGlzdCwgJ21ldGVyZWRfdGltZScgOiBkcml2ZV90aW1lLCAndGltZV9kZXZpYXRpb24nIDogc3RyKHRfZGV2KSsnJScsICdkaXN0YW5jZV9kZXZpYXRpb24nIDogc3RyKGRfZGV2KSsnJScgfQoJCXByaW50KEFOUykKCQlhbnMuYXBwZW5kKEFOUykKCXdpdGggb3BlbignYW5zLmpzb24nLCAndycpIGFzIG91dGZpbGU6CgkJanNvbi5kdW1wKGFucywgb3V0ZmlsZSkKCgo=
compilation info
Traceback (most recent call last):
File "/usr/lib/python3.4/py_compile.py", line 124, in compile
_optimize=optimize)
File "<frozen importlib._bootstrap>", line 1532, in source_to_code
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "./prog.py", line 17
url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins={0}&destinations={1}&mode=driving&language=en-EN&sensor=false".format(str(src),str(dest))
^
TabError: inconsistent use of tabs and spaces in indentation
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.4/py_compile.py", line 128, in compile
raise py_exc
py_compile.PyCompileError: Sorry: TabError: inconsistent use of tabs and spaces in indentation (prog.py, line 17)
stdout