Рассчитайте расстояние от Точки до Линестринга (в MySQL 5.7)

Как вы находите минимальное расстояние от данной точки до линейной строки, используя MySQL ST_Distance_Sphere функционировать?

Версия MySQL: 5.7

введите описание изображения здесь

Вы можете найти расстояние от точки до многоточия (в этом примере "многоточечность" имеет 3 точки) с помощью следующего запроса в MySQL-5.7:

SELECT St_distance_sphere(
  Point(-78.020980, 33.924749), 
  St_mpointfromtext( 
  'MULTIPOINT (
    -121.74085998535 36.207740783691, 
    -121.64459991455 36.131820678711, 
    -121.61689758301 36.087413787842
  )'
  )) 
/ 1000 AS distance_km; 

Результат запроса: distance_km = 3944.6957

Пример точки и линейной строки:

Point(-78.020980, 33.924749)

LINESTRING(
  -121.74085998535 36.207740783691, 
  -121.73951721191 36.20726776123, 
  -121.73829650879 36.206771850586, 
  -121.73760986328 36.205757141113, 
  -121.73580169678 36.204746246338, 
  -121.73380279541 36.204647064209
)

Я пытаюсь создать действительный запрос, подобный приведенному ниже (ниже недействительный):

mysql> SET @point = ST_GeomFromText('Point(-78.020980, 33.924749)');
mysql> SET @linestring = ST_GeomFromText('LINESTRING(
      -121.74085998535 36.207740783691, 
      -121.73951721191 36.20726776123, 
      -121.73829650879 36.206771850586, 
      -121.73760986328 36.205757141113, 
      -121.73580169678 36.204746246338, 
      -121.73380279541 36.204647064209
    )');
mysql> SELECT ST_Distance_Sphere(@point, @linestring);

Ожидаемый результат: "минимальное" расстояние от точки до линии

0 ответов

Другие вопросы по тегам