두 지점 사이의 거리가 N 킬로미터 미만인지 확인해야합니다. 그것이 형상의 일부로서 저장,Mariadb : geography
는 지금까지 SRID 속성은 MySQL의 단지 더미입니다 :이 쿼리를 실행하려고 해요 :
select st_distance( ST_GeomFromText('point(45.764043 4.835658999999964)', 4326), ST_GeomFromText('point(45.750371 5.053963)', 4326) ) < :n
을하지만 때문에 작동하지 않습니다 메타 데이터를 제외한 모든 실제 계산은이를 무시하고 계산은 유클리드 (평면) 기하학을 가정하여 수행됩니다.
(https://mariadb.com/kb/en/mariadb/st_transform-missing/)
내 목표는 측정 거리이 거리를 변환하거나 도로에 N을 변환하는 것입니다.
어떻게 할 수 있습니까? 아마도 더 나은 해결책을 알고 있습니까?
P. 공간적 방법에 기반한 솔루션이 필요합니다 (또는 성능면에서 더 좋습니다).
불행히도, 너무 하드 코딩되어 있습니다. 실제로, 상자 나 일부 확장 기능은 없습니까? –
오라클의 MySQL 5.7.6에는'ST_Distance_Sphere()'와'ST_MakeEnvelope()'가 있습니다. MariaDB가 언제 추가할지 모르겠습니다. –