當前位置: 首頁>>代碼示例>>Python>>正文


Python exc.GeocoderTimedOut方法代碼示例

本文整理匯總了Python中geopy.exc.GeocoderTimedOut方法的典型用法代碼示例。如果您正苦於以下問題:Python exc.GeocoderTimedOut方法的具體用法?Python exc.GeocoderTimedOut怎麽用?Python exc.GeocoderTimedOut使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在geopy.exc的用法示例。


在下文中一共展示了exc.GeocoderTimedOut方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: get_geocoordinates

# 需要導入模塊: from geopy import exc [as 別名]
# 或者: from geopy.exc import GeocoderTimedOut [as 別名]
def get_geocoordinates(geolocator, listing_object):
    address, city, state, zip_code = construct_full_address(listing_object)
    address_string_combinations = [
        '%s %s %s %s' % (address, city, state, zip_code),
        '%s %s %s' % (address, city, state),
        '%s %s' % (address, zip_code)
    ]
    location = None
    for address_string_combination in address_string_combinations:
        try:
            location = geolocator.geocode(address_string_combination)
        except (GeocoderTimedOut, GeocoderServiceError, GeocoderUnavailable):
            time.sleep(10)
            try:
                location = geolocator.geocode(address_string_combination)
            except (
                    GeocoderTimedOut, GeocoderServiceError,
                    GeocoderUnavailable):
                return None, None
        if location:
            return location.latitude, location.longitude
        else:
            continue
    if not location:
        return None, None 
開發者ID:bgirer,項目名稱:rets-django,代碼行數:27,代碼來源:update_listings.py

示例2: retrying_set_location

# 需要導入模塊: from geopy import exc [as 別名]
# 或者: from geopy.exc import GeocoderTimedOut [as 別名]
def retrying_set_location(location_name):
    """
    Continue trying to get co-ords from Google Location until we have them
    :param location_name: string to pass to Location API
    :return: None
    """

    while True:
        try:
            set_location(location_name)
            return
        except (GeocoderTimedOut, GeocoderServiceError), e:
            debug(
                'retrying_set_location: geocoder exception ({}), retrying'.format(
                    str(e)))
        time.sleep(1.25) 
開發者ID:rubenmak,項目名稱:PokemonGo-SlackBot,代碼行數:18,代碼來源:pokehomey.py

示例3: geocode

# 需要導入模塊: from geopy import exc [as 別名]
# 或者: from geopy.exc import GeocoderTimedOut [as 別名]
def geocode(self, address):
        if not isinstance(address, basestring) \
                and not isinstance(address, dict):
            err_msg = u"address should either be of type: %s, or of type %s." \
                      % (basestring, dict)
            raise TypeError(err_msg)

        try:
            geolocation = self._geocoder.geocode(address)

            if not geolocation:
                err_msg = u"Couldn't resolve the following address: '%s'" \
                          % address
                raise GeolocationFailure(err_msg)
        except (exc.GeocoderQuotaExceeded,
                exc.GeocoderUnavailable,
                exc.GeocoderTimedOut) as e:
            raise TemporaryError(u'Geolocator error: %s' % e)
        except exc.GeocoderServiceError as e:
            raise GeolocationError(u'Geolocator error: %s' % e)

        return geolocation 
開發者ID:pyjobs,項目名稱:web,代碼行數:24,代碼來源:geolocation.py

示例4: get

# 需要導入模塊: from geopy import exc [as 別名]
# 或者: from geopy.exc import GeocoderTimedOut [as 別名]
def get(self, request, *args, **kwargs):
        # Validate request
        form = CoordinatesFromAddressForm(request.GET)
        if not form.is_valid():
            return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)
        address = form.cleaned_data['address']

        # Return lat/lon for address
        geolocator = Nominatim()
        try:
            location = geolocator.geocode(address)
        except GeocoderTimedOut:
            return Response(
                "Geocoder service currently unavailable. Please try again later.",
                status=status.HTTP_503_SERVICE_UNAVAILABLE
            )
        return Response({
            'latitude': float("{0:.4f}".format(location.latitude)),
            'longitude': float("{0:.4f}".format(location.longitude)),
        }) 
開發者ID:RevolutionTech,項目名稱:perdiem-django,代碼行數:22,代碼來源:views.py

示例5: retrying_set_location

# 需要導入模塊: from geopy import exc [as 別名]
# 或者: from geopy.exc import GeocoderTimedOut [as 別名]
def retrying_set_location(location_name):
    """
    Continue trying to get co-ords from Google Location until we have them
    :param location_name: string to pass to Location API
    :return: None
    """

    while True:
        try:
            set_location(location_name)
            return
        except (GeocoderTimedOut, GeocoderServiceError), e:
            debug(
                'retrying_set_location: geocoder exception ({}), retrying'.format(str(e)))
        time.sleep(1.25) 
開發者ID:Girish-Raguvir,項目名稱:PokemonGo-RedStreak,代碼行數:17,代碼來源:main.py

示例6: dispatch

# 需要導入模塊: from geopy import exc [as 別名]
# 或者: from geopy.exc import GeocoderTimedOut [as 別名]
def dispatch(self, request, *args, **kwargs):
        # Filtering
        self.active_genre = request.GET.get('genre', 'All Genres')
        self.distance = request.GET.get('distance')
        self.location = request.GET.get('location')
        self.lat = request.GET.get('lat')
        self.lon = request.GET.get('lon')

        # Sorting
        order_by_slug = request.GET.get('sort')
        if order_by_slug not in self.ORDER_BY_NAME:
            order_by_slug = 'recent'
        self.order_by = {
            'slug': order_by_slug,
            'name': self.ORDER_BY_NAME[order_by_slug],
        }

        # Geolocate if location
        self.location_coordinates = None
        self.geocoder_failed = False
        if self.location:
            geolocator = Nominatim()
            try:
                self.location_coordinates = geolocator.geocode(self.location)
            except GeocoderTimedOut:
                self.geocoder_failed = True

        return super(ArtistListView, self).dispatch(request, *args, **kwargs) 
開發者ID:RevolutionTech,項目名稱:perdiem-django,代碼行數:30,代碼來源:views.py

示例7: geolocate

# 需要導入模塊: from geopy import exc [as 別名]
# 或者: from geopy.exc import GeocoderTimedOut [as 別名]
def geolocate(place):
    if place:
        print('geolocate', place)
        try:
            location = geolocator.geocode(place)
            if location:
                return {
                    'lat': location.latitude,
                    'lng': location.longitude,
                }
        except GeocoderTimedOut:
            print('geocoder timeout')
    return {} 
開發者ID:mdamien,項目名稱:leboncoin-map,代碼行數:15,代碼來源:serv.py


注:本文中的geopy.exc.GeocoderTimedOut方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。