コード例 #1
0
def geocode_address_dotus(street, city, zip_code=''):
    address = "%s %s, %s" % (street, city, zip_code)
    try:
        us = geocoders.GeocoderDotUS()
        return list(us.geocode(address, exactly_one=False))
    except Exception:
        return None
コード例 #2
0
def parse_pdf_header(page_data):
    sc_data_agg = []
    nums = range(5, 16)
    for num in nums:
        sc_data = page_data.cssselect('text')[num].text_content()
        match = re.search(r':', sc_data)
        if match:
            sc_data = sc_data.split(':', 1)[1].strip()
        sc_data_agg += [sc_data]
        
    data = dict(zip(variables, sc_data_agg))
    
    if data['address'] != '':
        us = geocoders.GeocoderDotUS() 
        place, (lat, lng) = us.geocode(data['address'])  
        print "%s: %.5f, %.5f" % (place, lat, lng) 
    
        data['lat'] = lat
        data['lng'] = lng
    

    save([], data)


    print data
コード例 #3
0
ファイル: helpers.py プロジェクト: codeforbtv/green-rental
    def __init__(self):

        #initialize geocoders once:
        self.google = geocoders.GoogleV3()
        #doesn't look like yahoo supports free api any longer:
        #http://developer.yahoo.com/forum/General-Discussion-at-YDN/Yahoo-GeoCode-404-Not-Found/1362061375511-7faa66ba-191d-4593-ba63-0bb8f5d43c06
        #yahoo = geocoders.Yahoo('PCqXY9bV34G8P7jzm_9JeuOfIviv37mvfyTvA62Ro_pBrwDtoIaiNLT_bqRVtETpb79.avb0LFV4U1fvgyz0bQlX_GoBA0s-')
        self.usgeo = geocoders.GeocoderDotUS() 
        self.geonames = geocoders.GeoNames()
        self.bing = geocoders.Bing('AnFGlcOgRppf5ZSLF8wxXXN2_E29P-W9CMssWafE1RC9K9eXhcAL7nqzTmjwzMQD')
        self.openmq = geocoders.OpenMapQuest()
        self.mq = geocoders.MapQuest('Fmjtd%7Cluub2hu7nl%2C20%3Do5-9uzg14')
コード例 #4
0
def get_address(start_index, count):
    g = geocoders.GeocoderDotUS()
    num = Restaurant.select().count()
    x = start_index
    while x < start_index + count and x <= num:
        r = Restaurant.selectBy(id = x).getOne()
        try:
            print "Geocoding %s located at %s" % (r.id, r.original)
            place, (lat, lng) = g.geocode(r.original + ', Chicago, IL')
            r.address = place
            r.lat = lat
            r.lng = lng
        except Exception, e:
            print "Error: %s" % e
        x = x + 1
コード例 #5
0
ファイル: hs_geocode.py プロジェクト: jameyhanson/LAXStorm
def geocodeHS(geocoder, hs_id, lookup_hs_name):
    if geocoder == 'arcgis':
        geolocator = geocoders.ArcGIS()
    elif geocoder == 'baidu':
        geolocator = geocoders.baidu()
    elif geocoder == 'geocodefarm':
        print("Troubleshooting AttributeError: 'NoneType' object has no attribute 'replace'")
        exit(0)
        # geolocator = GeocodeFarm()
    elif geocoder == 'geocoderdotus':
        geolocator = geocoders.GeocoderDotUS()
    elif geocoder == 'geonames':
        geolocator = geocoders.geonames()
    elif geocoder == 'googlev3':
        geolocator = geocoders.GoogleV3()
    elif geocoder == 'nominatim':
        geolocator = geocoders.Nominatim()
    elif geocoder == 'openmapquest':
        geolocator = geocoders.OpenMapQuest()
    elif geocoder == 'yandex':
        print('Do not use.  Russian site')
        exit(1)
    else:
        print('invalid geodocder specified')
        exit(1)
        
    try:
        return geolocator.geocode(lookup_hs_name, exactly_one=True, timeout=10)
    except exc.GeocoderQuotaExceeded:
        print(geocoder, ':\tGeocoderQuotaExceeded')
        exit(1)
    except exc.ConfigurationError:
        print(geocoder, ':\tConfigurationError')
        exit(1)
    except exc.GeocoderAuthenticationFailure:
        print(geocoder, ':\tGeocoderAuthenticationFailure')
        exit(1)
    except exc.GeocoderTimedOut:
        print(geocoder, ':\tGeocoderTimedOut')
        exit(1)
    except exc.GeocoderUnavailable:
        print(geocoder, ':\tGeocoderUnavailable')
        exit(1)
    except exc.GeocoderInsufficientPrivileges:
        print(geocoder, ':\tGeocderInsufficientPrivileges')
    except:
        return None
