An RTree is a data structure for spatial indexing. If you have a bunch of objects with associated coordinates (or associated rectangles, or hyperrectangles, etc.) you can use an RTree for queries like, “find all objects overlapping with this search rectangle” or “find the N closest objects to this object”.

This is the original paper describing the RTree and its implementation. I’ve built a Java implementation based on it, here.

I used this RTree implementation to generate the simulated network topologies shown here.