FCP Location Spec 0.1
First things we need to do is set up the city so it looks like something. And for that we need to define roads and buildings. So everything needs a set of data that will draw it on a map, totally ignoring the issue of height.
The problem i had was that Monitor City is round, and the buildings are very likely to be round too. The streets are, anyway. So instead of making it simply a question of data points (x, y, w, h), I have the coordinates an x and y to start the drawing, and then a string of coordinates (with keypoints and curve formulas) to draw the shape.
The problem with this approach is that it's harder to tell if something is overlapping something else. I haven't written it yet, but a checker is needed to do an accurate verification of any new objects to make sure we don't have problems. That should be done in PHP, because it needs to interrupt the input before it goes too far.
The other key parts are the zoning info (building, street, park) and the identifiers. Identifiers are things like "Maple Street" and "145" as the building number. Because a building is really only identified by its coordinates, the only easy way to look up 145 Maple St is to give that building incidental markers. they don't do anything, but they're useful.
All items in the location database are located by their x y in relation to the center of the city, which in monitor city's case is the old city hall. So there are probably lots of cities that will have negative coordinates, but luckily Monitor City is limited in that way.