很简单的问题,很难找到一个又好又快的解决方法。
在mysql中,有没有实现如何计算保存为空间数据的形状的周长?
就目前而言,在5.7/8.0中有一个函数stu area、centroid等,但没有像qgis/arcgis/other中那样的周长。如何计算保存为的形状的周长:
POLYGON((-0.064064467695394 51.517842990224,-0.064052072253155 51.517846382663,-0.064060161846309 51.517859555443,-0.064067607477908 51.517870919076,-0.064150020271406 51.518000873356,-0.064212111950441 51.517981215205,-0.064106051285605 51.517831086958,...etc
在纯MySQL5.7+(过程/函数)或最终MySQLwith php中?
形状小到不需要任何球面距离,所以我假设,在这种情况下地球是平的:)
谢谢你的回答!
2条答案
按热度按时间f8rj6qna1#
我认为最好的方法是用php实现这一点。当然,这并不是说在mysql中做不到。
这是我的php解决方案:
它将字符串拆分为逗号分隔的对,然后在中间的空间上分离每一对。从那以后,它在reduce循环中使用了毕达哥拉斯定理。
bcs8qyzn2#
您可以如下所示创建自己的函数并传递想要传递的参数。
假设你想计算长度为4的正方形的周长。
你可以得到如下值。