Die Google Maps Wikipedia-Layer
-
03-07-2019 - |
Frage
Gibt es eine Möglichkeit programmatisch alle Geo-Tags zur Liste Wikipedia Einträge im Umkreis von einem langen / lat Punkt? Ich denke, dies ist möglich mit dem Google Maps API, aber ich bin in jedem Verfahren interessiert. HINWEIS:. Ich will nicht eine googlemap anzuzeigen
Lösung
Ja, es ist möglich. Der schwierige Teil ist entweder:
(1) Screen-Scraping Wikipedia (schlechte Idee, wenn Sie bereits eine (kleine) Liste der Zielseiten haben)
(2) Das Herunterladen und Analysieren der massiven Wikipedia Datensätze (bessere Idee)
Wenn Sie lat / long-Koordinaten, die ich annehmen, sind in der Geotag Format der Wiki-Seite können Sie die Großkreis Formel berechnen relative Abstände und Bypass Googles API vollständig.
Die Moral dieser Geschichte? Wenn Sie schon mit Datensatz dieses massiven tun hat, du gehst so viel davon offline wie möglich tun wollen.
Andere Tipps
Ich habe ein etwas ähnliches Problem mithilfe der GeoNames webservices .
Sie können den Webservice nutzen Städte zu beantragen und so weiter. Es gibt eine pro-ip-Einschränkung können Sie nicht überschreiten.
suchte ich ein wenig weiter und es gibt etwas für Sie interessant. Der Webservice heißt findNearByWikipedia
. Es kann die Sache, die Sie suchen für ...
Eine weitere Option ist DBpedia SPARQL-Schnittstelle. Zum Beispiel wird die folgende SPARQL Query wikipedia Artikel in einem Begrenzungsrahmen begrenzt durch die Koordinaten.
SPARQL Bibliotheken weit verbreitet, zum Beispiel für SPARQL Endpoint-Schnittstelle Python
Um es zu testen, fügen Sie einfach die Abfrage unten an diesen Online-Abfrage-Editor:
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT * WHERE {
?s a onto:Place .
?s geo:lat ?lat .
?s geo:long ?long .
FILTER ( ?long > 30.3 && ?long < 30.5 && ?lat > 50.4 && ?lat < 50.5)
}
LIMIT 100
Ruft folgendes Ergebnis:
"s","lat","long"
"http://dbpedia.org/resource/Kotsiubynske","50.48972320556641","30.32888793945312"
"http://dbpedia.org/resource/Akademmistechko_%28Kiev_Metro%29","50.46555709838867","30.35499954223633"
"http://dbpedia.org/resource/Zhytomyrska_%28Kiev_Metro%29","50.45583343505859","30.36416625976562"
"http://dbpedia.org/resource/Sviatoshyn_Airfield","50.47833251953125","30.38500022888184"