?

Log in

No account? Create an account

Previous Entry | Next Entry

English version is here.

Описание формата JNX содержит следующий набор "стандартных" значений масштабов, которые рекомендуется использовать в файлах JNX: 75, 149, 298, 597, 1194, 2388, 4777, 9554, 19109, 38218, 76437, 152877, 305758, 611526, 1223072, 2446184.

Это набор представляет собой расширение набора значений, применяемых в картах подписки BirdsEye, а именно 597, 1194, 4777 и 76437.
Однако, пока не было сколько-либо внятного объяснения того, что на самом деле означают эти числа.
На днях Дмитрий Скляров прислал письмо, содержащее достаточно подробное обоснование выбора именно этих значений.
Цитата:

    У меня есть сильное подозрение, что значение, называемое "масштабом JNX" имеет физическую интерпретацию. Это выраженная в миллиметрах длина куска экватора, соответствующего одной
    точке растра данного масштаба.

    Мотивация следующая.

    В WGS-84 используется сфероид с экваториальным радиусом 6378137 метров. Тогда длина экватора составит 2 * Pi * 6378137 = 40075016.685578 метров или 40075016685.57849 миллиметров.

    В "нулевом" (z=0) масштабе растра, который отдает сервер DigitalGlobe (а именно DigitalGlobe выступает в качестве поставщика картографии для BirdsEye - прим. Alex Whiter), весь мир по горизонтали влезает в один тайл.
    Размер тайла - 256x256 точек, то есть линейный размер одной точки на экваторе соответствует 40075016685.578/256 = 156543033.928041 мм.
    В какую сторону тут правильно округлять - я затрудняюсь сказать. Может быть до ближайшего целого, а может быть - всегда вниз.
    Если округлить "вниз", то для z=0 получим размер точки 156543033 мм.
    На каждом следующем масштабе растра кол-во точек по каждому измерению становится вдвое больше, то есть кол-во миллиметров в точке уменьшается в те же два раза.

    Следующая таблица содержит посчитанные шестнадцатеричные и десятичные значения для всех масштабов, поддерживаемых DigitalGlobe.
    Плюсик в конце означает, что значение может быть больше на 1, если выбрать другой тип округления.
    zhexdec
    00x954A839156543033+
    10x4AA541C78271516+
    20x2552A0E39135758
    30x12A950719567879
    40x954A839783939+
    50x4AA5414891969+
    60x2552A02445984+
    70x12A9501222992
    80x954A8611496
    90x4AA54305748
    100x2552A152874
    110x12A9576437
    120x954A38218+
    130x4AA519109
    140x25529554+
    150x12A94777
    160x9542388+
    170x4AA1194
    180x255597
    190x12A298+
    200x95149
    210x4A74+

Таким образом, на самом деле в картах JNX следует использовать следующий набор масштабов: 74(75), 149, 298(299), 597, 1194, 2388(2389), 4777, 9554(9555), 19109, 38218(38219), 76437, 152874, 305748, 611496, 1222992, 2445984(2445985).
Жирным шрифтом я выделил те значения, которые отличаются от соответствующих масштабов, приведенных в описании формата JNX.

Я пока не стал вносить исправления в описание формата, так как почти все существующие на данный момент утилиты для работы с картами JNX используют "стандартную" шкалу масштабов, и у пользователей вполне могут быть карты, использующие старые значения. Кроме того, относительная ошибка "стандартных" значений по отношению к "физическим" составляет менее одной сотой процента.

Метки: