I have a map, with some icon over it. Every icon has a label next to it. When icons overlaps, labels are overlapped too. In this case, I want to move labels so they don't overlap anymore, with a line linking them with respective icons. Obviously I know size and position of labels and icon, related to screen coordinates.

Which algorithm should I study in order to implement this (I can't use any GIS library)? I've searched for declutter on Internet (I don't speak English very well), but I've found only ideas for hiding/showing icons, not for label moving.

  • Which software are you using?
    – Aaron
    Commented Jan 31, 2014 at 13:00
  • No GIS software. I'm creating an application using C++/OpenGL and a proprietary software for visualization (Vegaprime). Infact I'd like to know some generic algorithm instead of some softare command/library.
    – Jepessen
    Commented Jan 31, 2014 at 13:03
  • Wikipedia has an article titled "Automatic Label Placement" with a few references, en.wikipedia.org/wiki/Automatic_label_placement
    – klewis
    Commented Jan 31, 2014 at 13:28

1 Answer 1


Here is a good paper which has a C++ focus. It seems very detailed, 147 pages.Automated Label Placement In Theory and Practice


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.