Валидатор доступности точек с geocaching.su

Добрый день!

Я сделал валидатор доступности тайников с сайта geocaching.su. Вот адрес http://geocaching.osm.rambler.ru

Каждая точка с geocaching.su проверяется на наличие подъездной дороги к ней. Если можно попасть по какому-либо highway в квадратик со стороной 200 метров с точкой в центре, то она считается хорошей. В валидаторе показываются только “плохие” точки, до которых по ОСМу доехать нельзя. Надо сказать, что уже почти до 2/3 точек можно доехать.

Для того, чтобы посмотреть все “плохие” точки, достаточно ткнуть по названию региона. Зеленым помечены точки с треками и hires бинга, синим - только hires, желтым - только трек, красным - ни того, ни второго. Если ткнуть по числу из соответствующего столбца, то будет показываться только один тип точек.

Чтобы посмотреть просто все точки с сайта geocaching.su в интересующем регионе - нужно ткнуть на ссылку “ALL” в соответствующей строке. Здесь зеленые - до которых можно доехать по ОСМу (или проигнорированные), красные - до которых пока еще нельзя.

Исправить ошибки (недоработки), связанные с геокешингом, было бы хорошо, т.к. ОСМом начали бы пользоваться люди, соображающие в картах, жпс и всем таком. Может быть даже начали бы рисовать или просто ставить баги.

Кроме того, есть тайники, в которые и не должна вести дорога. Это, например: острова, центры водоемов, непролазные болота или просто создатели тайника указали в качестве координат черти что. Номера таких тайников можно указать в этой теме - я их удалю из проверки. Перед этим стоит почитать описание тайника, вдруг там какое-то объяснение (например, если указан центр водоема, то может быть описание подъезда - тогда точку надо не удалить, а передвинуть).

Если же нарисовать дорогу к тайнику, то через-день два ошибка в валидаторе исчезнет.

Карта всех точек (в т.ч. до которых можно доехать) находится по адресу: http://geocaching.osm.rambler.ru/map.html?region=RU-all

Дамп точек с geocaching.su последний раз обновлен 8 октября 2012.

Интересная идея! Отслеживать покрытие БИНГ - вообще блеск!
Но - крайне необходима ссылка “Открыть в JOSM”, искать нужное место глазами затруднительно.

Это очень круто. И буквально вчера на Совете обсуждалось как раз что-то такое для того, чтобы найти пустые области где не хватает дорог, и как раз с проверкой наличия Bing.

Было бы здорово ещё разбить проблемы на несколько уровней детальности - например, вокруг тайников, у которых в 5 километрах нет автомобильной дороги, надо рисовать прежде всего (независимо от наличия Bing, ибо для дорог хватит IRS).

И ещё здорово было бы заиметь просто карту тайников поверх OSM - давно хотел попробовать геокешинг, но по гуглу ориентироваться бесполезно.

Научите как делать такую ссылку - сделаю, не вопрос. Пытался понять как это работает на http://peirce.gis-lab.info/qa/RU/routing-map - не получилось.

Обычно к тайнику ведет какая-нибудь козья тропа, которую и на бинге рассмотреть сложно. Есть идея приделать кроме бинговского покрытия также проверку наличия треков в окрестности, но там нужна предобработка данных, работы вечеров на 5, будет не очень скоро.

Работает не всегда правильно. Вот тут, например:

http://www.openstreetmap.org/?lat=56.66995&lon=38.62482&zoom=17&layers=M

от service до тайника примерно 130 метров.

Вот пример: http://addresses.amdmi3.ru/api/0.1/new

Ссылка вида
http://localhost:8111/load_and_zoom?left=20.6413739&right=20.6433739&top=54.3909123&bottom=54.3889123
грани - обычные гео координаты, можно взять квадрат 1x1 км с центром в самой точке.
И лучше сделать невидимый iframe, и указать его в target этой ссылки, чтобы при тычке в “редактировать в JOSM” карта не закрывалась.

