zbycz / osmapp

Lets make a universal app for OpenStreetMap
https://osmapp.org
GNU General Public License v3.0
219 stars 19 forks source link

Showing Wikipedia articles from WP Places / Nearby #653

Open prototyperspective opened 1 month ago

prototyperspective commented 1 month ago

Could you use Wikipedia Nearby/Places to show places with WP articles on the map? They could also be shown when selecting "Show nearby objects".

zbycz commented 1 month ago

You can display all OSM map features with wikipedia articles by typing wikipedia= + Enter in the Search Box.

It highlights all roads, building and POIs which have the wikipedia=* tag in OSM data - more details here.

image

Does this solve this issue? If not please let me know what are the differences. Also we may add useful search queries more prominently somehow, eg in part of #523.

prototyperspective commented 1 month ago

Interesting, thanks for the info! Does that show all Wikipedia items with geocoordinates or only items manually tagged with it in OSM data? Because I was asking about integrating the Wikipedia Places feature so that it shows all WP articles (of some specified language(s)) with coordinates on the map.

So except if it shows all of them, this doesn't solve it. In addition requiring users to know some code word to to put in the search box is not accessible, I think it needs some button somewhere in the menu that is clear and easy to find for all such as "Show Wikipedia articles". I'm not entirely sure if the linked issue is about the latter – I think one could introduce bookmarks for search queries and allow them to be saved/shared and found via the search. If that is how a button to "Show Wikipedia articles" on the map is implemented, then I think there should be a few default bookmarks where this would be one of them.

zbycz commented 1 month ago

No, this shows only data manually tagged in OSM. It's meant more for power users.

Ok, this issue can eventually lead to an overlay layer in the LayerSwitcher called "Wikipedia articles", here below Climbing. We must somehow denote that the layer is not from OSM. On click, it could simply open the article in a new window.

I remember I saw once a map with all the Wikipedia articles, but I can't find it. Today I found only this - when I explored the queries it only calls geosearch with center+radius, which is not very peformant. Api doc here.

For optimal solution we would need a API which returns articles in a given bounding box.

prototyperspective commented 1 month ago

Yes, that would be amazing. Also note that there's Wikipedia articles for all sorts of things and maybe one point one could filter which kinds of articles it shows on the map (e.g. only mountains).

I linked the Wikipedia Places feature in the issue, it can be accessed in the mobile app as well as via the left sidepanel on m.wikipedia.org. Also see Kartographer which uses OSM (btw I asked on the talk page about filtered views like e.g. all mountain articles). There's many advantages and usecases in integrating Wikipedia articles into a daily use / versatile-features map. You could for example go hiking or city sightseeing or whatever else you use map features for and discover WP articles alongside. You could also make it part of planning bike trips and many other things.

The Geosearch API is really useful. If you click on the try in API sandbox buttons you can see what it returns. I think for filtering it would be easiest if it returned page categories as well and maybe I should ask about that – however, if one gets a cat like "Railway stations in Gdańsk" one may need the whole category tree to know that it's a railway station which is part of public transport infrastructure for which one may have set the filter to not show WP articles on the map. However, one could also get the data instance of: railway station from the article's Wikidata item (which also is easier to query than eg categories of the WP article).

I couldn't find some Kartographer API. Here is a tutorial for the geosearch API maybe parts of it are useful. I think with that API one would set the coordinates of the middle and then set gsradius. Edit: relevant question and links.