Create a program that utilizes the simplified R-tree from assignment 8 to display the points in an Open Street map osm.xml file. The program should display the points as circles and allow the user to zoom into and out of a particular region of the points. The user interface can be implemented either through key events, mouse events, or gui elements such as button, sliders, or menus (or any combination of these). The program should utilize the R-tree structure to draw the points currently displayed efficiently. That is, it should only draw the points in nodes that intersect with the region currently displayed. Finally, the program should should allow the user to choose any point in the display (i.e. with a mouse click) and the closest point in the R-tree should be highlighted (i.e. drawn a different color).
As usual, use good programming techniques. You should use good variable names, whitespace, comments, and follow the Java coding conventions. Make your code easy to read and understand by keeping lines of code and methods simple and short.
Submission: Tar your code and copy it to the directory ~bouchard/CPSC220/assign8.25 on cs.roanoke.edu on Monday, December 6th.