Конформное преобразование
Конформное преобразование на плоскости широко используется в геодезии при создании местных координатных систем на небольшие территории, ограниченные размерами населённого пункта.
Введение
Следующие формулы связывают координаты точек x, y, заданные в местной системе координат (МСК), и координаты X, Y, заданные в государственной системе координат (ГСК):
Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \begin{array}{lcl} X & = & X_0 + m \big[ (x - x_0) \cos \theta - (y - y_0) \sin \theta \big] \\ Y & = & Y_0 + m \big[ (x - x_0) \sin \theta + (y - y_0) \cos \theta \big] \end{array}}
где m — масштабный множитель, θ — угол разворота, X0, Y0, x0, y0 — координаты одного из геодезических пунктов в ГСК и МСК, как правило. Этот набор параметров называется «ключ».
Исходный материал для определения ключа — пары координат пунктов геодезической сети, полученные из независимого уравнивания одних и тех же измерений в МСК и в ГСК. В зависимости от класса пунктам (вернее, соответствующим парам уравнений) назначаются веса p.
Алгоритм нахождения параметров
Конформное преобразование представляется следующей математической моделью:
Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \begin{array}{lcl} X' & = & a_0 + a_1 x - b_1 y \\ Y' & = & b_0 + b_1 x + a_1 y \end{array}}
Определению подлежат четыре параметра: a0, b0, a1, b1,.
Очевидно, конформное преобразование является частным случаем аффинного.
Шаг 1: вычисление взвешенных средних
Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \bar{x} = \frac{\sum\limits_{i=1}^n p_i x_i}{\sum\limits_{i=1}^n p_i} \quad \bar{y} = \frac{\sum\limits_{i=1}^n p_i y_i}{\sum\limits_{i=1}^n p_i} \quad \bar{X} = \frac{\sum\limits_{i=1}^n p_i X_i}{\sum\limits_{i=1}^n p_i} \quad \bar{Y} = \frac{\sum\limits_{i=1}^n p_i Y_i}{\sum\limits_{i=1}^n p_i} }
Шаг 2: перенос осей в центр масс
Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \Delta x_i = x_i - \bar{x} \quad \Delta y_i = y_i - \bar{y} \quad \Delta X_i = X_i - \bar{X} \quad \Delta Y_i = Y_i - \bar{Y} }
Шаг 3: вычисление a1 и b1
| Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle S_1 = \sum\limits_{i=1}^n p_i \Delta X_i \Delta x_i} | Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle S_2 = \sum\limits_{i=1}^n p_i \Delta Y_i \Delta y_i} |
| Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle S_3 = \sum\limits_{i=1}^n p_i \Delta Y_i \Delta x_i} | Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle S_4 = \sum\limits_{i=1}^n p_i \Delta X_i \Delta y_i} |
| Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle S_5 = \sum\limits_{i=1}^n p_i \left( \Delta x_i^2 + \Delta y_i^2 \right)} | |
| Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle a_1 = \frac{S_1 + S_2}{S_5}} | Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle b_1 = \frac{S_3 - S_4}{S_5}} |
Шаг 4: вычисление a0 и b0
Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \begin{array}{lcl} a_0 & = & \bar{X} - a_1 \bar{x} + b_1 \bar{y} \\ b_0 & = & \bar{Y} - b_1 \bar{x} - a_1 \bar{y} \end{array}}
Шаг 5: вычисление невязок
Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle v_{xi} = X_i - X_i' \quad v_{yi} = Y_i - Y_i' }
Невязки позволяют выявить точки, плохо укладывающиеся в полученную модель. Классическая процедура удаляет такие «отлетающие» точки, после чего вычисление параметров повторяется без них. Робастные процедуры переназначают веса уравнениям в соответствии с невязками, и повторное вычисление повторяется с полным набором точек при том, что «отлетающие» влияют на результат незначительно.
Кроме того, невязки необходимы для оценки точности измерений и результатов.
Шаг 6: вычисление ключа
Вычислим масштабный множитель и угол разворота:
Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle m = \sqrt{a_1^2 + b_1^2} \qquad \theta = \operatorname{arc\,tg} \frac{b_1}{a_1} }
Выберем i-й пункт с малыми невязками по возможности в середине массива точек. Его координаты в обеих системах Xi, Yi, xi, yi становятся параметрами X0, Y0, x0, y0.
Пример вычисления параметров
Даны координаты четырёх пунктов:
| i | xi | yi | Xi | Yi | pi |
|---|---|---|---|---|---|
| 1 | 1334.71 | 285.94 | 83477.64 | 87377.60 | 1.0 |
| 2 | 563.67 | -5197.34 | 82557.14 | 81916.51 | 1.0 |
| 3 | 4444.27 | 1153.79 | 86610.19 | 88160.39 | 1.0 |
| 4 | -252.07 | 2881.90 | 81962.05 | 90016.34 | 1.0 |
| ∑p = | 4.0 | ||||
| i | pixi | piyi | piXi | piYi |
|---|---|---|---|---|
| 1 | 1334.71 | 285.94 | 83477.64 | 87377.60 |
| 2 | 563.67 | -5197.34 | 82557.14 | 81916.51 |
| 3 | 4444.27 | 1153.79 | 86610.19 | 88160.39 |
| 4 | -252.07 | 2881.90 | 81962.05 | 90016.34 |
| ∑ = | 6090.58 | -875.71 | 334607.02 | 347470.84 |
Взвешенные средние:
| xc | yc | Xc | Yc |
|---|---|---|---|
| 1522.645 | -218.9275 | 83651.755 | 86867.71 |