Supposons que j'ai une table de 2 colonnes comme ceci: comme vous pouvez le voir, c'est très simple. UTM est un alors, je crée un index spatial. P> D'accord, tout va bien. Maintenant, je veux Select * où la distance <99999. Strong>
Mais cela ne fonctionne pas! P> d'ailleurs, j'ai essayé d'insérer dans sans le point fromwkb ... et ça n'a pas fonctionné ... c'est pourquoi quelqu'un suggéré que Poindromwkb pour moi. P> p>
4 Réponses :
résolu. C'est ce que j'ai fait:
Est-ce que cela calculille la distance selon les coordonnées géographiques ou les coordonnées planes.
Vous pouvez aussi le faire de cette façon. Je ne sais pas si c'est plus rapide ou pas.
Aussi loin que je sache, vous devez essayer de cette manière - plus dans Cette réponse forte>. P> p>
Si vous envisagez des points comme des valeurs de longitude et de latitude sur Terre, vous pouvez utiliser st_distance_sphere code> fonction pour calculer la distance entre 2 points.
mysql> SET @p1 = ST_GeomFromText('POINT(3.13 52.5)');
Query OK, 0 rows affected (0.00 sec)
mysql> SET @p2 = ST_GeomFromText('POINT(100.4 27.8)');
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> SELECT ST_Distance_Sphere(@p1, @p2) AS distance;
+-------------------+
| distance |
+-------------------+
| 8053869.706740822 |
+-------------------+
1 row in set (0.05 sec)