ArcGIS Pro Cartography Add-Ins
Two independent ArcGIS Pro extensions for focused cartographic tasks: connect one editable label to several point features, and resize supported contents of a live layout legend.
My contribution
I set the requirements for both add-ins, built them in C# with AI-assisted coding, and tested them iteratively, including selected native tests of earlier versions in ArcGIS Pro. The latest usability revision has not been tested inside ArcGIS Pro yet, and no production use or time savings have been measured.
Result: Both current Release builds pass with zero warnings and errors, and the local harnesses pass 48 checks: 27 for Multiple Leaders and 21 for Legend Scaler. Earlier versions passed selected native tests in ArcGIS Pro 3.7.2, including a label with three leaders, reconnecting an endpoint after a point moved, and resizing a legend frame with Undo.
Tools
- C#
- .NET 10
- WPF / XAML
- ArcGIS Pro SDK 3.7
- Cartographic Information Model (CIM)
- PowerShell
The latest label browser and usability revisions still require native acceptance testing in ArcGIS Pro. Multiple Leaders places graphics manually for point features in 2D maps, without automatic clustering, collision avoidance, or feature-linked annotation. Legend Scaler supports selected properties of ordinary live legends; symbol sizes controlled by map renderers are outside its guarantee.
Multiple Leaders: one label, several points
The user selects point features, enters shared text or reads a common string-field value, and clicks a label position. The add-in creates one native text graphic with leader lines to the distinct source locations. Source features and attributes remain unchanged.
The graphic stores its source membership and a data-connection fingerprint, so later edits validate that saved relationship rather than relying on whichever features happen to be selected.
- Manage Labels: choose an existing label by its text, source layer, feature count, and graphics layer, then move, resize, or reconnect it without first selecting it in the map.
- Move Label: place the text at a new location while rebuilding leaders to the original source features.
- Resize Label: change the text size with a numeric value or preset, a style sample, and current-to-new size feedback.
- Reconnect Leaders: refresh endpoints after source points move, keeping the label’s text, position, and styling.
- Guided creation: a live style sample, font and line-width presets, a character count, and sizes remembered during the ArcGIS Pro session.
Legend Scaler: percentage-based resizing
The user selects a live layout legend, chooses a percentage, and applies it to the original or a new live copy. The transform covers supported font sizes, gaps, symbol patches, item indents, frame dimensions, and selected effects within the legend definition. The legend keeps its live map connection.
- Presets for 50%, 75%, 100%, 125%, 150%, and 200%.
- A live explanation of how much larger or smaller the result will be.
- A before-and-after frame preview in the layout’s units.
- An explicit choice between a new copy and the selected legend, defaulting to a copy.
- Completion and overflow feedback, with Close available during queued work.
What native testing changed
Testing inside ArcGIS Pro exposed behavior that compilation alone could not establish. Moving a shared label required the native element anchor API rather than only changing the text graphic’s geometry, and cancelling placement required tool changes to happen after map-tool callbacks completed. Both findings shaped the implementation and its regression checks.
The usability revision added earlier validation, kept a label’s identity while it is being edited, and keeps unexpected recovery failures visible even after a dialog closes.
Tested so far, and still open
- Current versions: Release builds with zero warnings and errors, 27 and 21 standalone checks, ribbon configuration validation, package verification, and a layout review of the revised dialogs outside ArcGIS Pro.
- Multiple Leaders in ArcGIS Pro 3.7.2 (versions 0.1.3 and 0.1.4): one label with three leaders, reconnecting an endpoint after a point moved, resizing text from 12 to 18 points, moving to a clicked position, and single-step move and resize Undo and Redo.
- Legend Scaler in ArcGIS Pro 3.7.2 (version 0.1.2): 125% frame scaling from 5.5 × 4.25 to a displayed 6.875 × 5.313 layout units, restored by Ctrl+Z.
- Still open: native tests of the new label browser, revised dialogs, presets, and notifications, plus reconnect Undo, save and reopen behavior, and exported PDFs.
Technical details
Independent project · AI-assisted prototype · Multiple Leaders 0.1.5 and Legend Scaler 0.1.3, September 2026
A shared description may need to point to several map features. Maintaining the text and its leader endpoints separately makes later edits harder to manage. Layout legends present a related editing problem: changing their overall size can involve text, spacing, symbol patches, the frame, and fitting behavior.
- Package each task as an independent add-in with its own interface, implementation, checks, build process, and installable package.
- Build WPF/XAML interfaces over service code that performs GIS operations through ArcGIS Pro’s worker-thread queue.
- Use separate CIM builders and transformations for native graphics and legend properties.
- Store each shared label’s source membership and a data-connection fingerprint with the graphic, and validate that relationship before later edits.
- Validate the ribbon configuration and package each add-in with build scripts, without redistributing Esri runtime assemblies.