知道经纬度,然后用python绘图,并且计算两者之间的距离
时间: 2024-10-19 09:17:05 浏览: 17
在Python中,你可以利用地理空间分析库如geopy和matplotlib结合来完成这个任务。首先,你需要安装这两个库:
```bash
pip install geopy matplotlib
```
以下是基本步骤:
1. **导入必要的库**:
```python
import geopandas as gpd
from geopy.distance import geodesic
import matplotlib.pyplot as plt
```
2. **获取经纬度数据**:假设你已经有了两个地点的经纬度,例如纽约和洛杉矶,可以像这样表示:
```python
location1 = (40.7128, -74.0060) # 纽约
location2 = (34.0522, -118.2437) # 洛杉矶
```
3. **计算两地距离**:
```python
distance = geodesic(location1, location2).km # 使用geodesic函数计算地球表面的实际距离
print(f"两地距离大约为{distance:.2f}公里")
```
4. **绘制地图**:
```python
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')) # 加载世界地图数据
# 绘制地图并标记点
fig, ax = plt.subplots(figsize=(10, 10))
world.plot(ax=ax, color='white', edgecolor='black')
ax.scatter(location1[1], location1[0], c='red', label='Location 1')
ax.scatter(location2[1], location2[0], c='blue', label='Location 2')
plt.legend()
plt.title("纽约到洛杉矶的地图及距离")
plt.show()
```
这将创建一个包含两个城市标记的地图,并显示它们之间的实际距离。
阅读全文