有没有办法通过谷歌API获取海拔剖面数据来检查两点之间是否有视线?
例如,我可以通过此链接获取海拔剖面:https ://maps.googleapis.com/maps/api/elevation/json?path=36.578581,-118.291994|36.23998,-116.83171&samples=10&key=YOUR_API_KEY
结果是一个 10 点的 json,位于两点之间,其地面高程,例如:
{
"results" : [
{
"elevation" : 4411.94189453125,
"location" : {
"lat" : 36.578581,
"lng" : -118.291994
},
"resolution" : 19.08790397644043
},
{
"elevation" : 1658.561645507812,
"location" : {
"lat" : 36.54183904164596,
"lng" : -118.1291141726249
},
"resolution" : 9.543951988220215
},
{
"elevation" : 1085.295776367188,
"location" : {
"lat" : 36.50487579522382,
"lng" : -117.966389550823
},
"resolution" : 9.543951988220215
},
{
"elevation" : 1491.4912109375,
"location" : {
"lat" : 36.46769177008888,
"lng" : -117.8038207060907
},
"resolution" : 9.543951988220215
},
{
"elevation" : 1583.762817382812,
"location" : {
"lat" : 36.43028747728768,
"lng" : -117.6414082023003
},
"resolution" : 9.543951988220215
},
{
"elevation" : 488.8834228515625,
"location" : {
"lat" : 36.39266342953181,
"lng" : -117.4791525957044
},
"resolution" : 9.543951988220215
},
{
"elevation" : 933.0382080078125,
"location" : {
"lat" : 36.35482014117158,
"lng" : -117.3170544349424
},
"resolution" : 9.543951988220215
},
{
"elevation" : 1657.123779296875,
"location" : {
"lat" : 36.31675812816988,
"lng" : -117.1551142610472
},
"resolution" : 9.543951988220215
},
{
"elevation" : 1074.835205078125,
"location" : {
"lat" : 36.27847790807609,
"lng" : -116.9933326074523
},
"resolution" : 9.543951988220215
},
{
"elevation" : -84.51690673828125,
"location" : {
"lat" : 36.23998,
"lng" : -116.83171
},
"resolution" : 9.543951988220215
}
],
"status" : "OK"
}
是否有数学公式可以检查是否可以看到 A 点和 B 点?
我需要用 PHP 编写代码。
谢谢大家。