如何解决在python和mysql的圆内获取ID
我有两个点A(lat1,lng1)和B(lat2,lng2),我想在这两个点内获取MySQL表的所有ID(A和B为圆的直径)。 我怎样才能做到这一点?我有点卡住 非常感谢你 see this image here
解决方法
例如,我有两个点要在这两个定义的点中搜索点。我计算了这两个点之间的距离,然后除以2得到半径。中心的纬度=(lat_point1 + lat_point2)/ 2,经度相同。然后我从该中心搜索半径范围内的所有点。
SET center = ST_GeomFromText( 'POINT(35.322825 139.52769)',4326 ); #center between spot_1 and 2
SET spot_1 = ST_GeomFromText( 'POINT(35.30633 139.50644 )',4326 );
SET spot_2 = ST_GeomFromText( 'POINT(35.33932 139.54894 )',4326 );
SELECT id,lat,lng,ROUND(ST_Distance(geometry,center,'kilometre'),2) FROM points where ST_Distance(spot_2,geometry,'kilometre') <=radius
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。