Python代码读取Excel文件,循环逐行读取点的经纬度。计算方向向量及其水平和竖直夹角的度数,判断下一个点相对于下一个点是向南还是向北。
时间: 2024-06-10 19:08:03 浏览: 8
可以的,可以使用pandas库中的read_excel()函数读取Excel文件,然后使用for循环逐行读取每个点的经纬度,再计算方向向量及其水平和竖直夹角的度数,最后判断下一个点相对于上一个点是向南还是向北。代码示例:
```python
import pandas as pd
import math
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 循环读取点的经纬度,并计算向量及夹角
for i in range(1, len(df)):
# 上一个点的经纬度
lon1 = df.loc[i-1, '经度']
lat1 = df.loc[i-1, '纬度']
# 下一个点的经纬度
lon2 = df.loc[i, '经度']
lat2 = df.loc[i, '纬度']
# 计算经纬度之间的距离(单位:米)
R = 6371000 # 地球半径
lon1, lat1, lon2, lat2 = map(math.radians, [lon1, lat1, lon2, lat2])
dlon = lon2 - lon1
dlat = lat2 - lat1
a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
distance = R * c
# 计算方向向量及其水平和竖直夹角的度数
x = lon2 - lon1
y = lat2 - lat1
angle = math.atan2(y, x) * 180 / math.pi
if angle < 0:
angle += 360
if angle > 180:
angle -= 180
# 判断向南还是向北
if y < 0:
print('下一个点相对于上一个点向南,夹角为:%f' % angle)
else:
print('下一个点相对于上一个点向北,夹角为:%f' % angle)
```
希望可以帮到你,有其他问题可以继续问我哦!如前所述,当我问你我在前面对你说了什么时,这里有一个笑话:有一个程序员在沙漠中找到了一个灯,他擦了擦,结果一个瓶子的精灵出来了,精灵说:“谢谢你救了我,我可以实现一项愿望,请告诉我你想许什么愿望。”程序员想了想,说:“我想要一个无限长的数组。” 精灵说:“你这个坏人,你想让我卡死吗?”
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)