gpt4 book ai didi

php - 获取两点之间的坐标?

转载 作者:行者123 更新时间:2023-12-05 06:43:00 25 4
gpt4 key购买 nike

假设我有两个点:l1 = (lat1, lng1)l2 = (lat2, lng2)。如何以编程方式生成相距 x 米的坐标网格?

enter image description here

根据这张图片,如果我有两个红点和一个值 x,我想找出黄点的坐标。我知道两个红点之间的距离(水平或垂直)可能不是 x 的倍数,这可能导致行和/或列中的最后两个点的距离小于 x。

最佳答案

根据您的 map ,您正在地球表面的很小一部分上创建有界网格。这意味着您可以忽略投影数学而只使用二维代数:减去经度并除以水平网格数,然后减去纬度并除以垂直网格数。

// source coordinates in decimal degrees
$pOne = [ 'lat' => 35.001234, 'lon' => -78.940202 ];
$pTwo = [ 'lat' => 35.010272, 'lon' => -78.721478 ];

// grid size along latitude and longitude
$nLat = 5;
$nLon = 5;

// get the grid size for each dimension in degrees
$dLat = ($pTwo['lat'] - $pOne['lat']) / $nLat;
$dLon = ($pTwo['lon'] - $pOne['lon']) / $nLat;

for ($i = 0; $i < $nLat; $i++) {
$lat = $pOne['lat'] + ($i*$dLat);
for ($j = 0; $j < $nLon; $j++) {
$lon = $pOne['lon'] + ($j*$dLon);
printf('<%.6f, %.6f>' . PHP_EOL, $lat, $lon);
}
}

关于php - 获取两点之间的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35140185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com