pelias / model

Pelias data models
6 stars 17 forks source link

address:city tag why not? #126

Closed kmadenski closed 4 years ago

kmadenski commented 4 years ago

Hey team!

I was trying to create autocomplete solution based your awesome geocoding engine when I got some restriction.

https://github.com/pelias/model/blob/master/Document.js

I have osm data where every record have tag: address: city

My goal is to overcome use case like: "As a user when i type address: street + address: number i need to know in which city the address located" In my country we got the same street + number combination in many cities.

I browsed some hours pelias stack and only solution that i se is fork / clone multiple repos like: -pelias / Model -pelias / api -pelias / OpenStreetMap and do some changes. But I do not know this area well and intuition tells me that there is no "address: city" for important reason?

Can u explain me this reason to stop me or give me a green light to changes on my own with comment: it is the best solution.

missinglink commented 4 years ago

Hi @kmadenski, I think the piece of the puzzle you're missing is what we call the 'PIP Service'.

If you have a look at the response GeoJSON, such as this example you'll notice that all the administrative areas (such as city, country etc) have unique IDs which are linked to the WhosOnFirst dataset.

This dataset is a huge collection of world boundaries which we use (currently exclusively, in the future not) to establish a consistent administrative hierarchy which is the same across all countries and data providers.

So what happens is that each record is converted from it's source data format into the 'model' format, this model object is then passed to a function which calls the PIP (Point-in-polygon) service, which responds with a list of geographic boundaries which envelope the point.

kmadenski commented 4 years ago

I thank you very much for generous explanations.