Displacement, an operation of cartographic generalization, resolves congestion and overlap of map features that is caused by enlargement of map symbols to ensure readability at reduced scales. Algorithms for displacement must honour spatial context, avoid creating secondary spatial conflicts, and retain spatial patterns and relations such as alignments and relative distances that characterize the original map features. We present an algorithm for displacement of buildings based on optimization. While existing approaches directly displace the individual buildings, our algorithm first forms a truss of of elastic beams to capture important spatial patterns and preserve them during displacement. The algorithm proceeds in two phases. The first phase analyses spatial relationships to construct a truss as a weighted graph. The truss is initially based on the minimum spanning tree connecting the building centroids, with beam stiffness determined by spatial relationships. The second phase iteratively deforms the truss to minimize energy until a user‐defined distance is achieved. At each iteration, it computes forces on the truss, calculates truss deformations, and adjusts all build positions simultaneously. A prototype has been implemented to demonstrate the feasibility of the approach. The results are cartographically pleasing; in particular, spatial relationships between buildings are preserved.
No takes yet. Share an insight, caveat, or question.
Bader et al. (2005) studied this question.
Synapse has enriched 5 related papers. Consider them for comparative context: