GIScience / openrouteservice

🌍 The open source route planner api with plenty of features.
https://openrouteservice.org
GNU General Public License v3.0
1.41k stars 386 forks source link

Wrong result from https://api.openrouteservice.org/geocode/search/structured?... #274

Closed kimjohans closed 5 years ago

kimjohans commented 6 years ago

Hello,

testing the ORS Service "geocode/search/structured", i got follwing problem:

Real address = Am Wegekreuz 15, 41516 Grevenbroich, Germany

This address is existing and can easily be found with google maps etc correctly.

Due to the API documentation of this function, i used following data:

address = Am Wegekreuz 15
locality = Grevenbroich
region = Germany
postalcode = 41516

Brought into an url with encoded fields (i replaced my working apikey with ): https://api.openrouteservice.org/geocode/search/structured?api_key=&address=Am%20Wegekreuz%2015&locality=Grevenbroich&region=Germany&postalcode=41516

The result is:

{
    "geocoding": {
        "version": "0.2",
        "attribution": "http://192.168.2.20:3100/v1/attribution",
        "query": {
            "parsed_text": {
                "city": "grevenbroich",
                "state": "Germany",
                "postalcode": "41516",
                "number": "15",
                "street": "Am Wegekreuz"
            },
            "size": 10,
            "private": false,
            "lang": {
                "name": "English",
                "iso6391": "en",
                "iso6393": "eng",
                "defaulted": true
            },
            "querySize": 20
        },
        "engine": {
            "name": "Pelias",
            "author": "Mapzen",
            "version": "1.0"
        },
        "timestamp": 1537170221097
    },
    "type": "FeatureCollection",
    "features": [{
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [8.442379, 53.959234]
            },
            "properties": {
                "id": "85682503",
                "gid": "whosonfirst:region:85682503",
                "layer": "region",
                "source": "whosonfirst",
                "source_id": "85682503",
                "name": "Minor islands of Germany",
                "confidence": 0.3,
                "match_type": "fallback",
                "accuracy": "centroid",
                "country": "Germany",
                "country_gid": "whosonfirst:country:85633111",
                "country_a": "DEU",
                "region": "Minor islands of Germany",
                "region_gid": "whosonfirst:region:85682503",
                "continent": "Europe",
                "continent_gid": "whosonfirst:continent:102191581",
                "label": "Minor islands of Germany, Germany"
            },
            "bbox": [8.420021, 53.9443555, 8.4608415, 53.9642955]
        }],
    "bbox": [8.420021, 53.9443555, 8.4608415, 53.9642955]
}

But the coordinate is somewhere next to "Scharhörn", an island in the north of germany ?! That's completly wrong.

Is it my mistake (what should be corrected) or is the system working incorrect ?

Thanks for any help !

rabidllama commented 6 years ago

Hi @kimjohans

We use a local installation of the Pelias geocoder for our geocding and looking at their test page (http://pelias.github.io/compare/#/v1/search/structured%3Faddress=Am%2520Wegekreuz%252015&locality=Grevenbroich&region=Germany&postalcode=41516) for the same address gives the same response of the islands in the north of germany, so if it is a bug it would need to be registered with Pelias rather than ORS.

However, I suspect that it has something to do with the region=Germany part as this would match the Minor islands of Germany, Germany part of the response. For passing a country, this should be country=Germany. Also, when looking, it seems that the street in question as far as the Pelias data knows is in a locality of Kapellen and not in Grevenbroich.