Closed myadzel closed 4 years ago
Поддерживаю предыдущего оратора, сам использую такой скрипт для сабжа:
#!/usr/bin/env python
import sys
import gpxpy
import gpxpy.gpx
import requests
gpx_file = open(sys.argv[1], 'r')
gpx = gpxpy.parse(gpx_file)
for track in gpx.tracks:
for segment in track.segments:
s = ["{} {}".format(point.latitude, point.longitude)
for point in segment.points]
r = requests.post('https://elevation.nakarte.me', data="\n".join(s))
if r.status_code == requests.codes.ok:
ele = r.text.split("\n")
for i, point in enumerate(segment.points):
point.elevation = ele[i]
print(gpx.to_xml())
@sikmir Замечу, что elevation.nakarte.me принимает только 2000 координат, если их больше, то нужно разбивать на подзапросы. Либо, как вариант, уменьшить точность координат, для снижения их количества в запросе, а потом выбирать наиболее близкие значения.
Только не 2000, а 10000, если верить исходникам: https://github.com/wladich/ElevationServer/blob/eb92287c2c9803b02631c917c1c732fe0f08d88f/elevation_server.py#L5
Только не 2000, а 10000, если верить исходникам: https://github.com/wladich/ElevationServer/blob/eb92287c2c9803b02631c917c1c732fe0f08d88f/elevation_server.py#L5
Действительно, спасибо) Не догадался я в код посмотреть, но почему-то опытным путем выставил у себя 2000.
Да, просьба добавить фичу периодически приходит и в почту.
Мне захотелось сделать по-своему, поэтому #320 закрываю, сместо него #383. Просьба проверить результат на stage.nakarte.me, т.к. сам я не польуюсь никаким софтом, которому нужны высоты. Особненно инетресует, как обрабатываются треки, у которых часть точек не имеет высоты, например такой: https://stage.nakarte.me/#m=6/35.20074/129.85840&l=O&nktl=-DUpvWHoScssD5u6PYL62A
Вроде никто не ругается. Отсутствующие значения программы заменяют на ноль.
Очень многие знакомые хотят этого (именно от nakarte). У меня, конечно, есть нужный инструмент, но хотелось бы, чтобы такая возможность была реализована при экспорте с сайта.