def _street(usrn):
    streets = llist(mongo.db.street.find({'street': usrn}))
    street = latest(streets)
    return render_template("street.html",
                           street=street,
                           streets=streets,
                           addresses=addresses('street', usrn))
예제 #2
0
def main():
    s = streets()
    a = addresses()
    c = communities()
    thestreets = s.getall()

    print "[INFO   ] Trying to geocode {0} streets ...".format(len(thestreets))

    for street in thestreets:
        _sid,rawname,_name,_streettype,cid = street
        _cid,community,hrid = c.get(cid)
        badcount = 0
        for num in range(1,4096):
            _addr = "{0} {1}, {2}, Monroe County, NY".format(num,rawname,community)
            if a.checkexists(_addr) == False:
                result = geocodemq(_addr)
                valid,fulladdress,lat,lng,zipcode,streetnumber,route,locality,state,country = pulldatamq(result)
                if valid == True:
                    a.add(_addr,fulladdress,num,route,_streettype,zipcode,community,locality,"Monroe County","New York","NY",lat,lng)
                    print "[INFO   ] Added: {0}".format(fulladdress)
                else:
                    badcount += 1
            else:
                print "[INFO   ] Ignoring duplicate address"
            if badcount == 16:
                print "[WARNING] 16 bad street numbers in a row, giving up on street."
                break

    print "[INFO   ] Done!"
예제 #3
0
def addcrime(crime,rawaddress,city,department,crimedate,crimetime):
    c = crimes()
    a = addresses()
 
    _crimetime = crimetime.split('-')[0].split(' ')[0]
    _ampm = crimetime.split('-')[0].split(' ')[1]
    if _ampm == "p.m.":
        _crimetime = "{0}:{1}:00".format(int(_crimetime.split(':')[0])+12,_crimetime.split(':')[1])    

    d = crimedate.split('/')
    _crimedate = "{0}-{1}-{2}".format(d[2],d[0],d[1])

    fulladdress = ""
    lat = 0
    lng = 0
    zipcode = ""

    if True:
    #if c.checkexists(crime,rawaddress,city,department,_crimedate,_crimetime) == False:

        valid,fulladdress,lat,lng,zipcode = a.getbyrawaddress(rawaddress)
        if valid == False:
            _address = "{0}, {1}, NY".format(rawaddress,city)
            _json = geocodemq(_address)
            _fulladdress,lat,lng,zipcode = pulldata(_json)
            fulladdress = "{0}{1}".format(rawaddress,_fulladdress)
        #if(crimedate.split('/')[2] == "2013"): 
           #json = geocode("{0},{1}, NY".format(rawaddress,city))
            #f _json['status'] != 'OK':
            #   raise Exception("Google API says 'NO MORE!'")
            #ulladdress = _json['results'][0]['formatted_address']
            #at = _json['results'][0]['geometry']['location']['lat']
            #ng = _json['results'][0]['geometry']['location']['lng']
            #ipcode = ""
            #or comp in _json['results'][0]['address_components']:
            #   if comp['types'][0] == "postal_code":
            #       zipcode = comp['long_name']
            #       break

        print "adding: {0},{1},{2},{3},{4},{5},{6},{7},{8},{9}".format(crime,rawaddress,fulladdress,lat,lng,zipcode,city,department,_crimedate,_crimetime)

        c.add(crime,rawaddress,fulladdress,lat,lng,zipcode,city,department,_crimedate,_crimetime)
        a.add(rawaddress,fulladdress,lat,lng,zipcode)
    else:
        print "crime already saved, ignoring ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9})".format(crime,rawaddress,fulladdress,lat,lng,zipcode,city,department,_crimedate,_crimetime)
        raise Exception("Debug, Stop.")
def _addresses_name(name):
    return render_template("addresses.html",
                           name=name,
                           addresses=addresses('name', name.upper()))