По-моему вашу большую и красивую формулу можно сократить:
min_x_dpi + ((((N*100)/max_x_px)*(max_x_dpi-min_x_dpi))/100)
до
min_x_dpi + (N/max_x_px)*(max_x_dpi-min_x_dpi)
или до
min_x_dpi + N * (max_x_dpi-min_x_dpi) / max_x_px
Задача, которую Вы описали, называется географической привязкой.
Легко делается в специализованом софте, например, в открытом QGIS. Там ещё есть разные формулы и разные варианты привязки.
Генплан посёлка на основе Яндекс api v2 или как соотнести координаты картинки и карты