In Informative Maps 01 – City Demographics I tackled how you can use demographics coloring to visually show the demographics of your city. Another very useful way to add information to city maps is the use of a map index. While an index can technically benefit any map type, it is especially useful in city maps because the density of information typically found in city maps, such as street and location names.
CC3+ has the ability to automatically generate such indexes from your map files, and show with a grid reference to make it easy to find the feature in the map itself. The command itself is extremely easy to use, but we can also improve things by being smart about our layers.
For these examples, I am using a lightly labeled map which you can download. An actual city map will probably have way more labels, but it gets the point across. This map is equipped with labels for both some locations and some streets.
The Grid
The map index is set up using grid coordinates, so first of all, the map needs to have a grid. Pick Hex or Square Overlay from the Draw menu to bring up the grid dialog. Since the index will reference the grid, we need a labeled grid here. Since this is a large city, I set up a 250 foot grid to avoid cluttering the map too much.
The Basic Index
Now, having a map with text labels ready, making the index is very easy. All you have to do is to pick Create Index from the City menu (If you are not in a city map, you can either switch to the city menus by hitting the City Menu add-on button, or just run the command by typing GAZ at the command line).
The command line will then prompt you to select entities. Now, you can do this the slow way by carefully individually selecting each piece of text, but the quick way is to just hit the A (for All) key on your keyboard (For a large map, CC3+ will probably hang for a few seconds while electing all the entities like this), followed by D for Do It. This will select every entity in your map, but the index command is smart enough to only work on text entities, so everything that isn’t text is simply ignored.
Once you hit Do It, the command line will ask for column height. This is useful for very large indexes, as it will cause CC3+ to automatically generate an appropriate number of columns for you. If you wish to do this, simply enter the height (in map units) on the command line and hit enter. But for smaller indexes, note that option in square brackets, saying one column only. Simply right-click to accept this default option, and you should see a rectangle appear on your mouse cursor that shows the border of your index. You can click to place this wherever you want, but either to the right of or below the map are typical places to put it. Of course, it is a CC3+ text entity, so you can move it later or change formatting. Note that the index do use the current text properties, so it can be useful to set up your desired text options using Text Specs
. And of course, since it is a text entity, you can edit it with Numeric Edit
if you need to change anything (The text is grouped however, so you need to unlock groups by hitting the Locked button in the lower right corner of the CC3+ interface before working with it).
If you do change anything however, do note that the index is hyperlinked, so you can click the locations to jump to the right place in the map. But if you add or remove a line, this will cause the hyperlinks to no longer match up correctly, so it is often better to just change the ext in the map, and then delete and recreate the index instead of doing too much editing.
Partial Indexes
Maybe you’ll like to have one index of interesting places and one separate index with street names instead of mixing everything together. You can even take it further, and separate indexes by whatever criteria you want. The way to do this is to take advantage of layers. Normally, if you don’t think about the layers, all your text labels are probably going to either end up on one layer, or they may end up on various random layers. But if you look at the layers in my example map, you’ll find that there are several layers there all named TEXT (…). And if you look closer at the labels, you’ll see that all my street labels are on the TEXT (ROADS) and all my places on TEXT (PLACES). I took some care when placing my labels so they all were placed on the appropriate layer. [All the labels are also on the TEXT sheet for the same effects on all of them, but that could also be changed].
With this setup, using layers to separate different types of labels, I am ready for a partial index. First, I run the Create Index command once, and when CC3+ asks me to select entities, I right click inside the map and pick Layer from the context menu. The command line will switch to ask for the layer to use, and right clicking again will bring up the layer dialog. Select the TEXT (PLACES) layer and hit ok, finish up with a Do It and then place the index. Repeat once more for the TEXT (ROADS) layer.
And that’s it. I now have two individual indexes. I could always put some header text in there, or change the color of one of them, or whatever I want.
Numbered Indexes
Maybe you like to have a numbered list instead of grid coordinates for the index? Well, than can be done with a few simple steps. Again, I have already prepared that in the example map for download, but here are the main steps.
- Start by making a new layer (Mine is TEXT (NUMBERED PLACES)). Copy the original text labels to this layer. You also want to hide the original label layer afterwards so you don’t have overlapping labels.
- Edit the text labels on your new layer to have a numeric prefix (Prefix short numbers with zeroes to make sorting work properly). I did this by using the TED command, as this allows me to select all the text entities for editing at once (And you can select by layer, as we did with partial indexes above).
- Use the Create Index command as we have done before, targeting all the entities on the new layer. This gives you an index sorted in numeric order instead of alphabetical.
Now, with a numbered index, there are a couple of improvements you can do if you want.
- Don’t want the grid? Simply hide the GRID sheet. Then, remove the grid reference at the end of the names by first making sure groups are unlocked (click the button in the bottom right corner of the CC3+ interface so it reads unlocked instead of locked). Then simply use the regular Erase
command to get rid of them, as they are their own text entities and not part of the name. Remember to re-lock the groups when done.
- Want only the numbers to show on the map itself, and not the entire text? Just repeat the procedure from earlier by copying our numbered text labels to a new layer, then edit these text labels and remove the text part, leaving the numbers behind. Then hide the layer with the number+label combination and show the layers with just the numbers [TEXT (NUMBERS) in my map]. You could just have edited the text labels on the original layer, but I prefer to just keep these entries on a hidden layer in case I want to go back to them or recreate the index later, perhaps with a few added entries. You may need to also adjust the position of the numbers a bit, as they are much shorter than the original text, the resulting positioning may not be exactly where you wanted. Also, if you had rotated text, you might want to straighten that out as well for the numbers.
If you have questions regarding the content of this article, please use the ProFantasy forums. It can take a long time before comments on the blog gets noticed, especially for older articles. The forums on the other hand, I frequent daily.