I’m back at work on the Course of Action (COA) sketch I started in a previous blog post.
In this post, I’ll show you how to add control measures to the COA, and how to modify them to show their status. For information on adding units, see the help topic on Defining new types of military features.
The feature templates for all of the control measures in MIL-STD-2525C (including operational graphics and tactical mission graphics) are available when you add the Military Overlay layer package to ArcMap. The feature templates of line and area symbols are all available in the “present” status. If you need to use them with another status (like anticipated, planned, suspected, or on-order) then you will have to modify the symbol to use a dashed line.
Step 1: Search for the symbol
Type “Follow” in the Filter Templates <Search> box, on the Create Features window, and click the Search button. Filtering the list of feature templates is a good way to find the feature template you need, since all the feature templates for the control measures in MIL-STD-2525C are included in the Military Overlay layer package.
Step 2: Add a feature to the map
Click the Follow and Assume feature template in the Create Features window, then click a construction tool. I wanted to simulate free-form sketching by hand, so I chose to use the Freehand construction tool to sketch the Follow and Assume feature.
Step 3: Add additional control measures to the map
To add other control measures, just repeat the first two steps. I added the Follow and Support feature next. This one sketches as a solid line, indicating “present” status. I’ll change it to a dashed line to represent “planned” status.
Step 4: Stop editing
On the Editor toolbar, click Stop Editing and click Yes to save your edits. Line and Area features in the Military Overlay layer package are symbolized using feature class representations. These allow for complex symbols that match MIL-STD-2525C specifications. Feature class representations require you stop editing before you can change their symbology. Editing the symbology of a feature representation requires an ArcEditor or ArcInfo license.
Step 5: Select the representation to change
Open the Layer Properties page for the C2 Military Operation lines and click the Symbology tab. Scroll down the symbol list until you find the Follow and Support symbol, about half-way down the list. Click on the symbol to select this representation rule. On the right you will see the layers that make up the symbol. It is composed of a stroke layer and two marker layers. Click the stroke layer tab to show the stroke layer properties.
Step 6: Add a dash effect
Click the button above the line properties to see the available geometric effects. In the Geometric Effects dialog box, click Dashes, and click OK. For more information about geometric effects see this help topic.
Click OK to close the Layer Properties dialog, and you’ll see the feature symbology change on the map.
Step 7: Share the COA
You can create a layer package to share the COA with your modified version of the Follow and Support symbol (planned status) with others. See the Help topic on saving layers and layer packages for more information on how to create and share layer packages. The layer package I created for this COA sketch can be found on ArcGIS Online.
Content supplied by Lorraine Funkhouser
Let’s suppose that I regularly command a small detachment that consists of two infantry platoons, a combat engineer squad, and two combat reconnaissance teams. I need to be able to share my order of battle and plans with my parent and subordinate commands.
I’m going to share these maps using layer packages. To do this, I’ve decided to download the Military Overlay layer package and tailor it to fit these units and my typical order of battle and planning needs. Weeding out the symbols I don’t need and creating a new, specialized layer package will save me time and effort later. The new layer package will also simplify the editing experience for my team, by limiting the number of available symbols. I’ll be able to send out layer packages that include the positions of units in my detachment and keep an empty template for my own use later. In this blog post I’ll show you how.
Step 1: Add units to the template
Before I add units to my display they need to be in my feature template.
The Military Overlay layer package I downloaded came with no units, so I’ll add three friendly unit templates: infantry platoon, combat reconnaissance team, and combat engineer squad. See this blog post or this Help topic for details on how to add new unit templates.
Step 2: Remove unwanted features from the template
I need some control measures in my template, but not all of the ones that came in the C2 Military Operations Area and Line feature feature classes. I’m primarily concerned with objective areas, so I’ll remove some of the others (like Assault Position and Assembly Area).
I’ll click the Organize Feature Templates button…
…and delete the unwanted feature templates.
Here is a picture of my Create Features window after I’ve cleaned it up.
Deleting feature templates this way removes them from the Create Features window. I’m removing the feature templates instead of removing the layers because if I happen to need them later, it will be much easier for me to add the feature templates if the layers are still present.
For example, suppose I need to have an Assault Position feature later on. I would open the Organize Feature Templates dialog, click the C2 Military Operations Areas layer, and click New Template.
The New Template wizard would start and I would see the available layers and templates. I’d choose the C2 Military Operations Area layer, where I’ll add the Assault Position template, then click Next. I wouldn’t want to add any duplicate templates, so I’d click Clear All and then check the templates that I did want to add (Assault Position).
I’d click Finish to add the template back to the Create Features window.
Step 3: Create features using the new template
Now that the feature template is tailored to my needs, I’ll draw some features on my map.
Editing military features is the same as editing any features in ArcMap. I just click on the feature template I want in the Create Features window and then draw on my map to add those features. Here’s the plan I’ve drawn.
Step 4: Prepare layers for packaging
After I’ve finished drawing my features I’ll add a description to the properties page of the layers I want to package, and then I’ll create a layer package to share my plan.
You can package a single layer, several selected layers, or a group layer. If your intent is to have a highly tailored template for your order of battle, you might just package the “Units” layer from the “Friendly UEI” group layer.
In this case I want to be able to quickly distribute a common operational picture (COP), so I’ll package the “Friendly Plan” group layer. This will package all of the layers and group layers contained within the group layer.
If you want to add layers that are not associated in a group layer, you can control-click them to select multiple layers to package. You can also create your own group layers and package them. Remember that if you create a new group layer, you will need to add a description to its layer properties page before it can be packaged. The package validation tool will catch this and give you a chance to add the description.
Step 5: Create a layer package
Once I’ve got the layers prepared, I’ll create my layer package. To do so, I right-click the Friendly Plan group layer and click Create Layer Package.
I’ll post this layer package to my ArcGIS Online account as “My OOB” so others can download and use it. I could also save a layer package to a local or network drive.
Since I’m distributing this data to give my parent and subordinate commands a COP, I’ll use the deafult type of layer package that contains the features I created. The layer package will include a file geodatabase of the features I created in the selected layers.
I’ll click the Validate button to check that the layer package is ready, and then click Share to create the package.
Once this is done, I’ll repeat the packaging process and save the layers in an empty “schema only” layer package. This will make it easy to create a set of empty feature classes that I can use later as the basis for multiple plans. I can also share it with my team, so we’ll all be working from the same simplified template.
Content provided by Derek Foll
So, let’s say you’ve downloaded the Military Overlay layer package and created military feature templates for your units. How will you get some existing data into those features?
In this blog post I’ll walk you through the process of taking a table of military units and putting them into a Units feature class. I’ll start by creating intermediate features, then I’ll match the attribute values between the input data and the military features geodatabase, and then I’ll use the Append tool to load the data.
Part One: Create intermediate features from a table
The first thing to do is convert the table into features; point features to be exact. If you already have points (or lines or polygons) you can skip this step. In this case I’ve got a table of units, called LocalUnits.dbf. This table contains the MGRS coordinate location for each unit, as well as a name and unit type. This is what it looks like if I open it up in a spreadsheet.
Since each unit has a coordinate value, I can represent the table spatially. I’ll use the Geocode Addresses tool to read the MGRS coordinates and convert the table to points.
To find the Geocode Addresses tool, I’ll use the ArcGIS Search window (To get there in ArcMap, click the Windows menu and click Search).
Click Geocode Addresses in the Search window to open the tool.
I’ll make LocalUnits.dbf my Input Table and select MGRS as my Input Address Locator.
The tool should pick up MGRS as the field name for these coordinates.
I’ll make the output a shapefile called LocalUnitPoints.shp, then run the tool.
Part Two: Match the schema
Now I’ve got some points that I can load into my Units features. Before I do this, I need to compare the field names of my source features, LocalUnitPoints.shp, and my target features, Units.
Why? If I don’t know how the field names of the source and target features match up, I could end up loading the points but not their attributes. If that happened I’d have a feature class of units, but no idea what units the points represented.
Let’s take a look at the LocalUnitPoints fields and the target Units fields. The original table had three fields: MGRS, Name, and UnitType. I just used the MGRS field in the geocoding tool to make these points, so I won’t need to keep it. The shapefile also has several additional fields created by the geocoding process (Status, Score, Match_type, etc.) that I won’t need.
The two fields I do need are Name and UnitType.
The Name field holds the unit names. In the Units feature class the field that holds this information is called UniqueDesignation. When I append the data I’ll make sure that the Name data will go into the UniqueDesignation field.
The UnitType field tells me the type of each unit. In the Units feature class, the SymbolName field holds this information. When I append the data from LocalUnitsPoints into the Units feature class, the UnitType data should go into the SymbolName field.
OK, now that I’ve determined how the field names match up, I need to make sure that the field values match. Why? Well, for one thing, both of the fields I’m interested in hold text; I couldn’t load that type of data into an integer field. The SymbolName and UniqueDesignation fields are also text fields, so that’s not a problem. However, the data in the SymbolName field is used by ArcMap to determine which feature template each military feature belongs to, and the symbol used to draw the feature.
If the values in SymbolName don’t match the template names, all of the features will be drawn with the generic “<all other values>” symbol.
So, let’s compare the input UnitType values to the feature template names that ArcMap will look for in SymbolName. Here’s the attribute table of LocalUnitPoints.
To see the values that have been assigned for the feature templates I’ll right-click on Units, point to Edit Features, and click Organize Feature Templates.
The right-hand panel shows the names of the feature templates that have been defined. These are the values that SymbolNames will need in order to automatically match the units to their symbols.
Comparing the values, I see that they are close, but not exact matches.
If I load the data as it is, the values will not match and the units will all be drawn with the <all other values> symbol.
Four of the values are close; I’ll fix these by changing the values in the LocalUnitPoints features. The fifth value “Engineer Platoon” doesn’t have a corresponding feature template in the Units features. The way to fix this is to add a new feature template for Engineer Platoons. Creating new feature templates for military features is covered in this blog post and this Help topic. I’ll go ahead and deal with the other problem, then load the data.
There are various ways to do this. For a small dataset I could simply edit the values, though that method doesn’t scale well; for larger datasets it can be time consuming and may introduce typographical errors. I could select all of the “Infantry Platoon” values and then calculate them to be “Infantry Platoon F”, repeating the process for each type of unit, but that would also take a while.
In order to get it done quickly, I’ll use the Calculate Field tool and a chunk of Python script to change the values to match the input templates.
To do this, I open the Calculate Field tool (I searched for it, like I did for the Geocode Addresses tool), set the Input Table to LocalUnitPoints, and the FieldName to UnitType.
Since I’m going to use my own Python script, I’ll set the Expression Type to PYTHON_9.3.
The Expression is:
The Code Block is:
if unitName == “Infantry Platoon”: return “Infantry Platoon F”
if unitName == “Armor Company”: return “Armor Company F”
if unitName == “Cavalry Platoon”: return “Cavalry Platoon F”
if unitName == “Air Defense Platoon”: return “Air Defense F”
else: return unitName
After I run the tool I can see the changed field values.
Part Three: Append the data
Now that the values match, I’m ready to add the data to the Units feature class. I’ll do that with the Append tool. I set the Input Dataset to LocalUnitPoints and the Target Dataset to Units.
Since the input and target dataset field names don’t match, I’ll use the NO_TEST option for Schema Type. This lets me manually match the fields.
To match a field, I right-click the target field name (UniqueDesignation) and click Add Input Field.
In the Add Input dialog box I choose the source field (Name) from the fields of the input feature class.
I use the same method to map SymbolName to UnitType.
After I’ve run the Append tool I can check the Unit table to see that all of the rows converted. Looking on the map, I can see that all but one of the units are drawn with their correct feature template symbol.
Check out the post on creating new feature templates to see the method you’d use to create the Engineer Platoon template. If you name it “Engineer Platoon F” (which would be consistent with the other templates), remember to update this feature’s SymbolName attribute to be “Engineer Platoon F” too.
Content provided by Matt Funk
In the defense and intelligence communities, CADRG and CIB data are two of the most common sources of basemap data. Mosaic datasets make it much easier to store, manage, and use these raster products. If you are responsible for making CADRG and CIB data available to users within your organization, then this blog will be of interest to you; I’ll be pointing out some key concepts and tips for storing CADRG and CIB in mosaic datasets.
Creating a mosaic dataset
First, you will need to create a new mosaic dataset within a geodatabase, which you can do using the Create Mosaic Dataset tool.
This tool only requires three pieces of information from you:
- the database in which to create the mosaic dataset (the Output Location)
- what to call the mosaic (the Mosaic Dataset Name)
- the coordinate system for the mosaic dataset.
In most cases you’re ready to run the tool after you’ve specified these.
The coordinate system of a mosaic dataset can be different from the coordinate system of the source data (CADRG and CIB data use WGS 1984). If it is different, then ArcGIS will project the source data on-the-fly to match the coordinate system of the mosaic dataset.
In some (rare) cases you might specify pixel properties for the mosaic dataset, though generally you won’t need to. If you don’t specify these values when the mosaic dataset is created, they will be defined based on the properties of the first raster added to the mosaic dataset. For CADRG and CIB data (single-band rasters with a color map) this will be 3-band/8-bit unsigned; the mosaic dataset framework maps CADRG and CIB data to 3 bands.
To display CADRG data correctly, the mosaic dataset must always be defined as 3-band; for storing CIB data, you could define the mosaic dataset as a single-band, however, CIB data looks better when the mosaic dataset is defined as 3-band. If you ever want to store RGB imagery in the mosaic dataset, you must define the mosaic dataset with 3-bands. Our recommendation is to always define the mosaic dataset as 3-band for storing CADRG and CIB data.
Adding CADRG or CIB data to a mosaic dataset using raster types
Once you’ve created the mosaic dataset you can add data with the Add Rasters To Mosaic Dataset tool. For CADRG or CIB data it is important to choose a raster type for the data you’re adding. This controls such things as what raster formats or products to add, and what metadata from the source raster to include in the mosaic dataset’s attribute table.
The generic raster type, Raster Datset, can be used to add any raster file format supported by ArcGIS. However, for CADRG or CIB data we highly recommend using the CADRG and CIB raster types, as they provide additional capabilities not offered by the Raster Dataset raster type. These include:
- Product filtering
- Metadata extraction
- Update logic
The CADRG and CIB raster types only handle these specific products so, for example, if you were adding data from a folder containing a mix of CADRG, CIB, and other raster formats and you selected the CADRG raster type when adding data, only CADRG raster datasets (any CADRG product) would be added to the mosaic dataset.
The CADRG and CIB raster types cause specific metadata to be extracted from each CADRG or CIB raster; the metadata is added as an attribute associated with the raster’s footprint in the mosaic dataset attribute table.
The CADRG and CIB raster types include update logic that handles duplicate datasets in a manner more appropriate for CADRG and CIB data (details in a future blog post).
Adding specific CADRG/CIB products
Sometimes you may only want certain CADRG or CIB products to be added to a mosaic dataset.
For example, you might have a folder of new CIB rasters that you want to use to update a mosaic dataset, or you may want to load just the Topographic Line Map (1:50,000) scale data into a mosaic dataset. In this case, you can specify which CADRG/CIB products to add.
There are three ways to do this:
You can limit the input workspaces to just those folders containing the CADRG or CIB products you want to add.
You can use the File Filter parameter on the Add Rasters To Mosaic Dataset tool to control which products are added based on file extensions.
For example, executing the tool with the file filter value shown here will add any Operational Navigation Chart (ONC) or Topographic Line Map 1:50,000 (TLM50) contained within the input workspace(s) to the mosaic dataset.
You can select the specific CADRG or CIB products to add to the mosaic dataset using the Raster File Formats Properties dialog. To do this in ArcMap (or ArcGlobe and ArcScene) click the Customize menu, click ArcMap Options, click the Raster tab, click the Raster Dataset tab, then click File Formats. ArcMap will ignore rasters with other file extensions during the data loading process. You can tell ArcMap to display all raster formats when you have finished loading the data.
Building Pyramids and Raster Statistics
The Add Rasters To Mosaic Dataset tool provides the option to build raster pyramids and raster statistics on the source raster data while the data is being added to the mosaic dataset.
For CADRG and CIB data there is no need to build pyramids, it doesn’t provide any additional performance benefits.
On the other hand, you should calculate raster statistics, because they’re required for some geoprocessing operations and rasters look better when statistics are calculated.
If you don’t calculate raster statistics when you add data to a mosaic dataset, you can calculate them later with the Build Pyramids and Statistics tool.
Storing rasters with multiple resolutions
CADRG and CIB raster formats have many different products of varying resolutions. Mosaic datasets let you store all CADRG or CIB products in a single mosaic dataset; as you zoom in and out of your map, the mosaic dataset draws the CADRG or CIB product that is applicable for that map scale (based on pixel size).
There are times when you may want to store some CADRG products in a separate mosaic dataset. For example, there are some CADRG products which share the same map scale (such as Topographic Line Map (1:50,000) and Combat Charts (1:50,000) or Joint Operations Graphic and VFR Terminal Area Chart). If these products are stored in the same mosaic dataset then you will run into the situation where only one product would draw for a given scale and area. One way to handle this is to store the CADRG products that have duplicate scales in separate mosaic datasets.
We’ll have more tips about working with military raster data in mosaic datasets in future blog posts.
Content provided by Eric Linz
I wanted to create the Course of Action (COA), shown here, using the military feature templates in the Military Overlay layer package.
I started by downloading the military overlay layer package. In order to add the array of both hostile and friendly forces, I defined new types of features in the Units layer. I was able to search for their symbols using keywords, such as mechanized, reconnaissance, rotary wing, and field artillery in the search field of the Symbol Selector dialog.
When I got to the four task-organized composition graphics, like this mechanized brigade, I constructed the symbols myself by adding a series of layers to a basic friendly unit frame. Here’s how to do it:
First: Define a new type of feature
Right-click the Units layer in the Table of Contents, point to Edit Features, and click Define new types of features,
then click the Change Symbol button to open the Symbol Selector dialog.
Second: Start building the symbol
Type “ground unit” in the search field to get a basic friendly frame and select Unit F as a starting point.
Third: Add graphic modifiers
Next, add the echelon graphic modifier to your feature. Click the Edit Symbol button in the Current Symbol section to open the Symbol Property Editor.
Click the Symbol Layers button (under Layers on the left hand side, second row, third button) to open the Symbol Selector dialog.
Type the word “modifiers” in the search box to show all of the available military modifiers. Select the desired echelon (Brigade in my case) and click OK.
Fourth: Add task organization symbols:
The next step is to add the task organization unit symbols. Click the Add Layer button (under Layers), change the type to Character Marker Symbol and select ESRI Default Marker as the font. If you are looking to add a mechanized infantry unit symbol, the filled square (Unicode 34) works well. Place it in the location you want by changing the x and y offsets. For my symbol, I used the filled square and offset it along the x-axis -5 points.
To add a second mechanized infantry symbol, I used the copy and paste buttons to add another layer to my symbol. For this one, I changed the offset to 5 points along the x-axis.
Click OK and close the Symbol Selector dialog.
Fifth: Name the feature and set default attribute values
In the Define New Feature Type dialog, name your new feature, and click Next.
The Value and Label fields are populated with the name you gave your feature in the previous panel. Type a name and label for the new category and click Next.
You can set default attribute values for new features created with this template. Symbol Name will be populated from the previous panel. I changed the echelon to Brigade since that is what I selected when I created my symbol.
Click Finish. You will be asked if you would like to define another type of feature. If you want to define another feature, click Yes. If you are finished defining your features, click No. Your new feature template will be created in the Create Features window and the symbol will appear in the table of contents.
If you don’t see what you need, create it.
Content provided by Lorraine Funkhouser
This blog post is intended as a quick introduction to the new ArcGIS 10 mosaic datasets for defense and intelligence. Later posts will get into the nitty-gritty details of how to use them for specific defense and intelligence related tasks.
Mosaic datasets are created in a geodatabase to manage small to huge collections of raster data. They’re a great solution for NITF, DTED, CADRG, and CIB rasters.
But, what makes them great? Well, that depends on what you do, so here are the top three reasons to use mosaic datasets, whether you’re interested in having basemap data for your map, analyzing terrain or imagery, or managing and serving up masses of data for others.
Viewing mosaic datasets:
Seamless viewing. You can create mosaic datasets from basemap data (like CADRG or CIB collections) that can be viewed in ArcMap or ArcGlobe as seamless layers.
Multi-scale data in the same mosaic dataset. You can create mosaic datasets of overlapping imagery or basemaps at multiple scales. The mosaic dataset will display the best resolution available for a given scale. You could create a basemap mosaic dataset containing all of your CADRG data (GNC, JNC, ONC, TPC, JOG, and TLM) for an area. Click the Play button to open a new tab with a brief animation zooming in to such a mosaic dataset.
Time-awareness. You can add multiple overlapping images collected over a period of time to a single time-aware mosaic dataset, and animate it to show change over time.
Analyzing mosaic datasets:
Image metadata. You can add multiple images to a mosaic and retain the NITF attributes for each image for query and use when you analyze that image’s portion of the mosaic dataset.
On-the-fly processing of the whole mosaic dataset, or of individual rasters.
You can apply functions, or function chains, to individual rasters or to the whole mosaic dataset to derive new analytical products on-the-fly. For example, you could apply a pansharpen or NDVI function to a single image raster within a mosaic dataset, or apply a hillshade to an entire DTED mosaic dataset.
A single set of source data can be used in several mosaic datasets to create multiple products generated on-the-fly (deriving aspect and slope for example).
Processing tools see the mosaic as a single dataset. The mosaic dataset is available to Spatial Analyst tools as a single raster dataset, so you can run a slope or viewshed analysis across multiple DTED tiles.
Managing mosaic datasets:
Rules for update. Most collections of basemaps, data, and imagery get updates or additions over time. You can control how updates get added to the mosaic, either replacing outdated data with new, or retaining both (as in the case of intelligence imagery) for comparison and detection of change over time. How? By loading the data using a “raster type”. When you load data into a mosaic dataset you can specify the raster type of the source data. We’ve provided specific raster types for CADRG, CIB, DTED and NITF data that specify appropriate update logic. You can also edit raster types to change band combinations for imagery, or add function chains to define how a raster will be processed for display.
No duplication. Mosaic datasets reference their source rasters location in the file system instead of duplicating them, so you don’t have to spend time and disk space physically loading rasters from a collection into a new database to make them part of a mosaic dataset.
No modification of source rasters. The source rasters stay where they are, and they don’t get modified, so they’re still available to legacy applications. Applying functions to rasters in a mosaic creates new products on-the-fly without changing the originals.
What are Military features?
Military features are ArcGIS features designed for use in military maps. They’re made for operations planners producing orders, intelligence analysts making reports, and emergency managers building support maps for relief operations. Continue reading
Are you fed up with manually translating your coordinate data between decimal degrees, UTM Meters, and MGRS coordinate strings?
We’re excited to report that ArcGIS 9.4 beta 2 (soon to be ArcGIS 10) supports the Military Grid Reference System (MGRS) as part of core ArcGIS.
Now you can get MGRS coordinates for a clicked location using the Identify tool or the Address Inspector tool,
and show the current MGRS coordinates in the ArcMap status bar as you move the pointer over the map.
You can also find locations from their MGRS coordinates using the Find Features tool, the Go To XY tool, and the Address Input text box on the Geocoding toolbar.
Because we’ve built an MGRS locator for the Geocoding tools, you can now geocode tables of MGRS locations to show the results in the map and create new feature classes. You can also reverse geocode a set of points to get a new point feature class with the MGRS locations stored as an attribute.
You can map MGRS locations with the ArcMap geocoding toolbar, or geocode in bulk with the geoprocessing tools. You can even use the MGRS locator to interpret partial MGRS coordinates, for example where the Grid Zone Designation or 100,000 Meter Square Identifier are left off. You can pick how you want the locator to fill in that missing information.
Last, but not least, now you can type MGRS coordinates in any of the editing tools that allow you to choose the units in which coordinates are entered, such as the Absolute X,Y tool and the Construct Geodetic tool.
We think that these enhancements will greatly streamline the collection, processing, and communication of location data for our Defense and Intelligence users.