mysql空间函数

MySQL空间函数计算距离,并关联表的查询,子查询 的原创SQL,单位:米

SELECT b.longitude,b.latitude,b.distance,sm.monitoring_id,
sm.monitoring_code,sm.channel,sm.monitoring_area
 FROM (SELECT ssi.longitude,ssi.latitude ,ssi.site_code,
ST_Distance(
ST_GeomFromGeoJSON (CONCAT('{"type": "Point", "coordinates": [',ssi.longitude,',',ssi.latitude,']}')),
ST_geomFromGeoJSON('{"type":"LineString","coordinates":[[116.06712341308594,37.98696319284105],[116.05042934417723,37.97184241275072],[116.04969978332518,37.9700155304247],[116.0499143600464,37.959797683792324],[116.05021476745605,37.95370690025965],[116.0478115081787,37.945889654741386]]}')
)  AS distance
FROM sys_site_information ssi 
WHERE ssi.latitude > 0) AS b JOIN `sys_monitoring` sm ON b.site_code= sm.site_code 
HAVING b.distance < 50
发布了21 篇原创文章 · 获赞 0 · 访问量 494

猜你喜欢

转载自blog.csdn.net/mws666/article/details/103835678