简介
根据多个经纬度坐标计算中心点;在stackoverflow中发现了一个解决方法。需要将经纬度进行转化,将角度化为弧度就需用角度乘以π/180,反之就除以(π/180)。
在Python提供了角度弧度转化的函数 :
radians():转换角度为弧度的 。
degrees()方法:从弧度转换到角度。
JAVA实现方式: http://www.jianshu.com/p/c566903e44d0
代码
# -*- coding: utf-8 -*-
# @Time : 2017/12/8
# @Author : fc.w
# @File : center_point_of_coordinates.py
from math import cos, sin, atan2, sqrt, radians, degrees
class CenterPointFromListOfCoordinates:
def center_geolocation(self, geolocations):
"""
输入多个经纬度坐标,找出中心点
:param geolocations: 集合
:return:
"""
x = 0
y = 0
z = 0
length = len(geolocations)
for lon, lat in geolocations:
lon = radians(float(lon))
lat = radians(float(lat))
x += cos(lat) * cos(lon)
y +&