The Homography transformation is a popular geo-referencing technique used worldwide. It is based on quite complex geometric and mathematic concepts, known as "homogeneous coordinates" and "projective planes", the explanation of which is not within the scope of this document.
Just to give a simplified idea, the familiar Cartesian plane is composed by a set of points which have a one-to-one correlation to pairs of real numbers, i.e. X-Y on the two axis. The "projective plane" instead is a superset of that real plane where for each point we also consider all possible (infinite) straight lines towards space.
In this scenario every 2D point can be projected in any other plane in the space. Based on these concepts, it is defined the "homography between 2 planes" which, simply speaking, means that given 4 points in a plane, there always exists a relationship that transforms them into the corresponding 4 points in another plane.
As shown in Fig. 1, this relationship is then used in normal geometry as it allows you to transform a quadrilateral in one reference system into the corresponding quadrilateral in another reference system.
Initially the homography has not been used for map geo-referencing but for other purposes, such as to rectify a perspective image, for example to generate a "plan" view of a building from a "perspective" photo.
Fig. 2 shows this concept: the image on the right is a plan view of some orthogonal rectangles, whereas the image on the left is a perspective view.
The homography transformation method has been extended to maps when aerial photographic techniques have been used.
In this type of survey the homography is used by assuming the map as a perspective view of the ground as shown in Fig. 3.
The homography transformation is based on the following formulae:
Where X-Y are the coordinates to be calculated in the second reference system, given coordinates x-y in the first reference system in function of 8 transformation parameters a, b, c, d, e, f, g, h. So, having these 8 unknowns, at least 4 known points in both systems are required, this is why we previously mentioned "quadrilaterals".
The formulae above are then transformed in the transformation matrix that allows us to calculate the 8 transformation parameters, as described below.
Once calculated, these 8 parameters can easily be used to transform any point from the first reference system to the second.