All Projects Software Development

Migrating CEDRA's Decades-Old GIS Tool Suite from ArcObjects to ArcGIS Pro

Client: The CEDRA Corporation
Date: December 2024–April 2026
Technologies: ArcGIS Pro SDK, ArcObjects, ArcGIS Pro, Visual Basic .NET, .NET, Windows Forms

For nearly 40 years, The CEDRA Corporation has built and sold a suite of GIS tools that state and local government clients rely on for cadastral work, land development, water distribution, storm and sewer modeling. When Esri announced that ArcMap, the platform CEDRA's products extended, was being retired, CEDRA went looking for a way forward. According to every consultant that CEDRA spoke with before dymaptic, there was only one possible migration path: rewrite everything.

The Challenge: A Multi-Million-Line GIS Tool Suite Stuck on Retiring Technology

CEDRA's product suite was built on ArcObjects, the legacy ArcGIS SDK, and Visual Basic 6. The code base spanned multiple million lines, with roughly a thousand individual tools organized into toolbars that stretched all the way across the screen. Decades of institutional knowledge were embedded in that code base, including domain-specific libraries for parcel topology, land development workflows, and hydraulic modeling that the ArcGIS platform itself does not provide.

All of it was built on ArcMap, and ArcMap was being retired. ArcGIS Pro had matured enough to serve as the long-term successor, and the retirement date was set. For CEDRA, this was no routine upgrade. Both the company and its state and local government customers depended on the tool suite: a customer couldn't move their workflows to ArcGIS Pro until the CEDRA tools they used every day arrived there. CEDRA faced a deadline it couldn't control and a code base too large and too central to discard.

The original CEDRA Change Text Properties dialog box running in ArcMap, a tall Windows Forms panel of text size, annotation offset, decimal precision, and area extension parameters.

Before: the Change Text Properties dialog box in ArcMap

The same CEDRA Change Text Properties dialog box after migration to the ArcGIS Pro SDK, with identical parameters rendered in the modern ArcGIS Pro interface.

After: the same dialog box in ArcGIS Pro

The advice from outside consultants was uniform: scrap it and start over. A ground-up rewrite with multi-year delivery and a small fraction of the existing functionality returning in the first release. For a business whose products are mission-critical to their customers, that recommendation was the start of an existential question, not a viable plan.

Our Approach: Migration, Not a Ground-Up Rewrite

When CEDRA brought the project to dymaptic, our assessment was different. The advice we gave Nick Tonias, who leads CEDRA's development effort, was that a migration path existed. The decades of work and institutional knowledge in the code base did not need to be thrown out. Moving from ArcObjects to the ArcGIS Pro SDK was a significant shift. But the VB6-to-Visual Basic .NET move was less severe than the conventional wisdom suggested: ArcGIS Pro extensions can be written in Visual Basic .NET, not only in C#. That fact is not widely known, even among GIS developers.

The real question was not whether a rewrite was possible. It was whether a rewrite was the better path. For a code base of this size and depth, and with CEDRA's customers depending on continuity of the tool suite, the answer was no.

How dymaptic worked with CEDRA was as important as the technical call. CEDRA wanted to learn the new SDK, not outsource the migration. Nick wanted the work to stay on his team's machines, with his developers writing the final code. Our job was to help his team build the skills and resolve the hard technical problems as they hit them. The engagement model that fit was weekly remote pair programming, with CEDRA controlling the keyboard and our team troubleshooting alongside.

Our Solution: Sixteen Months of Weekly Pair Programming

For roughly sixteen months, a senior software engineer from dymaptic and Nick from CEDRA met weekly for two-hour migration sessions. Across 75 sessions, they worked through every layer of CEDRA's code base in turn, starting at the most foundational components and layering upward.

CEDRA's Establish a Parcel of Land dialog box in ArcMap, with the parcel definition drop-down list expanded to show options including Point and Auto-Search, Pick Elements, and Transcribe Deed with Table.

Before: the parcel definition drop-down in ArcMap

The migrated Establish a Parcel of Land dialog box running in ArcGIS Pro, with the same parcel definition drop-down list expanded over the Pro map view.

After: the updated drop-down in ArcGIS Pro

The first three months focused on CEDRA's own internal libraries, including cedGeom (a computational geometry library) and AVwraps (a method library whose API surface was originally inspired by the ArcView Avenue scripting language and has been carried forward through every generation of CEDRA's products). Those libraries underpin most of CEDRA's higher-level tools, so once they were running on the ArcGIS Pro SDK and modern .NET, the rest of the migration could proceed without recursive blockers.

