Я разрабатывал (в течение последних 3 часов) небольшой проект, который я делаю на C #, чтобы помочь мне выбрать дом.
В частности, я размещаю статистику преступности на картах Google, чтобы найти хороший район.
Вот пример:
http://otac0n.com/Demos/prospects.html
Теперь я вручную нашел значения Lat и Lng, совпадающие с углами карты, показанной в примере, но у меня есть еще несколько карт для наложения.
Мое новое приложение позволяет мне выбирать ориентир и указывать на изображение, чтобы привязать пиксель к LatLng. Что-то вроде:
locations.Add(new LocationPoint(37.6790f, -97.3125f, "Kellogg and I-135"));
// and later...
targetPoint.Pixel = FindPixel(mouseEvent.Location);
Итак, я собрал список комбинаций пиксель / широта и теперь хотел бы преобразовать изображение (используя аффинные или неаффинные преобразования).
Цель здесь - выстроить каждую улицу в ряд. При хорошей карте единственное необходимое преобразование - это вращение, чтобы выровнять карту с севера на юг (и сейчас я был бы рад этому). Но я не уверен, с чего начать.
Есть ли у кого-нибудь опыт выполнения преобразований изображений в C #? Как мне найти правильный поворот, чтобы сделать уровень карты?
После того, как дело с хорошо сделанными картами будет решено, мне бы хотелось иметь возможность накладывать карты, нарисованные от руки. Это, очевидно, повлечет за собой сильное искажение конечного изображения и может выходить за рамки этой первой итерации. Однако я не хотел бы разрабатывать систему, которая в будущем не будет расширяться до этой системы.