コード例 #1
0
ファイル: api.py プロジェクト: sdesby/GareLaPlusProche
    def get(self, args):
        geocode = Geocode()
        address = args["address"]
        complete_json_answer_for_address = geocode.get_coordinates_from_address(
            address)

        if complete_json_answer_for_address is not None:
            latitude = float(
                complete_json_answer_for_address[0]["geometry"]["lat"])
            longitude = float(
                complete_json_answer_for_address[0]["geometry"]["lng"])
            LOGGER.info("Coordinates for address \"" + address + "\" are: " +
                        str(latitude) + "," + str(longitude))
            if args["howbig"] == "":
                nearest_station = engine.get_nearest_train_station(
                    latitude, longitude)
            else:
                nearest_station = engine.get_nearest_train_station_this_big(
                    latitude, longitude)
            return json.loads(
                json_util.dumps(nearest_station,
                                ensure_ascii=False).encode('utf8'))
        else:
            LOGGER.error("No answer from OpenCageGeocode for address: \"" +
                         address + "\"")
            return json.loads(
                "{\"error\": {\"message\": \"Bad request. Check if address exists\", \"status\": 400}}"
            ), 400
コード例 #2
0
    def test_should_return_none_because_address_unknown(self):

        geocode = Geocode()

        address = "tototatatiti"
        result = geocode.get_coordinates_from_address(address)

        self.assertIsNone(result)
コード例 #3
0
    def test_should_return_coordinates(self):
        """
        Saint Quentin le verger :
        x1 = 48.619380
        y1 = 3.746980
        """
        geocode = Geocode()

        address = "14 rue de Vignolle, Saint-Quentin-le-verger"
        result = geocode.get_coordinates_from_address(address)

        latitude = str(result[0]["geometry"]["lat"])
        longitude = str(result[0]["geometry"]["lng"])

        distance = engine.get_distance(float(latitude), float(longitude),
                                       48.619380, 3.746980)

        self.assertLess(distance, 0.5)
コード例 #4
0
ファイル: api.py プロジェクト: sdesby/GareLaPlusProche
    def get(self, args):
        geocode = Geocode()
        detailed_address = address_to_string(args)
        result = geocode.get_coordinates_from_address(detailed_address)

        return result