MeeshQuest Components

By this point we suppose that you fully understand the mediator and dictionary structures. We also hope that you have a working understanding of spatial data structures--because it's time for you to design your own.

Part 3 will introduce the concept of zooming. We now add the additional concept of a metropole. A metropole (also known as a metropolis - but alas, the plural metropolises is infinitely confusing) is a large urban area that can contain many cities. For this project, each metropole will have its own unique collection of cities and roads. A metropole has its own set of coordinates relative to other metropoles. Additionally, each city will have its own set of coordinates relative to other cities in the same metropole. In order to avoid confusion, whenever we refer to the coordinates of a metropole relative to other metropoles we will use the term remote coordinates. Whenever we refer to the coordinates of a city relative to another city in the same metropole, we will use the term local coordinates. A city has both remote coordinates (the coordinates of its associated metropole) and local coordinates (the coordinates of its position relative to other cities in the same metropole).

To give an example, suppose City A has remote coordinates (1, 2) and local coordinates (1, 0). Suppose City B has remote coordinates (1, 2) and local coordinates (0, 0). City A and City B lie inside of the same metropole because their remote coordinates are the same. However, City A and City B do not occupy the same position inside of the metropole at remote coordinates (1, 2) because their local coordinates are different.

We will refer to the collection of remote coordinates as the remote spatial map, which represents the metropoles positioned relative to each other. We will refer to the collection of cities and roads corresponding to a particular metropole as a local spatial map. Note that this means that there is only one remote map, but there is a local map for each metropole.

You may only map a road to another city in the same metropole, meaning you can hopefully use your PM Quadtree in some way. To traverse between metropoles, we're introducing a new meaning for the isolated cities-they now correspond to ``airports" that will take you between your metropole and another metropole.

Finally, you will also have to expand your data dictionary, allowing it to delete items from the Avl-g Tree. Your Avl-g Tree also needs to implement the rest of the SortedMap interface.

MM Hugue 2018-11-19