Michvol, спасибо за комментарий и замечание. Вы совершенно правы, в привязке карт всегда есть погрешности, иногда их удается скорректировать, но иногда, увы, это становится очень трудоемкой задачей.
Причин погрешностей несколько, назову наиболее характерные:
1. Привязка карт к координатной сетке выполняется выполняется с помощью нескольких программ, работа которых основана на выборе ряда базовых точек привязки, для которых устанавливается соответствие между современными спутниковыми снимками или оn-line картами и привязываемыми картами. Число точек обычно зависит от степени искажений исходной карты или фотоснимка и составляет от 10-15 в случае простых карт до 200-300 и более в случае больших старых карт и фотоснимков. Примеры точек - объекты типа башен, церквей, стен монастырей, пересечения дорог и т.п. Выбор точек выполняется вручную, что естественно, создает погрешности.
2. После выбора точек программа выполняет преобразование привязываемого изображения. Алгоритмы преобразований достаточно сложны - это не только линейные геометрические преобразования, но и более сложные попытки совместить изображение и карту с помощью нелинейных искажений. Эти преобразования бывают и удачными, и нет. Отследить совмещение больших изображений довольно сложно.
3. Многие карты имеют сознательные искажения. Некоторые старые карты, даже очень подробные, имеют очень сложные искажения, которые повторяются на более поздних картах. Некоторые искажения практически невозможно скомпенсировать. Примером являет подробный Хотевский план 1852 года, на котором русло Яузы показано с большими искажениями.
Показанный Вами пример - это не топографически точное изображение, а просто снимок довольно большой территории, выполненный со спутника не вертикально, а под довольно заметным углом к поверхности Земли. У высоких домов хорошо видны южные и восточные стены, а не только крыши. При привязке нами использовалось довольно много точек, крайними из которых были, в частности, развязки МКАД и ВПП аэропортов в углах снимка. Погрешности при привязке базовых точек в данном случае не превышают ширины дорожной полосы - порядка 5-10 метров. Но привязка даже большого числа базовых точек оставляет погрешности в других местах - снимок было необходимо подвергнуть трансформации с учетом наклона камеры. Исходный снимок - прямоугольный, вы можете грубо оценить степень преобразования снимка по этой картинке:
http://retromap.ru/mapster.php?panes=1&left=0020090&right=0519661&zoom=10&lat=55.772228&lng=37.482776В итоге в этом случае тщательная привязка крайних точек снимка, привязка базовых точек по всей площади снимка и последующая трансформация изображения все-таки оставляют отмеченные Вами погрешности в некоторых фрагментах.
Насколько я понимаю, Вы предлагаете предоставить пользователям возможность вводить поправки типа сдвига изображений - это не очень сложно сделать. Однако погрешности привязки - это не просто сдвиг всего изображения, а необходимость нелинейных преобразований: базовые точки привязки в большинстве карт выбраны достаточно точно и они не должны изменяться при корректировке. Зная, насколько сложной является задача точной привязки больших карт и фотографий, я не вижу простого инструмента или метода корректировки замеченных погрешностей.
Если у Вас есть желание, Вы можете сами попробовать привязать некоторые карты к координатной сетке, используя, например, программу
Global Mapper, Дело это в случае больших и сложных карт не самое простое. В любом случае будем рады получить Ваши комментарии по поводу замеченных погрешностей и предложения по их устранению - некоторые карты были привязаны в то время, когда у нас не было современного опыта и инструментария.