给我一个python代码,我输入经纬度坐标,生成一个边长为1km的正方形区域,给我四个角的经纬度坐标
时间: 2024-09-18 12:07:33 浏览: 22
当然可以,以下是一个简单的Python函数,它接受用户输入的中心经纬度和边长,然后计算出一个边长为1公里的正方形区域的四个角点的经纬度坐标:
```python
from math import sin, cos, sqrt, atan2, radians
def generate_square_area(lat_center, lon_center, side_length):
R = 6371 # 地球平均半径,单位为公里
dlat = side_length / R
dlon = side_length / (R * cos(radians(lat_center)))
# 计算四个角点的经纬度
lat_min = lat_center - dlat
lat_max = lat_center + dlat
lon_min = lon_center - dlon
lon_max = lon_center + dlon
# 返回四个角点的坐标元组列表
corners = [
(lat_min, lon_min),
(lat_max, lon_min),
(lat_max, lon_max),
(lat_min, lon_max)
]
return corners
# 用户输入
center_lat = float(input("请输入中心纬度: "))
center_lon = float(input("请输入中心经度: "))
side_length = 1 # 边长设定为1公里
corners = generate_square_area(center_lat, center_lon, side_length)
print(f"正方形区域的四个角坐标如下:")
for corner in corners:
print(corner)
```
当你运行这个程序,按照提示输入经纬度坐标,会得到一个边长为1公里的正方形区域的四个角落坐标。