Mysql
 sql >> Base de données >  >> RDS >> Mysql

MBR Within n'est pas précis dans mysql

MySQL 5.6.1 et versions ultérieures ont des algorithmes de géométrie exacte en plus des fonctions antérieures qui ne fonctionnaient que sur MBR.

Vous pouvez utiliser ST_WITHIN plutôt que MBR_WITHIN . Voir documentation . Comme ça

SELECT ST_Within(GeomFromText('POINT(101.11857 4.34475)'),
  GeomFromText('POLYGON((101.12112522125244 4.3531723687957164,101.11846446990967 
    4.351417913665312,101.13138198852539 4.336397898951581,101.13477230072021 
    4.33211863778494,101.14065170288086 4.321933898868271,101.14992141723633 
    4.306699328215635,101.15455627441406 4.30978050198082,101.1397933959961 
    4.334600612212089,101.12112522125244 4.3531723687957164,101.12112522125244 
    4.3531723687957164))')) As geoFenceStatus