- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
非常简单的问题,很难找到一个好的、快速的解决方案。
是否有任何实现如何计算在MySQL中保存为空间数据的形状的周长?
目前在 5.7/8.0 中有一个函数 ST_Area、Centroid 等,但没有像 Perimeter 这样的函数。 QGis/ArcGIS/其他。如何计算保存为的形状的周长:
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
在 PURE MySQL 5.7+(过程/函数)中还是最终使用 PHP 的 MySQL?
形状足够小,无法使用任何球面距离,所以我假设,在这种情况下地球是平的:)
感谢您提供有用的答案!
最佳答案
我认为最好的方法是用 PHP 来做到这一点。当然,并不是说它不能在 MySQL 中完成。
这是我的 PHP 解决方案:
function perimeterFromValue($value) {
$points = array_map(
function($pair) {
return preg_split('#\\s+#', $pair, -1, PREG_SPLIT_NO_EMPTY);
},
explode(',', $value)
);
$start = array_shift($points);
// Make the perimeter close onto itself (if it is already, remove this line)
$points[] = $start;
return array_reduce($points, function($carry, $item) use(&$start) {
$carry += hypot($item[0]-$start[0], $item[1]-$start[1]);
$start = $item;
return $carry;
}, 0);
}
它将字符串分成以逗号分隔的对,然后在中间的空格上分隔每对。从那时起,它在归约循环中使用毕达哥拉斯定理。
关于mysql - 如何在MySQL中计算形状的周长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52932287/
好吧,这不起作用!有什么问题呢。有人可以向我指出吗?我已经盯着它看了好几个小时了。我之前寻求过帮助,他提出了结构,但我并没有真正理解它,所以它不起作用。 没有得到正确的计算。我认为读取文件时可能出现问
我需要显示一个圆周。为了做到这一点,我认为我可以为很多 x 计算 y 的两个值,所以我做了: import sympy as sy from sympy.abc import x,y f = x**2
3个不同的类 1个用于处理Circle实例,1个用于Square实例,第3个用于比较之间他们(main) 。在 main 函数中,我找到了 circle (在 c1..c4 之间)和 square (
我是一名优秀的程序员,十分优秀!