Да, но тут речь о другом - тропа тропой, но где-то в пешеходной дальности должна же быть проезжая дорога. Вот если её нету, то наверняка что-то где-то не нерисовано.

От точки в каждую сторону откладывается 111.3 м (одна тысячная градуса по широте, долгота пересчитывается с косинусами). 130 > 111.3. Тысячная доля градуса взята потому что так удобно считать и 100 метров по бурелому можно пройти не напрягаясь. Теоретически может быть любое число. Если придумаете обоснование, почему нужно брать 200 метров или 50, то поправлю, это не так уж сложно.

Сделал пока без iframe. В JOSM’е по умолчанию отключена тычка “дистанционное управление”, от этого расстроился. Поскольку с HTML у меня беда, то пример с невидимым iframe и как делать в качестве target его очень бы помог.

Я невнимательно прочитал - думал 200 метров от точки, а не квадрат со стороной 200 метров. Тогда всё OK.

Разумеется. Нужен плагин remote control, с ним JOSM будет слушать на 8111 порту и ссылки будут работать.

Remote control идёт вместе с Жосмом, но по умолчанию выключен. Его надо включить:

Запилил такую штуку со всеми тайниками: http://geocaching.osm.rambler.ru/all.html. У нее другая логика: зеленые - к которым можно доехать, красные - к которым нельзя. Видимо, она тоже будет обновляться.

А как определяется наличие бинга? Запрашивается тайл высокого зума?

Да, берется только один тайл, на котором находится непосредственно тайник и смотрится что бинг выдает в ответ. Все это делается на 16 зуме. Для тех кто хочет повторить:

  1. номер тайла считается по формуле для сферического меркатора (честно найденной в инете):

BM0 = 33554432 / 4 
LatRad = float(Lat) * pi / 180
LonRad = float(Lon)  * pi / 180
Xnum = int(BM0 * (1 + LonRad / pi) / 256)
Ynum = int(BM0 * (1 - 0.5 * log((1 + sin(LatRad)) / (1 - sin(LatRad))) / pi) / 256)

  1. У бинга хитрая нумерация файлов, так что для ее вычисления применяется вот что (взято из яндексового апи и переписано на питон):

    tileZoom = 16
    tileNumber = [Xnum, Ynum]
    quadKey = ""
    for i in range(tileZoom, 0, -1):
        digit = 0
        mask = 1 << (i - 1);
        if ((tileNumber[0] & mask) != 0):
            digit += 1
        if ((tileNumber[1] & mask) != 0):
            digit += 2
        quadKey += str(digit)

Можно дропнуть #5763 - джипперская пати в чистом поле, дорог нет
#7592 тоже - координаты в реке, в комментариях подтверждают.

А вот тут всё-таки косяк: http://www.openstreetmap.org/?lat=59.56182&lon=127.04383&zoom=17&layers=M ( http://www.geocaching.su/?pn=101&cid=3704 ) - кэш от дороги в 30 метрах. Аналогично: http://www.openstreetmap.org/?lat=60.71288&lon=114.91543&zoom=16&layers=M

Эм, “Сайт, к которому вы обратились, временно закрыт администрацией сервиса Народ.”.

Я им, конечно, написал просьбу объяснить в чем проблема, ну да все равно больше там сайт жить не будет, раз они такие злые буратины. Если сильно разозлят ответом еще и апи сменю на лифлет.
По поводу бага пока не разобрался.

И ещё “Открыть в Потлатч”, те же проблемы.

Вместо ссылки на потлач лучше ссылку “открыть это место на osm.org” с маркером (через mlat).

Сделал ссылку на osm.org, пофиксил баг, найденный AMDmi3, который появлялся в Якутии, обновил данные (от момента внесения правок до обновления меток проходит 1-2 дня пока что) и, наконец, благодаря Ezhick’у, glebius’у и сотруднику Рамблера Дмитрию выложил сайт на нормальный хостинг.