In this article, a new algorithm for determining differences between two sets of polygons is considered. It has been proven that it is enough to test only the polygon edges to perform the comparison. The algorithm works in two steps. First, the polygon edges are initialised into a data structure and equal edges are eliminated by a simple criterion. In the second part, the algorithm analyses the remaining edges and prepares a report about the detected differences. To speed-up the geometric search, the algorithm uses a combination of a uniform space subdivision and binary searching trees. It has been shown that the algorithm is numerically stable, and works well with a limited set of non-simple polygons from a land cadastre. The algorithm's time complexity is O(n log n), and space complexity O(n), where n is the common number of edges in both sets of polygons. This is been confirmed by experiments using data sets from the land cadastre.