if (message.isMentioned(message.mentions.users.first()))
решил это для меня.
В случае, если это помогает любому теперь или в будущем, здесь является алгоритмом, это допустимо даже для точек около полюсов (если это допустимо вообще, т.е. если я не сделал глупую математическую ошибку ;-):
Преобразуйте координаты широты/долготы в 3D Декартовы координаты:
x = cos(lat) * cos(lon)
y = cos(lat) * sin(lon)
z = sin(lat)
Вычислите среднее число x, среднее число y и среднее число z:
x_avg = sum(x) / count(x)
y_avg = sum(y) / count(y)
z_avg = sum(z) / count(z)
Преобразуйте то направление назад в широту и долготу:
lat_avg = arctan(z_avg / sqrt(x_avg ** 2 + y_avg ** 2))
lon_avg = arctan(y_avg / x_avg)
Зависит от того, что Вы подразумеваете под центральной точкой GPS. Вы могли просто взять среднее число всех точек, как предложил Stephen - но иметь в виду, что координаты GPS не непрерывны - это перестанет работать эффектно вокруг разрывов, таких как полюса.
В большинстве случаев необходимо будет преобразовать в систему координат, которая не имеет этой проблемы.
Вы могли также посмотреть на все точки, ограниченные им, вычислили все расстояния до каждой точки GPS, и минимизируйте сумму расстояний до всех точек GPS. Необходимо будет изучить большие круговые вычисления для этого.
Далее, каждый GPS мог бы иметь более высокую или более низкую степень неуверенности, необходимо принять это во внимание и взвесить их соответственно.
Что точно Вы пытаетесь узнать?
- Adam