使用GeoNames Java API检索给定维基百科文章标题的坐标

时间:2012-02-05 20:23:45

标签: wikipedia geonames

说我有维基百科文章的标题,例如费城,我想要那个地方的坐标。我不想从维基百科得到这个,因为看起来我必须检索整篇文章。而且我不想只是松散地查询GeoNames以寻找像“费城”这样的地方,因为那会产生很多结果,我知道我想要特定的维基百科文章[[Philadelphia]]的坐标。

似乎GeoNames API允许您使用类WikipediaArticle及其方法(如setTitle()和getLatitude())执行此操作。但我一直在摆弄那个班级和WebService并且无法以这种方式检索坐标。我不会厌倦我尝试过的所有组合,但我找不到如何做的例子。类似的东西:

WebService.setUserName("whateveritis");
List<WikipediaArticle> wikiResults = WebService.wikipediaSearchForTitle(
                            "Philadelphia","en");
for (WikipediaArticle r : wikiResults) {
    System.out.println(r.getLatitude());
}

这给了很多错误,我可以分享,但让我觉得我只是错误地使用它。或者也许:

WikipediaArticle myPlace = new WikipediaArticle();
myPlace.setTitle("Philadelphia");
Double lat = myPlace.getLatitude();

返回0.0。是否有人熟悉API,可以告诉我哪里出错了?我认为它的意思是做这样的事情,因为网络版本做到了:http://api.geonames.org/wikipediaSearch?title=Philadelphia&maxRows=1&username=demo

1 个答案:

答案 0 :(得分:0)

第一种方法,使用WebService.wikipediaSearchForTitle,是这样做的方法,但你必须在类路径中正确设置jdom - 我认为我有,但没有。但请注意,该功能会在标题中返回任何带有“Philadelphia”的文章,而不仅仅是Phildelphia。因此,即使在工作时,功能也没有达到我所需的水平。