Любое программное обеспечение, которое может точно проецировать координаты, может вычислить точные показатели Tissot .
Хороший источник для формул - Снайдер, Джон, Картографические проекции - рабочее руководство , в основном на стр. 20-26. (Я не буду воспроизводить их здесь, потому что на этом сайте нет соответствующих инструментов для передачи математических формул.) Для них требуются все четыре первых производных проецируемых координат (x, y) по сферическим координатам (lat, lon) = (фи, лямбда):
dx / d(phi), dx / d(lambda);
dy / d(phi), dy / d(lambda).
Все остальное в TI вычисляется в терминах их (с использованием некоторых арифметических и тригонометрических функций: косинуса, главного обратного синуса и главного обратного тангенса). Расчеты требуют описания формы Земли. Для наибольшей точности используйте эллипсоидальные данные с большой полуосью а и эксцентриситетом е. (Это будет известно программному обеспечению.)
Книга Снайдера содержит инструкции о том, как вычислить все, кроме этих производных. Сделайте это численно. Я получил отличные результаты, используя центральные конечно-разностные оценки первого порядка на расстоянии h = 10 ^ (- 5.2) радиан (обычно около 50 метров): это хороший компромисс между попыткой приблизиться к бесконечно малой точке и потерей слишком большой точности из округление с плавающей запятой (при условии двойной точности), поскольку допущенная ошибка пропорциональна (10 ^ (- 5.2)) ^ 2 = 10 ^ (- 10.4) и 10 ^ (- 5.2) равна 10 ^ 10,4 раз точности IEEE с двойной точностью 10 ^ (- 15,6), и это все еще намного больше, чем типичная точность в проекциях, которые обычно составляют от 10 ^ (- 10) до примерно 10 ^ (- 14).
Итак, как вы вычисляете оценки конечных разностей? Эта часть удивительно проста. Чтобы получить dx / d (phi) в точке (phi, lambda), попросите вашу ГИС спроецировать точки
(phi - h/2, lambda) --> (x0,y0),
(phi + h/2, lambda) --> (x1,y1).
Используйте оценки
dx / d(phi) = (x1 - x0)/h,
dy / d(phi) = (y1 - y0)/h.
Аналогично, спроецируйте точки
(phi, lambda - h/2) --> (x2,y2),
(phi, lambda + h/2) --> (x3,y3)
и использовать оценки
dx / d(lambda) = (x3 - x2)/h,
dy / d(lambda) = (y3 - y2)/h.
Это занимает четыре проекции и немного арифметики. (Вы можете уменьшить его до трех, используя нецентральные различия, но точность немного снижается. Это мудрая цель для высокой точности, не позволяя h становиться слишком маленьким, если только вы не уверены, что ваша ГИС использует оценку съемки (миллиметр) точность в своих проекционных формулах.)
Из этих производных, наряду с формулами Снайдера (обращая внимание на модификации, описанные в 4-19 и 4-21), вы можете получить длины осей индикатрисы Тиссо в (фи, лямбда) и ее ориентацию. На картах мирового масштаба TI будет настолько маленьким, что станет невидимым, поэтому последнее, что нужно сделать, это решить, насколько вы хотите изменить масштаб каждого TI. Я определяю масштабный коэффициент, выясняя, насколько большой будет карта, определяя размеры типичных TI по всей карте и масштабируя их так, чтобы эти TI были примерно на 6% ширины карты. В любом случае, это хорошее начало; Я позволил пользователю отрегулировать размер TI оттуда. Конечно, вы будете перемасштабировать все ТИ на одну и ту же величину, чтобы их можно было сравнить, и каждый из них будет перемасштабирован вокруг своего собственного центра (который получается по пятой проекции, (фи, лямбда) -> (х, у) ).
Хорошее дополнение к эллиптическому изображению ТИ - показать направления локального меридиана и параллели: тогда вы можете сразу увидеть сходимость сетки . Я также показываю стандартный круг (представляющий отсутствие искажений), концентрический с каждым TI, потому что он улучшает способность читателя измерять количество искажений, представленных каждым эллипсом.
В этой проекции Моллвейде следует отметить крайнюю ТИ вблизи южного полюса. Это все еще идеальный эллипс, который точно описывает искажение карты.