Je suis en difficulté sur ce pendant quelques jours, je ne sais pas pourquoi la requête était erronée .. Je veux trouver le point le plus proche à la lat/lon donné.Spatialite trouver le noeud le plus proche pour le lat/lon
SELECT rid,DISTANCE(geometry, MakePoint(-79.91759, 43.266571))
FROM room2f ORDER BY DISTANCE(Startpoint(geometry), MakePoint(-79.91759, 43.266571))limit 1
Il est toujours retourner la première rangée, nommez quel point j'utilise. Alors j'ai essayé d'enlever « Limit1 »:
SELECT rid,DISTANCE(geometry, MakePoint(-79.91759, 43.266571))
FROM room2f ORDER BY DISTANCE(Startpoint(geometry), MakePoint(-79.91759, 43.266571))
Le résultat est très étrange ... Le résultat est trié par la distance plutôt que de débarrasser, je pense que c'est pourquoi il retourne toujours la première ligne. Ma requête est-elle incorrecte? Ou, il y a un bug dans Spatialite?
Merci ] 1
Pouvez-vous fournir la '.dump' de l'outil de ligne de commande pour une base de données SQLite de jouets convenablement adapté comme quelque chose d'un [mcve]? – Yunnosch
Vous n'utilisez pas 'StartPoint' dans les deux calculs de distance. Mais cela ressemble en effet à un bug. –
Qu'est-ce que 'SELECT rid, AsEWKT (point de départ (géométrie)), AsEWKT (géométrie) LIMIT 5' montrent? Pouvez-vous ajouter cela à la question? – BradHards