コード例 #6
0
def setGeoCoders(gCoderStrings, configFilePtr):
	gCoders = {}
	config = ConfigParser.RawConfigParser()
	config.readfp(configFilePtr)
	for gCoderKey in gCoderStrings:
		if gCoderKey == "google":
			gCoders[gCoderKey] = geocoders.GoogleV3()
		elif gCoderKey == "geocoder.us":
			gCoders[gCoderKey] = geocoders.GeocoderDotUS()
		elif gCoderKey == "GeoNames":
			gCoders[gCoderKey] = geocoders.GeoNames()
		elif gCoderKey == "MediaWiki":
			gCoders[gCoderKey] = geocoders.MediaWiki()
		elif gCoderKey == "yahoo":
			gCoders[gCoderKey] = geocoders.Yahoo(config.get('API KEYS', gCoderKey))
		elif gCoderKey == 'bing':
			gCoders[gCoderKey] = geocoders.Bing(config.get('API KEYS', gCoderKey))
	return gCoders
コード例 #7
0
# Pinball Machines in Seattle!

import scraperwiki
import lxml.html
import lxml.etree
import urllib
import geopy
from geopy import geocoders
import string

us = geocoders.GeocoderDotUS()
gn = geocoders.GeoNames()

html = scraperwiki.scrape("http://list.skill-shot.com/")
root = lxml.html.fromstring(html)

print len(root.cssselect("div [class='location']"))
locations = root.cssselect("div [class='location']")

for pinball in root.cssselect("div [class='location']"):
    venue = pinball.cssselect("a")[0].text
    address = pinball.cssselect("h4")[0].text
    table = pinball.cssselect("li")[0].text

    tables = []
    for tables in pinball.cssselect("li"):
        tables.append(table.rstrip().split(','))

    returned = us.geocode(address + ", Seattle, WA")
    if returned != None:
        place, (lat, lng) = returned
コード例 #8
0
     parse_errors += 1
     continue
 
 try:
     shape = row[3]
 except:
     shape = ''
 try:
     duration = row[4]
 except:
     duration = ''
 
 # Geocoders
 y = geocoders.Yahoo(YAHOO_API_KEY)
 g = geocoders.Google(GOOGLE_API_KEY)
 us = geocoders.GeocoderDotUS()  # Free, but didn't seem to work well when I tried it
 
 # Geocode locations
 try:
     # Try Google first
     place, (latitude, longitude) = list(g.geocode(location, exactly_one=False))[0]
 except:
     try:
         # Then Yahoo
         place, (latitude, longitude) = list(y.geocode(location, exactly_one=False))[0]
     except:
         # Can't find it
         latitude = ''
         longitude = ''
 
 # Build SQL INSERT statement
コード例 #9
0
import scraperwiki
html = scraperwiki.scrape(
    "http://www.urbanspoon.com/s/1?q=capitol+hill+coffee")

import geopy
from geopy import geocoders

import lxml.html
root = lxml.html.fromstring(html)

oid = 0
for details in root.cssselect("div.restaurants li.restaurant"):
    name = details.cssselect("a.resto_name")[0].text.strip()
    address = details.cssselect("span.address")[0].text.strip()
    price = details.cssselect("span.price")[0].text.strip()
    returned = geocoders.GeocoderDotUS().geocode(address + ", Seattle, WA")
    if returned != None:
        place, (lat, lng) = returned
    else:
        (lat, lng) = ("0", "0")
    print lat
    print lng

    data = {
        'oid': oid,
        'name': name,
        'address': address,
        'price': price,
        'lat': lat,
        'long': lng,
        'address': address,