Как определить координаты gps точки на плане? если известны координаты 4-ех его углов

Есть некая картинка/план, который соотносится с координатами gps нашего мира, а именно известны координаты gps всех его четырёх углов. Ширина и высота картинки также известны. Как можно посчитать координаты gps некой точки на этом плане, если мне будут известы только координаты gps четырёх углов картинки, и "пиксельные координаты" выбранной точки на плане?

1)Картинка может быть повёрнута относительно своего центра на любой градус 2)Учитывать кривизну земли не обязательно(не такой большой план)

Я пытался преоброзовывать через плоские координаты Гаусса-Крюгера, но слишком сложно для такой задачи. Через вектора тоже не получилось.

Готовый код решения вопроса(Java)

Спасибо Stanislav Volodarskiy за предоставленные формулы

private static ImmutablePair<Double, Double> convertCoords(
        double initialWidth,
        double initialHeight,
        double targetX,
        double targetY,
        double pointLTX, // LeftTop
        double pointLTY, // LeftTop
        double pointRTX, // RightTop
        double pointRTY, // RightTop
        double pointRBX, // RightBottom
        double pointRBY, // RightBottom
        double pointLBX, // LeftBottom
        double pointLBY  // LeftBottom
        ) {

        double c00 = ((initialWidth - targetX) * (initialHeight - targetY))/ (initialWidth * initialHeight);
        double cw0 = (targetX * (initialHeight - targetY)) / (initialWidth * initialHeight);
        double c0h = ((initialWidth - targetX) * targetY) / (initialWidth * initialHeight);
        double cwh = (targetX * targetY) / (initialWidth * initialHeight);

        Double x = c00 * pointLTX + cw0 * pointRTX + c0h * pointLBX + cwh * pointRBX;
        Double y = c00 * pointLTY + cw0 * pointRTY + c0h * pointLBY + cwh * pointRBY;

        return new ImmutablePair<>(x,y);
    }

Ответы (1 шт):

Автор решения: Stanislav Volodarskiy
g00 - GPS координаты в пикселе (0, 0)
gw0 - GPS координаты в пикселе (w, 0)
g0h - GPS координаты в пикселе (0, h)
gwh - GPS координаты в пикселе (w, h)
x, y - координаты пикселя

Тогда:

c00 = ((w - x) * (h - y)) / (w * h)
cw0 = ( x      * (h - y)) / (w * h)
c0h = ((w - x) *  y     ) / (w * h)
cwh = ( x      *  y     ) / (w * h)
gxy = c00 * g00 + cw0 * gw0 + c0h * g0h + cwh * gwh
→ Ссылка