Je suis juste jouer avec un jeu de données de ma région générée par JOSM. Je me suis déplacé dans un mySQL DB avec le système API 0.6 en utilisant Osmose et maintenant je suis en train désespérément ce qui suit:OpenStreetMap Recherche à proximité en utilisant mySQL
Je veux toutes les rues d'une ville. AFAIK il n'y a pas tag/relation dans les données OSM pour déterminer ce si je l'ai essayé en utilisant une recherche de proximité pour obtenir tous les nœuds dans un rayon autour d'un noeud représentant le centre-ville.
La plupart du temps, je regardais les approches here
Ce que je GOT le code SQL suivant qui devrait me faire les plus proches de 100 nœuds autour du nœud avec id 36187002 et dans un rayon de 10 km.
set @nodeid = 36187002;
set @dist = 10;
select longitude, latitude into @mylon, @mylat from nodes where [email protected] limit 1;
SELECT id, (6371 * acos(cos(radians(@mylon)) * cos(radians(latitude)) *
cos(radians( longitude) - radians(@mylat)) + sin(radians(@mylon)) * sin(radians(latitude))))
AS distance
FROM nodes HAVING distance < @dist ORDER BY distance LIMIT 0 , 100;
Eh bien ... cela ne fonctionne pas. :(Je suppose que le problème principal est que les lats OSM/lons sont multipliés par 10.000.000 et je ne sais pas comment je peux corriger cette fonction pour le faire fonctionner
Toutes les idées/solutions possibles