首页 > 解决方案 > 地理搜索是否已在所有维基百科上激活?

问题描述

我发现不同维基百科报告的结果以及 API 和同一页面中的页面之间存在不一致。

这个搜索

https://en.wikipedia.org/w/api.php?action=query&list=geosearch&gsbbox=43.60834750781285|16.456582641601567|43.50834750781285|16.55658264160157&format=json&gslimit=500

报告 6 个结果

而同等的

https://hr.wikipedia.org/w/api.php?action=query&list=geosearch&gsbbox=43.60834750781285|16.456582641601567|43.50834750781285|16.55658264160157&format=json&gslimit=500

即使此页面https://hr.wikipedia.org/wiki/Klis具有地理坐标,也不会返回任何内容,并且应该通过上述搜索返回。

是否有可能在某些维基百科上没有激活地理搜索 - 在这种情况下是克罗地亚语?

标签: wikipediawikipedia-api

解决方案


维基百科上的地理搜索相当不可靠,因为坐标可以以多种不同的方式存储在一篇文章中。尽管它在英语维基百科上的效果似乎比在克罗地亚语维基百科上更好,但您对英语维基百科的查询结果也不完整。例如,它不包括https://en.wikipedia.org/wiki/Kamen,_Croatiahttps://en.wikipedia.org/wiki/Mravince,即使这两个地方位于您的边界框内。

对于进行地理搜索,我建议使用Wikidata 查询服务而不是 Mediawiki API。以下查询返回边界框内的所有位置以及克罗地亚维基百科上的一篇文章:https ://query.wikidata.org/#SELECT%20%2a%20WHERE%20%7B%0A%20%20SERVICE%20wikibase%3Abox %20%7B%0A%20%20%20%20%3Fplace%20wdt%3AP625%20%3Flocation%20.%0A%20%20%20%20bd%3AserviceParam%20wikibase%3AcornerWest%20%22Point%2816.456582641601567% 2043.60834750781285%29%22%5E%5Egeo%3AwktLiteral%20.%0A%20%20%20%20bd%3AserviceParam%20wikibase%3AcornerEast%20%22Point%2816.55658264160157%2043.50834750781285%29%22%5E%5Egeo%3AwktLiteral%20 .%0A%20%20%7D%0A%20%20%3Farticle%20schema%3Aabout%20%3Fplace%20.%0A%20%20%3Farticle%20schema%3AisPartOf%20%3Chttps%3A%2F%2Fhr .wikipedia.org%2F%3E%20.%0A%7D

但请注意,此查询不搜索存储在 Wikipedia 上的坐标,而是搜索 Wikidata 上的坐标。


推荐阅读