我有一个包含点(坐标)和标题(方向/方位角)的数据库。我想创建以kml为标题的饼形扇形(LinearRing)。任何人有任何关于如何使用PHP构建这个的建议吗?
答案 0 :(得分:0)
好的,php不是我的力量。这是伪代码,可能对你有帮助(*)。
“在半径为r的球体上,计算指定方位角和范围的大圆上的点.PHI,LAMBDA,PHI0,LAMBDA0和AZ是弧度的角度,RNG是与R具有相同单位的距离。 “
INPUT: phi0, lambda0, az, rng, r
OUTPUT: phi,lambda
rng = rng / r; // Convert the range to an angle on the sphere (in radians).
epsilon = 1.7453e-07; // Set tolerance
if(phi0 >= pi / 2 - epsilon) // starting at north pole
az = pi;
if(phi0 <= epsilon - pi / 2) // starting at south pole
az = 0;
// Calculate coordinates of great circle end point using spherical trig.
phi = asin( sin(phi0) * cos(rng) + cos(phi0) * sin(rng) * cos(az) );
lambda = lambda0 + atan2( sin(rng) * sin(az) , cos(phi0) * cos(rng) - sin(phi0) * sin(rng) * cos(az) );
phi0 和 lambda0 是您的初始坐标, az 是您的标题。改变 az +/-一定范围以获得形成饼图的圆形片段的点。其余的应该是直截了当的。