JAMB (Just Another Map Book) User Guide
SD006
Sam Falchook
Contractor
Software & Scanning Services
Samuel.I.Falchook@usace.army.mil
862-2113
Version 1.1
May 15, 2010
Table of Contents
4 Creating an Index (Grid) Layer
5 Creating a Strip Map Grid Layer
5.1 Auto-generate Grids and Disregard
Station Values
5.2 Generate grids based on a station
values table
8 Adding Page Specific Elements
8.1 Local and Global Identifiers
9 Adding Page-Specific Annotation
11 Enabling and Disabling Pages
JAMB is an ArcMap application
that aids in the creation and output of map books. The purpose of the tool is to allow a
cartographer to create a series of maps and manage them in a single map
document. JAMB provides the convenience
to print or export an entire series of maps in one step.
Within map documents, JAMB allows a cartographer to create and output map books. Map books are multi page documents based on a dataset and an index grid representing the pages.
To
use JAMB, the following pieces are needed:
Generally
speaking, Map Books can contain one (or more) Map Series. A Map Series is a set
of pages based on a specific layer. The
pages are listed on a custom tab in the ArcMap Table of Contents (Figure 0).
The current version of JAMB can support only one Map Series in each Map Book. Throughout
the remainder of this document we will discuss how to use JAMB to generate and
use a Map Series within a Map Book.
Figure 0
If you are an internal user at USACE, submit an ACE-IT help desk
request to receive an install of JAMB.
Otherwise, double click the JAMB MSI installer file initiate the
install. You must have administrative
privileges on your computer to install JAMB.
Before creating a Map Series, you first need an Index Grid to base your pages on. If you already have a grid for your dataset, proceed to Section 6, Generating a Map Series. The grid features you use don’t have to be of any particular size and shape, nor do they need to be interconnected. The grid features just need to be polygon shapes. The Index grid you use must contain a field with values representing the name of each page (tile). The page names must be unique.
Before generating an index grid, you will want to choose the dimensions of the page layout and the dimensions of the data frame within the page layout. You might want to create a preliminary page layout that contains the data frame. Certain JAMB functionality is limited if your data frame is in a geographic coordinate system, so if possible for your map requirements, use a projected coordinate system.
If you don’t have a predefined Index grid, use one of two tools to generate one: Use the Create/Update Map Grids tool to create an Index Grid (see Section 4). Use the Create/Update Map Grids tool to create a continuous, non-overlapping grid of polygon features. Or, use the Create Strip Map Grids tool to generate a Strip Map Index Grid (see Section 5). A Strip Map, in regards to this tool, is a connected series of maps that follow some sort of logical path across data. The Create Strip Map Grids tool is used to create a connected path of Map Grid polygons that can be used with the other Map Series tools.
The Create/Update
Map Grids tool (also called the Grid
Generator Wizard) is a tool for creating Map Grid polygons that can be used
with the other Map Series tools. You can
optionally populate an existing feature class (personal geodatabase or
shapefile), or create a new feature class from scratch. The options available when generating grid
polygons are explained more fully
below.
Figure 1 below
shows the USACE JAMB Map Series
toolbar. The Create/Update Map Grids button is the third tool from the
left. It launches the Grid Generator Wizard dialog (Figure 2).
Note: If the data frame is in a Geographic
coordinate system and the map is in data view, the Create/Update Map Grids button will be disabled. There is a reason for this. The calculation that converts a Map Scale
(eg: 1:1,000) and a Paper Size (eg: 8½” by 11”) into actual polygon grid
features (eg: 250 ft by 300 ft) requires certain information about the data’s
projection. For Projected data (eg:
UTM14N), the MetersPerUnit property is used to make this calculation. However, for non-projected Geographic data
(eg: lat/long) we don’t have this property (as the ratio of meters to decimal
degrees varies depending where you are on the globe). To support grids in Geographic format, a
“flat” calculation is made - where the current data extent and map scale are
used as a direct ratio for the created grids.
This ratio can only be calculated while in Layout View, so the Grid
Generator Wizard button will only be enabled for Geographic data when switched
to Layout View.
Figure 1
Figure 2 shows how the wizard will start, with no options selected and all the current Polygon Layers listed in the top combo box. Note that the Next button is disabled.
The
Use existing layer option allows you
to create Index Grid features in an existing polygon feature class. The Create
a new Layer option allows you to create a new polygon feature class to
store your Index Grid features.
The
Clear existing grids option deletes
existing features in the existing polygon feature class.
The
Don’t create empty grids option applies
a spatial filter and skips Index Grid polygons that do not contain any features
from one or more layers of interest. Grid polygons that are skipped will not be
saved in the polygon feature class. If
you choose this option, make sure that you select at least one layer of
interest by which to filter.
Figure
3 shows the completed options. In this
case, we are going to store the new grids into a layer already loaded in
ArcMap. We’re also going to delete all
features that are currently in that layer.
We are going to apply a spatial filter that will skip grids that do not
contain any features of interest. The
grids that we skip will not be created at all.
In this example, “MainRoads” is a layer of interest.
Note
that any Definition Query defined upon the selected layers will be adhered to,
so you can make grids for specific areas (eg: Tax Zones), specific linear
features (eg: Transmission Lines) or specific points (eg: Site Offices).
You
cannot continue to the next step until you specify the output layer. Click next to continue.
Figure 2 Figure 3
Figure 4 shows the second page of the wizard. Here is where you specify the fields in which you want to store attributes for the generated grid features. The only required entry is the ID field. This is a string field that will store the unique identifier for each grid polygon created. (You specify the format of the Identifier Field later on, which will be populated by some concatenation of the row number and column number, see figure 7). The wizard will list all the available string fields in the combo box.
Note: if you are creating a new shapefile or feature class to store your grids, then this page will not appear. The wizard will define and create all the fields for you.
There are also three optional output field settings. All three fields are numeric, and only numeric fields will be listed in the combo boxes. You can not select the same field for different attribute roles.
The Map Scale field will store the scale each grid will be created for (set later on in the wizard). This is useful if you are planning on storing multiple scale grids in the same feature class.
The Row Number and Column Number fields are numeric ID fields that record the relative position of the Index Grid feature within the overall grid. See figure 8 to get an idea of what the overall grid might look like. (Although in figure 8 the column ID is alphabetic as apposed to numeric.) Regardless of the “Identifier Format” chosen later on in the wizard, the Row Number and Column Number fields store only numeric values as apposed to alphabetic values. Click next to continue.
Figure 4
The third step in the wizard is defining the scale at which the grids will be displayed when used in conjunction with the other Map Series tools. The Current Map Scale option uses the scale of the active data frame. Use this option if your map is already set to an appropriate scale. Or, select the Manual Map Scale option and manually enter an appropriate scale. In the example below (Figure 5), we are creating 1:20,000 scale grids. The scale must be greater than 0. The scale is used in conjunction with the data frame dimensions (in layout units) to calculate the dimensions of the Index Grid polygons.
A
related requirement is the range within which to create the grids. By default, the dialog will be populated with
the current map extent. You can use the
provided buttons to set the bounding coordinates to the extent of the
destination feature class, the current extent, or the extent of all the layers
in the Map. Note that if the destination
layer is a shapefile, then it doesn’t have a defined extent (as geodatabase
feature classes do) and therefore the button is not always available. You can also edit the values directly within
the text boxes. If a value is entered
into a text box that is outside the valid range of the destination feature
class, then the text will be turned red and you cannot continue.
Figure 5
Next, you need to specify the shape for the grid polygons created. We calculate this shape based on the Data Frame that is going to display the final grids. By default, this is set to the current Data Frame, the name of which is displayed on the dialog. You can optionally define the Data Frame size manually. This is done in Layout units (usually Inches or Centimeters). This is useful if you are creating the grids on a machine that does not have the final Layout defined on it – you can simply specify the size of the output map frame and the grids will be created accordingly. In figure 6 below we are going to accept the current data frame, “Layers”, as our grid shape. The actual calculation converts the Layout units at the given scale into map units for the grid polygon’s height and width. Click Next to continue.
Figure 6
The
final step is to set the Identifier format.
Essentially, the identifiers created are a concatenation of the row and
column numbers with several formatting options.
You can change the order the identifiers are joined together, the
location of the starting grid, the style of row/column Ids, and the usage of an
underscore to separate characters. As
the settings are changed, the example Identifier in the top right hand corner
of the dialog is updated. In Figure 7 below
we can see the example Identifier is set to ‘A_3’.
Figure 7
Click
finish to create the grids. You can cancel the map grid creation during
processing, if required. The cancel
process will allow you to choose between keeping the grids created thus far,
rolling back to where you were before you started, or continuing with grid
creation.
Figure
8 shows the grids produced based on the example settings specified above.
Figure 8
A Strip Map is a connected series of maps that follow some sort of logical path across data. The Create Strip Map Grids tool (also called the Strip Map Generator Wizard) is used to create a connected path of Map Grid polygons that can be used with the other Map Series tools.
You can either populate an existing feature class (personal geodatabase or shapefile) or create a new feature class from scratch. The options available when generating your strip map grid polygons are explained more fully below.
The first step in generating a Strip Map is to define the path to follow. The path for the Strip Map Generator is specified via a selection set. Figures 9 and 10 show how to specify a path using an attribute selection. Other methods, such as a network trace, manual selection, etc, are equally valid. The tool simply requires that at least one feature is selected in a linear feature class. You may select multiple line features. Disjoint/multi-part paths are supported. Note that forked paths are not supported at this time. Looped paths are only supported if a single, looped polyline is selected. Some options are not available if the line features does not have M values.
Figure 9 Figure
10
Figure
11 shows the Map Series toolbar. The
Strip Map Generator Wizard is the fourth tool.
Once you have defined the selection for the Strip Map, open the Wizard
by clicking on this button.
Figure 11
The first step in the wizard is specifying where the created grids will be stored. Figure 12 below shows how the wizard will start, with no options selected and all the current Polygon Layers listed in the existing layers combo box. Note that the Next button is disabled.
Figure
13 shows the completed options. In this
case, we are going to store the new grids into a layer already loaded in
ArcMap. The name for the Strip Map
Series is going to be ‘Highway 61’ and we’re going to delete all features that
are currently in that feature class.
Note that by opting not to delete existing grids in the output
feature class you can define many Strip Maps in a single feature class and then
reference them by name for plotting purposes.
Figure
14 below shows the temporary graphics that are created on the map when the
dialog is opened. It shows which end of
the path the Strip Map will begin from.
In this case, the map series will begin from the south and head
north. If we wanted to create the Strip
Map in the other direction we could check the ‘Flip the line’ option.
Note
that you cannot continue to the next step until you specify the output layer.
Figure 12 Figure 13
Figure 14
Figure 15 shows the second page of the wizard. Here is where you specify the fields in which you want to store attributes about the generated strip map grid features. The required fields are: Strip Map Name, Number in the Series, and Map Angle. The Strip Map Name must be a string field that will store the name for each grid polygon created. The Number in the Series and Map Angle values must be stored in a numeric field with grid numbers starting from 1 and angles being stored in degrees. Strip maps are normally rotated so that the feature path is oriented along the X axis of the page. The Map Angle stores the angle of rotation of the Index grid. The wizard lists all the available fields (based on applicable field type) in the combo box for each attribute.
There are also several optional output fields. The Map Scale field will store the scale each grid will be created for (set later on in the wizard) and is numeric. Again, only the available numeric fields will be listed in the combo box. You cannot select the same field for different attribute roles. The From Station and To Station fields will store the lower and upper station values associated with each grid. These station values can be used with the other Map Series tools to plot graphs on the map layout. The In Grid(Y/N) field is used by the Generate grids based on a station values table option discussed later in this section. It is a string field that records whether the line segment between the lower and upper station values fits entirely within the grid or not. It stores either Y for yes or N for no.
Note: if you are creating a new shapefile or feature class to store your grids, then this page will not appear. The wizard will define and create all the fields for you using a standard set of column names.
Figure 15
The third step in the wizard is defining the scale at which the grids will be displayed when used in conjunction with the other Map Series tools. In the below example (Figure 16) we are creating 1:5,000 scale grids. The scale must be greater than 0.
Optionally,
we can avoid Scale altogether and set the grid size based on real world
units. For example, you may want grids
that are 400 feet wide and 250 feet high.
In that case, select the Absolute Size option and enter the values in
the text box. The current Map Units are
used for any values entered. The name of
the current Map Units is displayed in the label next to the Width text
box. Note that as the Grid Size, Data
Frame Size, and Map Scale are mathematically dependant upon each other. You
cannot set the scale and size properties simultaneously. The scale value will be calculated based on
the data frame size set in the next step.
Figure 16
The fourth step is to specify the shape for the grid polygons created. We calculate this shape based on the Data Frame that is going to display the final grids. By default, this is set to the current Data Frame, the name of which is displayed on the dialog. You can optionally define the Data Frame size manually. This is done in Layout units (usually Inches or Centimeters). This is useful if you are creating the grids on a machine that does not have the final Layout defined on it – you can simply specify the size of the output map frame and create the grids accordingly. In figure 17, we are going to accept the current data frame, “Layers”, as our grid shape. The actual calculation converts the Layout units at the given scale into map units for the grid polygon’s height and width.
Note that if we have specified a specific grid size on the previous step (ie: Absolute Size), then the Scale will be calculated instead.
Figure 17
Figure 18 shows the last page of the wizard. The last step is to specify how to generate grids and assign “To” and “From” station values to the grids. These options determine the starting and ending station values of each grid polygon and determine if there will be overlap between adjacent grid polygons. There are two main options: Auto-generate grids and disregard station values and Generate grids based on a station values table.
Figure 18
The default choice is Auto-generate grids and disregard station values. If the line is not M-Aware, this is the only option available to generate Strip Map grids. This option uses circular arcs to find a point on the line a certain distance away from the starting point. These two points become the starting point and ending point of the grid polygon feature. The ending point of one grid feature becomes the starting point of the next grid feature, and the process is repeated until all of the grid features are created. The grid features are generated in landscape mode. The starting point or “From point” is centered on the left edge of the grid feature, while the end point or “To point” is centered on the right edge of the grid feature.
Because the right edge of one grid polygon shares a point of intersection with the left edge of the next grid polygon, there is little or no overlap between adjacent grid features. The exact length of stationing that is contained within a grid feature depends greatly on how much the line curves within the grid feature. A straight line segment will yield the shortest possible length of stationing within the grid.
If the line feature is M-Aware, the program will record
the “To” and “From” station values in the attribute table. The station values will not be rounded
numbers.
If the line feature is multi-part, a new grid feature will begin at the start
of each part.
Figure
19 shows the results of the Auto-generate grids and disregard station
values option. Notice that something complex is happening on
the transition from grid 2 to grid 3.
The line takes a sharp curve on page 2 and exits the top of the grid
(which appears as the bottom of the grid in the un-rotated view below). The line enters the next grid feature at the
same point where it exited the previous grid feature. The other transitions in this
particular example are more typical, where the grids appear like a connected
snake.
Figure 19
The second choice is Generate grids based on a station values
table. To use this
option, the line must have M values.
With this method, each grid feature will contain a segment of line
starting and ending with specific station values. Depending on the scale and data frame size
chosen, the grid feature will also contain a certain amount of buffer space
beyond the extent of the line segment.
This means that part of the line before the starting station point
(“From Point”) and part of the line after the ending point (“To Point”) will be
visible on the page. Because of this,
there will be some overlap between neighboring grid features, which is by design.
To change the amount of overlap, modify the scale (chosen on a previous step in
the Strip Map Wizard).
To use the Generate grids based on a station values
table option, a (non-spatial) stations table is required. A station values table must contain one
record for each grid feature that you want to create. It must contain attributes that store the From Station and To Station values. The
station table can be stored in any ESRI supported format. (Non-spatial data sources are visible on the Source tab in the table of contents.)
You may select a station
table that is already loaded in the map document, load an existing station
table, or create a new station table.
To select a station table that is already loaded in the
map document, simply select the table name from the drop down list labeled Choose a table. (The drop down list contains all of the data
tables that are currently loaded in the map document, including both spatial
and non-spatial tables.)
To load an existing station
table or create a new station table, click the folder button next to the Choose a table drop down list.
In the Select a New or Existing
Station Values Table dialog (figure 20), select a location and file name of
a new or existing station values table.
If the station table is new,
it will be created. The new table will
default From Station and To Station attributes. Regardless of whether the station table is
new or existing, it will be added to the map document and to the Choose a table drop down list.
Figure 20
Next, select From
Station and To Station
attributes from the drop down lists.
These lists contain all of the numeric attributes in the data table. You may not select the same attribute for
both. If the application recognizes that
the attribute table contains the default From
Station and To Station column
names, it will select them automatically.
The station table may already
contain records or the table may be empty.
If the station table contains records, you may edit the records in the
station table now by navigating to the Source
tab, starting an edit session, and opening the table.
If the station table is
empty, the program will automatically put a check in the box labeled Populate station values table with stations
every ____ feet. If the station table
is not empty, but you wish to replace the existing records, manually add a
check to this box. You must enter a
station interval. The default station
interval is 10,000 feet. Allowing the
application to populate the station values table automatically saves a great
amount of time when you are generating a large number of index grid features.
When populating the station
values table, the program will automatically find the starting point and ending
point of the line (and will find any breaks in the line if it is multi-part). On each grid except the first and last grid,
each record in the stations table will contain the standard station length
interval that you choose. The first and
last grid will contain no more than 110% and no less than 10% of the standard
station interval. If the line contains
breaks, the user can choose to either ignore the breaks or to force a new grid
feature to begin after each break.
For example, if you choose a
station interval of 10,000 feet and the line begins at a station value = 114
feet and ends at station value = 30,300:
The first record will start at 114 feet and end at 10,000 feet. The second record will begin at 10,000 feet
and end at 20,000 feet. The last record would begin at
20,000 feet and end at 30,300 feet.
The Index Grid polygons generated will only be
appropriate if common sense is used while selecting the scale, data frame size,
To Station and From Station values. The
goal is to generate Index Grid polygons that completely contain each line
segment and include enough buffer space so that a small portion of the
neighboring line segments are visible.
Here is an example of an appropriate set of choices:
Scale – 1:4800 (1 inch = 400 feet)
Data Frame Width: 29.1 inches
Data Frame Height 10 inches
Distance between “From” and “To” station: 10,000 feet.
In this example, the width of the Data frame in ground
units is 29.1 * 400 = 11,640 feet. The
distance between the “From” and “To” station is only 10,000 feet, so that
leaves 11,640 – 10,000 = 1,640 feet of buffer space around the line
segment. In this case, the buffer size
is 16.4% of the distance between the “From” and “To” stations.
In a real world example, the segment will not be a
straight line. Instead, it will be
curved. The Data Frame Height must be large
enough to account for the curve of the path.
In this case, the height of the data frame in ground units is 10 * 400 =
4,000 feet. In this case, the date frame
height is 40% of the distance between the “From” and “To” stations.
Even if you choose appropriate settings, there is no
guarantee that each segment will fit completely within its Index Grid
polygon. That is why the Index Grid
feature class contains the In Grid attribute. If the segment falls completely within the
Index Grid polygon, the In Grid
attribute is set to “Y”, otherwise, it is set to “N”.
After generating the Index Grid polygon features, open
the attribute table and check to see if the In Grid value is “N” for any of the features. In your map document, you can modify the
symbology of the Index Grid layer to categorize by unique values on the In Grid attribute. In this way, you can visually inspect which
Index Grid polygons are inappropriate and why.
There are several different ways to fix ill-fitting
Index Grid polygons. If more than a few grid
features have a problem, consider re-generating the polygons with a different
scale or different data frame dimensions. If only one grid features has a
problem, consider editing the station values table and replacing the
corresponding station record with two records, each containing only half of the
standard station interval and, then, re-generate the grid polygon features. A third method of fixing an ill-fitting Index
Grid polygon is to start an edit session and manually rotate or move the
polygon until it fits properly. If you
manually rotate the grid polygon, be sure to also manually update the rotation angle attribute so that it
reflects the new rotation angle.
Click
Finish to populate the station
values table (if you selected the option to do that) and generate the Index
Grid features.
Figure 21 below shows the results of Generate grids based on a station values
table option. We can see that there
is overlap between adjacent polygons.
Notice that some polygons are shifted to one side of the line or the
other to allow curved line segments to be closer to the center of the grid polygon.
Figure
21
Along
with an Index grid, a page layout is necessary to generate a Map Series. If you don’t already have a page layout
created, standard ArcMap tools can be used to generate one. Refer to the ArcMap help for the steps involved
in adding legends, north arrows, and other map elements to your layout.
Once
you have an Index grid and a layout loaded into your ArcMap session, you are
ready to create a Map Series. An
additional tab called USACE JAMB should
be available on the Table of Contents.
If the tab is not available, go to the Tools->Options dialog and
enable the tab.
The
wizard for creating a Map Series can be accessed by either selecting the Create Map Book tool on the USACE JAMB toolbar, or by right
clicking on Map Book on the top of
the USACE JAMB tab and selecting Add Map Series. Both options lead to the display of the Map
Sheet wizard.
Figure
22 below shows the first page of the Map Sheet Wizard. On this page you are required to specify the
data frame were the content for the Map Series will come from. It is important to note here that while it is
possible to have multiple data frames in your layout, the tools for generating
the pages in your series will only update the display for a single frame (not
counting the Identifier frames that we will discuss later). For this reason, it is recommended that only
one data frame be used.
In
addition to specifying the data frame, the first page of the wizard is also
used to specify the layer representing your Index grid and the field from that
layer containing the name for each page (tile).
Your Index grid needs to be in your ArcMap session to be used for generating
a Map Series, but it does not have to be visible. (The index grid must also remain in your map
after the Map Series is generated.) The
page name field may be text or numeric, but it may not contain duplicate
values.
Figure 22
Figure
23 shows the second page of the Map Series Wizard, which is used for
determining the tiles (features) of your Index grid that will have pages
generated for them. The left side of the
page allows you to specify whether all or a selected number of tiles will be generated,
while the right side of the page is used to eliminate tiles based on the
discovery of features from designated feature classes on those tiles. For instance, if you are creating a Map
Series of parcels for a county, you would probably choose to exclude tiles that
did not have any parcels on them. This
can be accomplished by clicking on the suppression option and choosing the
parcels layer from the available list.
Keep in mind that querying each tile for the availability of features
from a particular feature classes can be a time consuming process (based on the
amount of data in your database), so you probably do not want to select more
than one or two feature classes for suppression.
When
pages/tiles are created by the application, they are numbered beginning with
1. The final option (Begin numbering tiles/pages at) allows
you to specify the number by which to start numbering pages.
Figure 23
Figure
24 below displays the third page for the Map Series Wizard, which is for
specifying the options to use with your Map Series. The selections on the third page of the
wizard can be changed once the Map Series has been created, while the choices
on the first two pages and the fourth page cannot.
The
left side of the third page is for specifying how the map extent (scale) will
be set for the individual pages. The
three options are as follows:
The
right side of the page has some additional options you can set:
Figure 24
Figure
25 below allows you to select From
Station and To Station
attributes. If the From and To Stations box is checked, these attributes will be used
to update the Data Graph on you map layout when navigating to a different page
in the map series (if your map layout contains a data graph).
Figure 25
After
you have specified your options on the fourth page of the wizard, select the
Finish button and the Map Series will be generated. The individual pages of your series will be listed
under the USACE JAMB tab based on
the name field you specified.
Double-click on a page (or right-click and select the View Page option)
to see how that individual page looks.
Figure
26 below shows the Table of Contents after a Map Series has been created.
Figure 26
The
page layout you have defined does not change as you switch between the
different pages in your series. You can
update the layout at any time, as this information is not currently stored with
the series. However, there are several
extra things you can add to your layout, including page specific information,
by using other JAMB tools. These items
are discussed in the next two sections (Context
Menu Options and Adding Page
Specific Elements).
Right clicking on any item on the USACE JAMB tab in the Table of Contents will give you a context menu. Depending on whether you select the Map Book, the Map Series, or an individual page, you will be presented with a different set of choices.
The context menu for a Map Book looks like this, Figure 27:
Figure 27
Add Map Series – Opens up the wizard for generating a new Map series.
Print Map Book – Opens up the dialog for printing all of the pages in your book.
Export Map Book – Opens up the dialog for exporting all of the pages in your book.
The context menu for a Map Series looks like this, Figure 28:
Figure 28
Select/Enable Pages
– Opens up the dialog for selecting/enabling pages based on a query of the Last
Output date or the Scale for the page (select and unselect all also available).
Tag as Date – tags the selected Text Element, so that it is updated with the current date each time the page is activated or output.
Tag as Title – tags the selected Text Element, so that it is updated with the name of the page/tile each time the page is activated or output.
Tag as Page Number – tags the selected Text Element, so that it is updated with the number of the page/tile each time the page is activated or output.
Tag with Index Layer Field – tags the selected Text Element with a field from the index layer. Element is updated with value from current tile/page.
Tag to Show on this page only – tags the selected Layout Element, so that it is shown on this page only.
Tag to Show on all pages except this one – tags the selected Layout Element, so that it is shown on all pages except the current page.
Tag Data Graph – tags the selected Data Graph Element so that it will be updated with different “To Station” and “From Station” values each time the page is activated or output.
Clear Tag for Selected – Clears any tags that have been set on the selected map elements.
Delete Series – deletes the series
Delete Disabled Pages – removes the currently disabled pages from the series.
Disable Series – disables the entire series.
Print Series – Opens up the dialog for print pages in the series.
Export Series – Opens up the dialog for exporting pages in the series.
Create Series Index – Opens up a dialog for creating an index text file based on the features that fall on each tile (i.e., a street index).
Series Properties – Brings up a dialog showing the properties of the series. Only properties on the “Options” tab can be changed.
Page Properties – Brings up a dialog showing the Name, Scale, Rotation and Last Output values for the pages in the series.
Convert Labels to Annotation – allows the user to select one or more layers in the map and convert their labels to annotation. Since rotation angle is different on each page, each page has its own annotation layers. Annotation is clipped to the extent of the page.
Delete Annotation Groups – allows the user to select one or more layers to remove their annotation. Only layers that have annotation groups can be selected.
Set Standard Data Graph Size for Map Series – saves the current position and size of the Data Graph, so that the position and size will be restored when the user navigates to any page in the series.
Set Alternate Data Graph Size for this Page – saves an alternative Data Graph position and size for the current page, so that when the user navigates to this page, the saved position and size will be restored.
Apply Standard Data Graph Size to this Page – restores the Data Graph on the current page to the standard data graph size and position and deletes any saved alternate size and position for the current page.
The context menu for a Page looks like this, Figure 29:
Figure 29
View Page – activates (displays) the page.
Delete Page – removes the page from the series.
Disable Page – disables/enables the page. This option is used to limit the pages that are output when you Print or Export from the Map Series context menu.
Print Page – prints the individual page.
Export Page – exports the individual page.
In
general, switching between the pages in your Map Series only updates the extent
of the data displaying in the data frame (and change the labels for adjacent
tiles if you have activated this option).
There are several additional items you can add to your layout that will
be updated on a page by page basis, though.
These items are:
To
create a Date, Title, Page Number, or Index Layer Field, begin by adding a Text
Element to your map at the appropriate position, size, color, etc. With only this element selected, select the Tag as Date, Tag as Title, Tag as Page
Number or Tag with Index Layer Field
choice from the context menu for the Map Series (accessed by right clicking on
the Map Series entry in the Table of Contents).
Items
tagged as dates will be updated with the current date after tagging. Items tagged as titles will have their string
changed to “Title String” to let you know they have been tagged. The name of the page will be inserted the
next time you access one of the pages.
Items tagged as page numbers will have their string changed to “PAGE #”
to let you know they have been tagged.
The page number will be inserted the next time you access one of the
pages. Items tagged with a field from
the index layer will have their string changed to the name of the field to let
you know they have been tagged. The
attribute value from the specified field will be inserted the next time you
access one of the pages.
Any
type of map element can be tagged as This
page only or All pages except this
one, not just Text elements. Select
one or more map elements and select either This
page only or All pages except this
one choice from the context menu for the Map Series (accessed by right
clicking on the Map Series entry in the Table of Contents). Items tagged as This page only will be hidden when you navigate to another
page. Items tagged as All pages except this one will be
hidden in the current page, but will be visible when you navigate to other pages. Data Graph elements and Data Frame elements
may not be tagged as This page only
or All pages except this one.
To
tag a Data Graph, begin by adding a Data Graph Element to your map. Set an appropriate position, size, data
sources, and other data graph properties.
With only this element selected, select the Tag Data Graph choice from the context menu for the Map Series
(accessed by right clicking on the Map Series entry in the Table of
Contents). Items tagged as Data Graphs
will be updated when you navigate to a different page. The From
Station and To Station will
change for each page. (This option requires a Strip Map with M values.)
The
size and position of the Data Graph can also be saved and manipulated by using
three additional context menu options: Set
Standard Data Graph Size for Map Series, Set Alternative Data Graph Size for this Page, and Apply Standard Data Graph Size to this Page.
After
the Data Graph has been tagged, set the Data Graph to the desired size and
position. With the Data Graph selected, select Set Standard
Data Graph Size for Map Series from the context menu for the Map
Series. This will save the size and
position of the Data Graph. When you
navigate to any page in the map series, the data graph’s size and position will
revert back to the saved size and position.
You may want one of the pages to have an alternate Data Graph size
and position. Navigate to a different
page in the series. Resize and/or
reposition the Data Graph. With the Data
Graph selected, select Set Alternate
Data Graph Size for this Page. This
will save the alternate size and position of the Data Graph for this page. When you navigate back to this page, the data
graph’s size and position will revert back to the saved size and position.
If you change your mind, you can revert the Data Graph size and
position for this page back to the standard Data Graph Size and position. With
the Data Graph selected, select Apply
Standard Data Graph Size to this Page.
The size and position of the Data Graph will be reverted back to the
standard Data Graph size and position that you selected with the Set Standard Data Graph Size for Map Series
option. This page no longer will have
its own saved data graph size and position.
Local and Global Identifiers are
two types of inset map that show the location of the current page. Local and Global Identifiers are
page-specific. To add an Identifier to
your map series, choose the Add
Identifier Frame button on the USACE JAMB toolbar. You will be presented with a dialog that asks
you whether you want to add a Local or Global Identifier. Make your selection and click on the OK
button. At this point the Identifier
tool will be active, so you need to drag out a box on the layout to identify
the position for the Identifier Frame.
After you drag out a box the frame will be added to your layout. Select the Identifier Layer from the Table of
Contents on the Local Indicator or Global Indicator frame (depending on which
type of Identifier you added) and change the selection symbol, label characteristics,
etc. as you see fit. The identifier will
be updated when you activate one of the pages.
Figure 30 shows a map containing
a local identifier. Figure 31 shows a
zoom-in of the local identifier.
Figure 32 shows a map containing
a global identifier. Figure 33 shows a
zoom-in of the global identifier.
Figure 30 Figure 31
Figure 32 Figure 33
JAMB
allows you to create page-specific Annotation for an entire map series. For annotation to appear correctly in a map
book, the annotation must appear at the same angle of rotation as the current
page. When you convert labels to annotation,
JAMB creates a separate annotation layer for each page and clips the annotation
to the extent of the page.
To convert labels to Annotation,
select Convert Labels to Annotation
choice from the context menu for the Map Series (accessed by right clicking on
the Map Series entry in the Table of Contents).
In the popup dialog, select one
or more map layers on which to convert labels to annotation (see Figure 34
below).
If a layer already has
page-specific annotation, it will not appear in the list.
Figure 34
After the labels have been
converted to Annotation, the Overflow
Annotation dialog will pop up (see Figure 35 below) to list the annotation
labels that could not be placed (if any) due to label placing conflicts.
Figure 35
To Delete Page-Specific
Annotation, select Delete Annotation
Groups choice from the context menu for the Map Series (accessed by right
clicking on the Map Series entry in the Table of Contents).
In the popup dialog, select one
or more map layers to delete their page-specific annotation (see Figure 36 below).
Only layers that have
page-specific annotation will appear in the list.
Figure 36
Printing and exporting can be done for a single page, a set of pages, or the entire map series. Print and Export options are available by right clicking on any of the items for the Map Book in the Table of Contents. The context menu you choose from depends on the number of pages you want to export. The available options are:
· To output a single page, you would access the context menu of that page and select either Print Page or Export Page.
· To output a series of pages, you would access the context menu of the Map Series you created and select either Print Series or Export Series. The dialog that appears after selecting from the Map Series context menu allows you to specifically specify the pages you want to output/or you can choose to output the pages you have enabled by some other method (more on the enabling of pages later).
· To output all the Pages in your Series, you can either access the print and export dialogs from the Map Series context menu and select All or access the context menu from the Map Book and select Print Map Book or Export Map Book. The options on the Map Book context menu only allow you to print all of the Pages.
The Print dialog appears in Figure 37:
Figure 37
Depending on the context menu you used to display the dialog, the available Page range options will vary. Current page is the only option when the dialog is activated from the context menu of an individual page. The All and Pages options are available when the dialog is activated from the Map Series context menu. All is the only available option when the Map Book context menu is used. When selecting the All and Pages options, the Don’t output disabled pages checkbox can be used to further limit the pages. If a page is disabled (not available for output), then it will not be printed or exported when this checkbox is activated.
Figure 38
The Export dialog appears above, in Figure 38:
The Page range options on the Export dialog operate in the same manner as those on the Print dialog.
When a page is exported or printed, the Last Output value for the page is updated to the current date. To view the Last Output date for your pages, select Page Properties from the Map Series context menu. This information is stored as a parameter of each page within your document. As a result, you should always make sure to save your Map Document after printing or exporting to insure your dates are maintained. These dates can be used in selecting pages to print or export as discussed in the next section (section 11).
Pages are enabled and disabled for output purposes only. Disabling a page does not mean it is not available for display, it just means that it can be excluded from output (when the Don’t output disabled pages checkbox is used on the Print and Export dialogs). The purpose of this capability is to give the user another method for specifying the pages to be output. The simplest way to enable or disable a page is to click on the icon at the left of the page entry. This icon will be a printer if the page is enabled, or an “X” if the page is disabled. Clicking on the icon will toggle it between the two options. This can also be accomplished by either selecting Enable Page or Disable Page from the context menu for the page.
Another method for enabling and disabling pages for output is to use the Select/Enable Pages dialog, which can be accessed from the Map Series context menu. This dialog can be used to select pages for output before executing the Print or Export dialog. The dialog is as follows, figure 39:
Figure 39
The Select all and Unselect all options are used to select/enable or unselect/disable all the pages. The Select by date option is used to select pages based on their Last Output parameter (you can see this date for the pages in your Map Series by selecting the Page Properties option on the Map Series context menu). Specifying a date in the before box will select all those pages that have not been printed since the specified date. Specifying a date only in the after box will select all those pages that have been printed since the specified date. Placing a date in each box will cause those pages printed between the two dates to be selected/enabled. If you are setting the Scale for your pages based on an attribute value, the Select with scale option will be enabled. This option will allow you to select pages based on map scale.
You can create an index text file based on the features that fall on each page (i.e., a street index). This option is available on the Create Series Index … option from the Map Series context menu. When this option is selected the following dialog is displayed (figure 40 below):
Figure 40
The dialog allows you to select a layer in your map, a field (text fields only) from that layer, and an output text file. When you click on the OK button, an alphabetical listing of the attribute value from each feature in the specified layer will be written out to the file along with the Pages the feature falls on. Based on the dialog to the left, a file will be written out containing the OWNER names of each feature in the Parcels layer with the Pages these features are on. If you use a Street layer with a StreetName field, then you will get an alphabetical listing of the streets and the map sheets on which those streets can be found.
The Index by option allows you to specify whether the Page label (the name of the page/tile) will be listed or the number corresponding to the page (as shown on the USACE JAMB tab in the ArcMap Table of Contents). With the number option, you can also add an additional value in case you want the page numbering to begin at something other than 1.
In order to get the most out of JAMB, there are a few tips and tricks that you should be aware of:
General JAMB tips:
· Maps should not contain multiple layers with the same name. If a map contains more than one copy of the same layer, the layers must have unique names.
Tips about page-specific annotation:
· After making a layer visible, the user must re-select the current page to hide annotation from the neighboring pages.
·
When navigating
to a page, if a layer is not visible, its annotation is also not visible. If the user wants only the labels to be
displayed but not the features, the layer must be set to visible but the symbology
must be clear.
· When you navigate to a page, page-specific annotation for that page is automatically set to visible. If you need to hide page-specific annotation on a particular page, there is a way to do this. First, go to the page-specific annotation group that you wish to hide and turn it off in the normal way by un-checking it in the Annotation Groups tab in the Data Frame Properties dialog. Next, click the Properties button. In the Annotation Group Properties, we will rename the Annotation group. JAMB is hard-coded to recognize annotation groups whose name contains the sub-string “_Anno_Page_”. Modify this part of the name by adding some extra characters. For example, if the Annotation group is called “StateHwy_Anno_Page_7”, rename it to “StateHwy_AnnoXX_Page_7”. Once you rename the annotation group, JAMB will no longer be able to automatically turn it on or off. To make JAMB recognize the annotation group again, simply change the name back.
Tips about compatibility with other version of JAMB:
· A user who does not have JAMB installed on his or her machine may open a map that was created with JAMB. However, he or she will not be able to navigate away from the currently displayed page. The USACE JAMB tab will not be visible in the table of contents. If the user saves the map, all map series information will be lost. The saved map will no longer contain a map series.
· A user who has an older version of JAMB installed on his or her machine may open a map that was created with a newer version of JAMB. If the user has version 0.6 or later, JAMB will warn the user that the map they have opened was created with a newer version of JAMB. Some newer JAMB functionality may be missing. If the user saves the map, it will be downgraded to whatever JAMB version number the user has installed on his or her machine.
Tips about creating a map series with a special index map page:
·
It is possible to create an index map page that
is part of the map series. Start by
creating an index grid in the normal way by using the Grid Generator Wizard or
Strip Map Wizard. Next, start an edit
session on the index grid layer and create an additional index map grid feature
that covers the extent of all of the other features.
·
In the index map grid feature, set the rotation
angle attribute to 0.
·
Zoom to the extent of grid feature and make a
note of the scale. Save the scale in the
scale attribute.
·
Set the Strip
Map Name to whatever title you want for the index map page.
·
Assuming that your index map grid is the last
index features in the index layer, set the Number
in Series to a value one higher than the previous index grid
feature. Alternatively, you could make
the index map grid feature the first feature by setting set the Number in Series to a value one lower
than the first index grid feature.
· If this is a Strip Map Series with M values, set the From Station and To Station attributes to the From Station of the first grid and the To Station of the last grid.
· Create the map series in the usual way by using the Map Sheet Wizard.
· On the “Index Map” page, use the Tag to Show On this Page only and Tag to Show On all Pages Except this one tools to display map elements that are specific to the Index Map page and hide map elements that you do not wish to show on the Index Map page. To hide a data graph element, move the data graph to a location outside of the page and use the Set Alternative Data Graph Size for this Page option.
· To hide layers on the “Index Map” page, set the layers as scale dependent.
This section lists known issues or bugs in JAMB:
1.
There is
a bug that is causing ArcMap to sometimes freeze up when exiting one map and
loading a second map or new map in the same ArcMap session.
a.
ArcGIS
Freezes up when the user clicks “New Map” or load another existing map.
b.
Error
does not occur if the user deletes the map series before loading another map.
c.
The
Error does not occur on all JAMB maps.
This section describes what features have been added to JAMB.
Version 1.1:
1.
Rebranded
the program back to “USACE JAMB”.
Version 1.0:
2.
Rebranded
the program as “USACE Map Book NV”.
3.
Added
functionality to auto-rotate hatch labels to be consistent with page rotation.
4.
After
creating a new map series, automatically navigate to the first page and set it
as the “current page”. When loading a
saved map series, if it does not have a saved “current page” JAMB now navigates
to the first page and sets it as the “current page”.
5.
Added
error handling to Tag with Index
Layer Field option. If the user
removes the Index Layer from the map or removes the field from the index layer,
JAMB now shows the user a meaningful warning message and changes the text label
to display the text “missing”.
6.
Added
functionality for the user to select column names that contain the From Station, To Station, and In Grid
values.
7.
Added
capability for the program to auto-select default column names in the Grid Generator Wizard, Strip Map Wizard, and Map Sheet Wizard.
8.
Modified
the program to search for potential index layers inside of group layers.
9.
When
generating a Strip Map for a multi-part line, prompt the user to determine if a
page break should occur at the breaks between parts of the line.
10. When populating a station values table at regular intervals, use an algorithm to determine how to handle the first and last page of the series. The first and last grid will contain no more than 110% and no less than 10% of the standard station interval.
11. Added Cancel button to the Progress Bar dialog that is displayed when the program generates annotation. After canceling, the user is given the option to keep the annotation generated so far, or delete it, or resume generating annotation.
12. Re-organized the last page of the Strip Map Wizard to make the user interface more intuitive.
13. Display a progress bar with a cancel button when the user selects the Create from stations table option.
14. Display a progress bar with cancel button when the program is exporting or printing maps.
15. In the Strip Map Wizard, if the selected polyline features are not M-Aware, disable the Create from stations table option.
16. Where appropriate, changed the remaining modal user interface dialogs to modeless dialogs and set ArcMap as the parent window.
17. Modified the progress in the Strip Map Wizard to show Percent Complete. Also show Part _ of _ for multi-part lines (but only for the Auto-generate grids and disregard station values option).
Version 0.6:
18.
Added
functionality to save a standard Data Graph size and position for the Map
Series as a whole and save alternate Data Graph sizes and positions for
particular pages.
19.
Added
functionality to show the active page in bold in the table of contents. Added
functionality to return to the active page after an export or print.
20.
Modified
JAMB to save the version number when it saves the map document. JAMB will warn the user when it loads a map
document that was created with a later version of JAMB. JAMB is now forward compatible with future
versions of JAMB.
21.
Made a
small change to the Delete Series
functionality: When the user deletes the
map series, JAMB no longer deletes the indicator map frames. If the user re-creates the series, the
existing indicator maps can be re-used.
22.
Added
error handling to several forms to handle the case where one of the layers in
the map is disconnected from its data source.
23.
Changed
some of the user interface dialogs from modal to modeless.
Version 0.5:
24.
Added
functionality to allow the user to generate Index Grid Polygons based on a
station values table. The station values
table contains From Station and To Station attributes that determine
the segment that will be displayed in each Index Grid.
25.
When
generating Index Grid polygons from a station values table:
a.
Added an
additional option to auto-generate a station values table and auto-populate it
with station values at regular intervals (for example, every 10,000 feet).
b.
Added
the capability to determine if the segment fits completely within the Index
Grid polygon or not. The result is saved
to the In Grid attribute of the grid
polygon. The user can symbolize by this attribute to visually detect which
Index Grid polygons need to be revised.
c.
Added
functionality that re-centers the index grid polygons based on how far the path
deviates from the straight line between the “To” and “From” station points. If the line segment jogs to one side, then
the page is shifted more toward that side.
This increase the chances that segment will fit entirely within the
Index Grid polygon. The maximum amount of shift allowed is 0.95 * half of the
height of the Index Grid polygon.
d.
Added
functionality to handle multi-part paths.
26.
Alphabetized
the list of layers in the Convert Labels
To Annotation and Delete Annotation
Groups... dialogs.
27.
Fixed a
bug that was preventing users from creating page-specific annotation for layers
that already have annotation.
28.
Fix a bug
on the Series Properties dialog to allow users to update the rotation values,
even if the rotation field did not change.
29.
In the
Map Series Wizard, added a check to ensure that “page name” must be populated
from a field that contains unique values.
Also, made a change to allow “page name” field to be a number. (The Grid Generator and Strip Map Generator
still do not allow creation of numeric “page name” fields. However, the user may manually create an
Index Grid that uses numeric page names.)
30.
Added
extra error handling to the map series creation process: Now, the program does
not create a map series node if it
fails to create the map series. Before
attempting to create a new map series, the program checks if a map series
object or map series node already exists.
Version 0.3:
31.
Fixed a
minor bug that was causing the Disable
Series/Enable Series context menu item to change the caption of the Delete Series menu item by mistake.
32.
Fixed a
bug that occurs when trying to create a map series. If the index polygon layer did not have from
and to stations, it caused an error.
33.
Fixed
several bugs in the Create Annotation
Group and Delete Annotation Group
functionality.
34.
Re-branded
the tool as “JAMB” on the user interface.
Version 0.2:
35.
Fixed a
bug that was causing pixilation in printouts and exported files. This was fixed by merging in source code from
the latest version of DS Map Book.
36.
Modified
the Strip Map Generator to start the first page of the series with the first station
on the edge of the page instead of being centered on the page.
37.
Modified
the Strip Map Generator to add extra precision to the rotation angle. Previously, DS Map Book was rounding the
angle to the nearest whole number. In
the new version, the angle is not rounded.
The angle is stored as a floating point number instead of an integer.
38.
Modified
the Strip Map Generator to record the From
Station and To Station as
attributes. These are the minimum and
maximum M values where the path intersects with the edge of the Index Grid
polygon.
39. Modified the Strip Map Generator to left-pad the page number with zeros in the page name so that the pages will appear in correct numeric order.
40. Modified the Strip Map Generator to refresh the Table of Contents when the new Index Grid layer is added to the map.
41. Added the capability to Convert Labels to page-specific Annotation. Each page has its own annotation layers that are rotated correctly for the page. The program only converts labels for features in the current extent of the page. The program stores the annotation in the map. Modified the program to display the correct annotation layers when a page is viewed, printed, or exported. Modified the delete page functionality to ensure that when a page is deleted, its annotation layers are also deleted. After a page is deleted, when the subsequent pages are renumbered, the annotation layers are now re-numbered to stay consistent with their corresponding pages.
42. Added the capability to tag any map element to Show on this page only or to Show on all pages except this one. In order to do this, I added the capability for the program to remember which page was displayed last. Modified the program to display the correct page-specific map elements when a page is viewed, printed, or exported. Modified the delete page functionality to ensure that when a page is deleted, its page-specific map elements are also deleted. After a page is deleted, when the subsequent pages are renumbered, the map elements are now re-numbered to stay consistent with their corresponding pages.
43. Added the capability to tag a Data Graph. This capability is used for plan and profile map series. After a Data Graph is tagged, its To Station and From Station will be updated each time a page is viewed, printed, or exported, so that the graph shows the section of profile that corresponds with the page.