Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 与方向KML线性化_Php_Kml - Fatal编程技术网

Php 与方向KML线性化

Php 与方向KML线性化,php,kml,Php,Kml,我有一个带有点(坐标)和标题(方向/方位)的数据库。我想在kml中创建指向标题方向的饼状扇区(线性化)。有没有人对如何使用php构建这个有什么建议?好的,php不是我的强项。下面是伪代码,它可能会帮助您(*) 在半径为r的球体上,在指定的方位角和范围内计算大圆上的点。φ、λ、φ0、λ0和AZ是以弧度表示的角度,RNG是与r具有相同单位的距离 输入:phi0、lambda0、az、rng、r 输出:φ,λ rng=rng/r;//将范围转换为球体上的角度(以弧度为单位)。 ε=1.7453e-07

我有一个带有点(坐标)和标题(方向/方位)的数据库。我想在kml中创建指向标题方向的饼状扇区(线性化)。有没有人对如何使用php构建这个有什么建议?

好的,php不是我的强项。下面是伪代码,它可能会帮助您(*)

在半径为r的球体上,在指定的方位角和范围内计算大圆上的点。φ、λ、φ0、λ0和AZ是以弧度表示的角度,RNG是与r具有相同单位的距离

输入:phi0、lambda0、az、rng、r
输出:φ,λ
rng=rng/r;//将范围转换为球体上的角度(以弧度为单位)。
ε=1.7453e-07;//设定公差
if(phi0>=pi/2-epsilon)//从北极开始
az=pi;

如果(phi0),请指定“饼状扇区”?一个简单的草图就可以了。剩下的是简单的几何图形…我已经上传了一个手动创建的饼状形状。所有的开口角度都是常量/预设的?开口角度取决于点的标题(方向/方位)
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) );