Н. и Е. Андрущенко писал(а):Вот карта Эстонии:
http://www.regio.ee/
Пользоваться ей так. В правом верхнем углу набираем интересующий нас населенный пункт, напр.: "Tiheda", и нажимаем кнопку "Otsi".
Выдается окно со строкой с найденным адресом. Щелкаем по адресу - и попадаем на карту. Нажимаем наверху на кнопку, сходную с той, которая в Гугл-Земля предназначена для установки маркера, и щелкаем по карте. В полях X и Y появляются два больших числа. Можно предположить, что они напрямую связаны с географическими координатами, и их можно преобразовать в координаты. Но как?
Хорошая карта. По крайней мере три города (Таллин, Нарва, Тарту) - с детализацией до дома.
Судя по всему, X - это горизонтальная, а Y - вертикальная координата в плоскости карты. Однако карта ориентирована не точно по сторонам света. Берем для примера в качестве опорных точек собор А.Невского в Таллине (
http://sobory.ru/article/index.html?object=00141 ) и Воскресенский собор в Нарве. Собор в Нарве немного южнее собора в Таллине (широты 59.37121 и 59.43565 градусов соответственно), но Y-координата собора в Нарве немного больше (соответственно 6588912 и 6588887).
Если исходная карта дана в проекции "широта-долгота", то географические координаты можно получить из X и Y с помощью двух линейных соотношений:
широта = Кшх*X+Кшy*Y+Cш
долгота = Кдх*X+Кдy*Y+Cд
Параметры Кшх, Кшy, Cш, Кдх, Кдy, Cд можно найти, взяв три точки (желательно разнесенные по широте и долготе) и определив их широты и долготы и соответствующие X и Y по карте. Затем придется решить две системы из трех линейных уравнений. (Это можно сделать, например, с помощью страницы
http://mkaz.com/math/js_lalg3.html ).
Опорные точки были взяты такими:
широта; долгота; X; Y; название
59.43565; 24.73940; 541958; 6588887; Таллин, Собор Александра Невского
59.37121; 28.19410; 738277; 6588912; Нарва, Собор Воскресения Христова
58.37466; 26.74914; 660810; 6473761; Тарту, транспортная развязка
После решения системы находим параметры и получаем зависимости:
широта = -0,0000003293716*X+0,000008875871*Y+1,13204
долгота = 0,00001759729*X+0,0000007099442*Y+10,52467
Пересчитывать удобно с помощью Excel. Если в ячейки A1 и B1 занести значения X и Y, а в ячейки C1 и D1 - формулы
=-0,0000003293716*A1+0,000008875871*B1+1,13204
и
=0,00001759729*A1+0,0000007099442*B1+10,52467
то в этих ячейках будут отображены результаты пересчета, которые будут изменяться при изменении значений X и Y.
(Внимание! В качестве разделителя дробной части использована не точка, а запятая, как это нужно в русских версиях Office.)
Если проекция карты не "широта-долгота", а более сложная, то в местах, далеких от опорных точек, будут значительные ошибки. В этом случае пересчитывать X и Y в координаты нужно по гораздо более сложным формулам, вид которых зависит от использованной проекции.
Если попробуете - напишите, насколько велики ошибки в зависимости от места.