One example from midway through the engagement shows how this approach worked. CEDRA's interface was built on Windows Forms, an older UI framework that ArcGIS Pro still supports but no longer recommends. The team found that when a Windows Forms dialog box opened, it would interrupt ArcGIS Pro's rendering cycle and freeze the screen. There was a textbook fix: convert the entire application to async/await, a ground-up change that would have meant rewriting the UI from scratch. This was unrealistic for a code base that had been synchronous for decades. Instead, the dymaptic team left the working parts alone and surgically converted only the hot paths to async with QueuedTask.Run. The dialog behaved, the map kept drawing, and nothing had to be torn down to get there.

The dialog fix kept what already worked and changed only what had to change. That solution reflects how the team approached the whole migration. Other consultants had looked at the same constraints and concluded the code base couldn't be saved. Dymaptic didn't. Finding a different path took real engineering judgment, a deep fluency in both the old stack and the new, and the discipline to pull the one thread that mattered instead of unraveling the whole thing. That is what saved CEDRA years of rewriting, and kept decades of institutional knowledge alive in the code base instead of discarding it.

The migrated CEDRA tool options on the AVcad Tools ribbon in ArcGIS Pro (click to enlarge)

Throughout the engagement, the team kept a running map of ArcObjects APIs to their ArcGIS Pro SDK equivalents. A comprehensive version of that mapping isn't readily available in one place, which made it one of the more valuable deliverables to come out of the project, and a resource CEDRA can keep using well beyond the migration.

The Result: A Tool Suite on Modern Technology, and a Team That Can Carry It Forward

By the final session, CEDRA had migrated a substantial portion of their tool suite and resolved the last outstanding technical blocker. Their team now has the knowledge to complete the remaining work and bring the ArcGIS Pro versions of the tools to their customers, without outside help.

What the approach saved, more than anything, was time. A ground-up rewrite to feature parity would have taken far longer, leaving CEDRA without a supported product in the meantime. Shipping a partial release sooner would have meant going to market with a fraction of their tools, risking a loss of customers to any competitor who got a full Pro version out first. Instead, CEDRA kept their full tool suite intact and their customers with them, on a clear path to ArcGIS Pro.

"Their experience developing with the ArcGIS Pro SDK saved us a tremendous amount of time and effort. After a year and a half, we can fly on our own. We actually feel comfortable developing with the ArcGIS Pro SDK."
Nick Tonias, The CEDRA Corporation

Frequently Asked Questions

What is CEDRA?
The CEDRA Corporation is a GIS consulting and software firm with nearly 40 years in business. They build and sell domain-specific GIS tools that extend the ArcGIS platform, including cadastral and parcel topology tooling, land development workflows, water distribution modeling, and storm and sewer modeling. Their primary customer base is state and local government.
Which Esri products and SDKs were involved in the CEDRA migration?
The migration was from ArcObjects, the legacy ArcGIS SDK used with ArcMap, to the ArcGIS Pro SDK on modern .NET. CEDRA's tool suite continues to be developed in Visual Basic .NET. The engagement also surfaced patterns for using Windows Forms inside ArcGIS Pro extensions where the recommended path is WPF.
Why didn't dymaptic recommend a ground-up rewrite like other consultants?
Other consultants treated the size and age of the code base as evidence that nothing could be salvaged. Our assessment was that the harder question was not whether a rewrite was possible, but whether it was the better path. For a multi-million-line code base with decades of domain knowledge baked in, with paying customers who depend on continuity, the migration path preserved value the rewrite would have discarded.
How long did the CEDRA migration take?
Approximately sixteen months of weekly two-hour pair programming sessions, totaling about 75 sessions. By the final session, CEDRA had migrated a substantial portion of their tool suite and had the knowledge to complete the remaining work independently.
How did the engagement work day to day?
CEDRA chose a remote pair programming model. All code stayed on CEDRA's machines. Nick Tonias granted remote control during each session, and our team worked through the technical problem of the day in CEDRA's environment while Nick observed, asked questions, and built up the knowledge to carry the work forward. This is not our most common engagement model. It is one we offer when the client's goal is to develop their own team's skill alongside the deliverable.
Can dymaptic help with similar ArcObjects to ArcGIS Pro migrations?
Yes. The software development team at dymaptic has done multiple ArcObjects to ArcGIS Pro SDK migrations, none of them at CEDRA's scale but many with the same shape: a legacy GIS extension or workflow that must move to ArcGIS Pro before ArcMap end of support forces the issue. Engagements range from full in-house development by our team to the side-by-side coaching model used with CEDRA.

An unhandled error has occurred. Reload X