Я хочу создать многоугольник в виде круга с радиусом 10 километров вокруг определенной точки в MySQL (без PHP или других языков программирования). Точка предоставляется в виде географической координаты с долготой-широтой, например, «100,8160803 13,7538929» для города Бангкок, SRID - 4326.
Многоугольник не обязательно должен быть идеально закругленным кругом, шестиугольник или восьмиугольник тоже подойдут.
Пытался использовать ST_Buffer , но это не работает, потому что он не может обрабатывать SRID (кроме SRID 0, конечно).
Я нашел много уроков / запросов о том, как найти точки в определенном радиусе вокруг точки, как здесь: MySQL - Найти точки в радиусе от базы данных
А вот код для такого запроса:
SELECT id,
( 6371 *
ACOS(
COS( RADIANS( db_latitude ) ) *
COS( RADIANS( $user_latitude ) ) *
COS( RADIANS( $user_longitude ) -
RADIANS( db_longitude ) ) +
SIN( RADIANS( db_latitude ) ) *
SIN( RADIANS( $user_latitude) )
)
)
AS distance FROM the_table HAVING distance <= $the_radius ORDER BY distance ASC"
Но я до сих пор не знаю, как создать круговой многоугольник вокруг точки .