PHP 多边型无序点经纬度排序
时间: 2023-02-08 14:22:49 浏览: 74
可以使用 PHP 的 usort 函数来对多边形的点进行经纬度排序。首先需要为每个点创建一个包含经纬度信息的对象,然后定义一个比较函数,按照纬度和经度的顺序来比较两个点的大小。最后将多边形的点数组作为参数传入 usort 函数进行排序。
示例代码如下:
```
class Point {
public $latitude;
public $longitude;
public function __construct($lat, $lon) {
$this->latitude = $lat;
$this->longitude = $lon;
}
}
function comparePoints($a, $b) {
if ($a->latitude == $b->latitude) {
return $a->longitude < $b->longitude ? -1 : 1;
}
return $a->latitude < $b->latitude ? -1 : 1;
}
$polygon = array(new Point(45.5231, -122.6765), new Point(37.788022, -122.399797), new Point(34.0522, -118.2437));
usort($polygon, "comparePoints");
```
上面的代码中的 Point 类表示了一个点,包含纬度和经度两个属性。comparePoints 函数是用来比较两个点的大小的,它按照纬度和经度的顺序来比较两个点的大小。最后,将多边形的点数组作为参数传入 usort 函数进行排序。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)