The Manage Airport Signs tool allows you to create or edit airport sign data and annotation. The tool meets the FAA's 18C specification (AC 150/5300-18C) for airport sign data storage through an easy-to-use interface. This interface shows a preview and provides integration with annotation creation and updates.
The functionality to view these signs in 3D is also included with the ArcGIS for Aviation solution. In the 3D Support folder in the install directory, there is a rule package that will allow you to render these signs in 3D using either the geoprocessing tools available in ArcScene or the procedural symbology inside ArcGIS Pro. See the documentation regarding using a rule package in the respective technology for more information.
Requirements for managing airport signs
To work with the Manage Airport Signs tool on the Aviation Airports toolbar, the following two feature classes must exist in the Airports database:
- AirportSign feature class—An existing point feature class within the Airports database.
- AirportSign_A feature class—This feature class must be created within the Airports database with a projected coordinate system applied.
Creating annotation feature class for storing airport sign annotations
- Create a new annotation feature class with the name AirportSign_A.
- Link to the AirportSign feature class.
- Set a Reference Scale of 1:1000.
- Ensure the new annotation feature class is using the Maplex Label Engine.
- Create two annotation classes, and label them Front and Back.
- Change the label field:
- For the back annotation class: AirportSignMsgBack
- For the front annotation class: AirportSignMsgFront
- Set the default font to SimHei, size 8.
- To enable the use of leader lines between the sign annotation and associated Airport Sign point click Leader and choose from the options.
- Uncheck Accent bar and reduce Gap to 0.00
- Set Placement Properties to determine initial annotation placement.
- Under Placement Properties, set the Position to South for the Front annotation class, and North for the Back annotation class.
- Un-check Stack label.
- Enter a Label Offset value of 50 points.
- Click Properties > Label Position > Label Offset
- Check the box to Measure Offset from the exact symbol outline.
- Add an SQL query to each annotation class to ensure the AirportSignMsg fields are not null or don't contain an empty string.
- For the Back annotation class: AIRPORTSIGNMSGBACK IS NOT NULL AND AIRPORTSIGNMSGBACK <> ''
- For the Front annotation class: AIRPORTSIGNMSGFRONT IS NOT NULL AND AIRPORTSIGNMSGFRONT <> ''
- Add the label expression to the Front and Back classes.
- Open Expression.
- Check the Advanced checkbox and paste the expression replacing the function already generated.
- Click Next on the next two dialog boxes.
- Click Finish to create the annotation feature class.
The annotation feature class to store the airport sign annotations is created in the geodatabase.
Function FindLabel ( [AIRPORTSIGNMSGBACK] ) 'For the Front annotation class, change to AIRPORTSIGNMSGFRONT
FindLabel = GetFormattedString ( [AIRPORTSIGNMSGBACK] ) 'For the Front annotation class, change to AIRPORTSIGNMSGFRONT
End Function
Function GetFormattedString(Text)
Set myRegEx = New RegExp
myRegEx.Global = True
myRegEx.IgnoreCase = True
myRegEx.Pattern = "\[(.*?)\]([^\[]*)"
Set myMatches = myRegEx.Execute(Text)
If myMatches.Count > 0 Then
For Each myMatch In myMatches
GetFormattedString = GetFormattedString & GetString(myMatch)
Next
Else
GetFormattedString = "Error"
End If
End Function
Function GetString(myMatch)
lSignType = CLng(myMatch.SubMatches(0))
Text = myMatch.SubMatches(1)
sBackground = "<BGD red='255' green='0' blue='0'>"
sTextColor = "<clr red='0' green='0' blue='0'>"
sFont = "name = 'SimHei'>"
sFontAirportSign = "name = 'Esri Airport Sign' size='9.5'>"
Select Case lSignType
Case 0: 'Direction sign
sBackground = "<BGD red='255' green='255' blue='0' left='2' right='2'>"
sTextColor = "<clr red='0' green='0' blue='0'>"
Case 2:
sBackground = "<BGD red='255' green='255' blue='255' left='2' right='2'>"
sTextColor = "<clr red='0' green='0' blue='0'>"
Case 3: 'Location sign
sBackground = "<BGD red='0' green='0' blue='0' left='2' right='2'>" 'Add inside bracket to create yellow border inside signs: outline_red='255' outline_green='255' outline_blue='0' outline_width='0.5' outline_margin='2'
sTextColor = "<clr red='255' green='255' blue='0'>"
Case 4: 'Mandatory sign
sBackground = "<BGD red='255' green='0' blue='0' left='2' right='2'>"
sTextColor = "<clr red='255' green='255' blue='255'>"
Case 5: 'No Entry sign
sBackground = "<BGD red='255' green='255' blue='255' width='-1' halo='.6'>"
sTextColor = "<clr red='255' green='0' blue='0'>"
sFont = sFontAirportSign
Text = "O" 'You can use the letter N for a no entry sign with text stating No Entry
Case 6: 'Runway Critical sign
sBackground = "<BGD red='255' green='255' blue='0' width='0' Valign='Bottom'>"
sTextColor = "<clr red='0' green='0' blue='0'>"
sFont = sFontAirportSign
Text = "IIII" 'Add the number of Is for as many repetitions as you need to see in the symbol
Case 7: 'Runway Distance Remaining sign
sBackground = "<BGD red='0' green='0' blue='0' left='2' right='2'>"
sTextColor = "<clr red='255' green='255' blue='255'>"
Case 8: 'Runway Safety Area Boundary sign
sBackground = "<BGD red='255' green='255' blue='0' width='0' Valign='Bottom'>"
sTextColor = "<clr red='0' green='0' blue='0'>"
sFont = sFontAirportSign
Text = "RRRR" 'Add the number of Rs for as many repetitions as you need to see in the symbol
Case 9: 'Taxiway End sign
sBackground = "<BGD red='255' green='255' blue='0' width='0' Valign='Bottom'>"
sTextColor = "<clr red='0' green='0' blue='0'>"
sFont = sFontAirportSign
Text = "T"
Case 10: 'Terminal sign
sBackground = "<BGD red='0' green='0' blue='255' left='2' right='2'>"
sTextColor = "<clr red='255' green='255' blue='255'>"
Case 11: 'Vehicle Stop sign
sBackground = "<BGD red='255' green='255' blue='255' width='-1' halo='.4'>"
sTextColor = "<clr red='255' green='0' blue='0'>"
sFont = sFontAirportSign
Text = "S"
Case 12: 'Vehicle Yield sign
sBackground = "<BGD red='255' green='255' blue='255' width='-1' halo='.9'>"
sTextColor = "<clr red='168' green='0' blue='0'>"
sFont = sFontAirportSign
Text = "Y"
Case Else
sBackground = "<BGD red='255' green='255' blue='0' left='2' right='2'>"
sTextColor = "<clr red='0' green='0' blue='0'>"
End Select
Text = Replace(Text, "�D;", vbNewLine)
If (IsNull(Text) Or IsEmpty(Text) Or Text = "") Then
Text = " "
End If
GetString = sBackground & "<fnt " & sFont & sTextColor & Text & "</clr></fnt></BGD>"
End Function
Custom Tags
The Manage Airport Signs tool uses custom tags within the lxp to display airport signs as they would look in the real world. Using the tags to change the look of signs gives display flexibility that is unique to airports and their needs.
- sBackground = "<BGD: tags to control the background for the sign.
- red - red rgb value for sign fill
- blue - blur rgb value for sign fill
- green - green rgb value for sign fill
- left - left margin spacing between sign box and text
- right - right margin spacing between sign box and text
- halo - point size of the halo surrounding the sign symbol (only applies to No Entry, Stop and Yield sign types)
- width - by default the annotation sign box has a black outline. Setting this to -1 removes outline completely. Setting this to 0 leaves an outline.
- Valign - controls vertical alignment of the symbol within the sign box (only applies to Runway Critical, Runway Safety Area and Taxiway End sign types)
- outline_red - red rgb value for outline within the sign border (specifically applies to Location sign type)
- outline_green - green rgb value for outline within the sign border (specifically applies to Location sign type)
- outline_blue - blue rgb value for outline within the sign border (specifically applies to Location sign type)
- outline_width - controls thickness of the outline within the sign border (specifically applies to Location sign type)
- outline_margin - controls location of outline within the sign border, whether closer to center of sign or closer to edges of the sign (specifically applies to Location sign type)
- sFont = sFontAirportSign: overrides the default font for the annotation with the Esri Aiport Sign font (only applies to No Entry, Runway Critical, Runway Safety Area, Taxiway End, Vehicle Stop, and Vehicle Yield sign types).
Managing settings
Displays the Annotation Feature Class settings. These may be changed to point to the correct Annotation Feature Class, and the correct attribute classes for the front and back of the signs. This only needs to be set once, so it may be minimized to allow room to configure other settings.
- Annotation feature class—The AirportSign_A feature class within the Airports database that will store the AirportSign annotation.
- Front Annotation Class—Used to display the Front message of the sign.
- Back Annotation Class—Used to display the Back message of the sign.
Managing AirportSign feature class attributes
The values in the fields are populated from the respective attribute fields in the AirportSign feature class. These values can be updated in the tool dialog box and saved in the geodatabase.
- Direction—AirportSignDirection field.
- Height Value—AirportSignHeightValue field.
- Purpose Code—AirportSignPurposeCode field.
- Type Code—AirportSignTypeCode field.
Managing sign previews (Front and Back)
The Front and Back previews provide a visual of how the sign will look in the annotation as well as the encoding that will be written into the database fields.
- Panels— A description of the AirportSignMsgBack and AirportSignMsgFront fields.
- Sign Type—Drop-down list containing approved types of signs.
- Text—The text messaging shown on the sign.
- Add Arrow—Allows for arrow text to be entered.
Creating new annotation for an airport sign feature
- ArcMap を起動します。
- Add the AirportSign and AirportSign_A feature classes.
- Ensure the data frame is using the Maplex Label Engine.
- On the main menu, click Customize > Toolbars > Aviation Airports.
- Select a single AirportSign point feature using the Edit tool on the Aviation Editing toolbar.
- Start editing the AirportSign point feature class.
- Click the Manage Airport Signs button on the Aviation Airports toolbar.
The Manage Airport Signs window appears; it is dockable and remains active while working within the map.
- Click the button to expand the section and ensure the selections are correct for the Annotation Feature Class, Front Annotation Class and Back Annotation Class options.
- If necessary click Direction to change the value for direction of the selected airport sign.
- If necessary click Height Value to change the value for the height of the selected airport sign.
- Optionally click the Purpose Code drop-down to select or change the purpose code of the selected airport sign point.
- Optionally click the Type Code drop-down to select or change the type code of the selected airport sign point.
- Click the Sign Type drop-down and select an option from the list.
- Enter the annotation text in the Text field.
- [追加] をクリックします。
- Repeat steps 14 and 15 to add additional Panels items to the sign annotation.
- If necessary highlight an item in the Panels and use the Up and Down arrows to re-order.
- Click Remove to delete any single Panels item.
- Repeat steps 14 through18 to generate a preview of the back panel annotation.
- If the front and back panel previews are satisfactory, click Create Annotation.
Annotations for airport sign are created in the AirportSign_A feature class and displayed on the map. Also, the attributes AirportSignMsgBack and AirportSignMsgfront in the AirportSign feature class are populated.
- Use Edit Annotation tool from the Aviation Annotation toolbar to make placement changes if needed.
- Use the tools on the Aviation Editing toolbar to save edits and end the edit session.
Editing airport sign data
- ArcMap を起動します。
- Add the AirportSign and AirportSign_A feature classes.
- Start editing on the AirportSign point feature class.
- Ensure the AirportSign feature to edit is selected.
- On the main menu, click Customize > Toolbars > Aviation Airports.
- Click the Manage Airport Signs button on the Aviation Airports toolbar.
The Manage Airport Signs window appears; it is dockable and remains active while working within the map.
- Click the button and ensure correct settings for the Annotation Feature Class, Front Annotation Class and Back Annotation Class options.
- If necessary, click Direction to change the value for the direction of the selected airport sign.
- If necessary, click Height Value to change the value for the height of the selected airport sign.
- Optionally click the Purpose Code drop-down arrow to choose or change the purpose code of the selected airport sign point.
- Optionally click the Type Code drop-down arrow to choose or change the type code of the selected airport sign point.
- For each of the front and back panels, click the Sign Type drop-down arrow and choose a sign type.
- If necessary, enter a description in the Text text box.
- Click Update to save changes.
- Click Remove to delete an item from the list.
The changes will show in the Preview.
- Click Apply.
Changes will be written to the attribute table.
- Refresh the map display to see the annotation changes.
- Use the tools on the Aviation Editing toolbar to save edits and end the edit session.
Adding new data to airport sign
- ArcMap を起動します。
- Add the AirportSign and AirportSign_A feature classes.
- On the main menu, click Customize > Toolbars > Aviation Airports.
- Start editing on the AirportSign point feature class.
- Select a single AirportSign point feature using the Edit tool on the Aviation Editing toolbar.
- Click the Manage Airport Signs button on the Aviation Airports toolbar.
The Manage Airport Signs dialog box appears; it is dockable and remains active while working within the map.
- Click the and ensure correct settings for the Annotation Feature Class, Front Annotation Class and Back Annotation Class options.
- If necessary, click Direction to change the value for the direction of the selected airport sign.
- If necessary, click Height Value to change the value for the height of the selected airport sign.
- Optionally click the Purpose Code drop-down arrow to choose or change the purpose code of the selected airport sign point.
- Optionally click the Type Code drop-down arrow to choose or change the type code of the selected airport sign point.
- For each of the front and back panels, click Sign Type drop-down arrow and choose a sign type.
- If necessary enter a description in Text text box.
- [追加] をクリックします。
- If necessary, highlight the Panels entry and use the Up and Down arrows to reorder.
The changes will update in Preview.
- Click Apply.
The new data is written to the attribute table.
- Use the tools on the Aviation Editing toolbar to save edits and end the edit session.