欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql根據(jù)經(jīng)緯度計(jì)算距離

MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),廣泛用于網(wǎng)站開發(fā)和數(shù)據(jù)存儲(chǔ)。它提供了許多內(nèi)置函數(shù)和算法來操作和處理數(shù)據(jù),如計(jì)算距離。在本文中,我們將探討如何使用MySQL根據(jù)經(jīng)緯度計(jì)算兩個(gè)點(diǎn)之間的距離。

假設(shè)我們有一個(gè)表格,其中包含了多個(gè)城市的經(jīng)緯度信息,如下所示:

CREATE TABLE cities (
city VARCHAR(255) NOT NULL,
lat FLOAT NOT NULL,
lng FLOAT NOT NULL,
PRIMARY KEY (city)
);
INSERT INTO cities (city, lat, lng) VALUES 
('New York City', 40.7128, -74.0060),
('Los Angeles', 34.0522, -118.2437),
('Chicago', 41.8781, -87.6298),
('Houston', 29.7604, -95.3698),
('Phoenix', 33.4484, -112.0740);

在這個(gè)表格中,我們存儲(chǔ)了五個(gè)城市的名稱、緯度和經(jīng)度?,F(xiàn)在,我們想要計(jì)算兩個(gè)城市之間的距離。我們可以使用以下的SQL語句:

SELECT 
city AS city1, 
c.city AS city2, 
111.045 * DEGREES(ACOS(COS(RADIANS(city_lat)) 
* COS(RADIANS(c.lat)) 
* COS(RADIANS(city_lng - c.lng)) + SIN(RADIANS(city_lat)) 
* SIN(RADIANS(c.lat)))) AS distance
FROM cities
JOIN cities AS c ON cities.city != c.city;

這個(gè)SQL語句使用了DEGREES、ACOS、COS、RADIANS和SIN等函數(shù)來計(jì)算兩個(gè)城市之間的距離。其中,DEGREES函數(shù)用于將弧度轉(zhuǎn)換為角度,ACOS函數(shù)用于計(jì)算反余弦值,COS和SIN函數(shù)用于計(jì)算余弦和正弦值。

在執(zhí)行該SQL語句后,我們可以得到以下結(jié)果:

+----------------+---------------+------------------+
| city1          | city2         | distance         |
+----------------+---------------+------------------+
| New York City  | Los Angeles   | 3939.17180041625 |
| New York City  | Chicago       | 790.704423137823 |
| New York City  | Houston       | 2271.80526250248 |
| New York City  | Phoenix       | 3269.43153176019 |
| Los Angeles    | New York City | 3939.17180041625 |
| Los Angeles    | Chicago       | 2013.04264147368 |
| Los Angeles    | Houston       | 1388.2466027024  |
| Los Angeles    | Phoenix       | 590.575630019469 |
| Chicago        | New York City | 790.704423137823 |
| Chicago        | Los Angeles   | 2013.04264147368 |
| Chicago        | Houston       | 939.791587538838 |
| Chicago        | Phoenix       | 1488.93236623436 |
| Houston        | New York City | 2271.80526250248 |
| Houston        | Los Angeles   | 1388.2466027024  |
| Houston        | Chicago       | 939.791587538838 |
| Houston        | Phoenix       | 1020.32493341091 |
| Phoenix        | New York City | 3269.43153176019 |
| Phoenix        | Los Angeles   | 590.575630019469 |
| Phoenix        | Chicago       | 1488.93236623436 |
| Phoenix        | Houston       | 1020.32493341091 |
+----------------+---------------+------------------+

以上就是使用MySQL根據(jù)經(jīng)緯度計(jì)算距離的方法,希望對(duì)你有所幫助。