Inventory of what is used
Layers, domains, relationships, scripts, services and who consumes each service; what has an open-source equivalent and what doesn't.
Deliverable: inventory in CSV + list of decisionsOcto for moving off ArcGIS and MapGuide
GDAL reads and writes file geodatabases since version 3.6, QGIS reads ArcGIS REST services and MapGuide already publishes WMS and WFS: you can migrate gradually, with the old system still running. Octo builds the inventory, converts the collection with parity measured layer by layer, compares the published map pixel by pixel and extracts scales and filters from the old styles. What migrates, what stays and when to switch off stay with the technical lead, the cartographer and management.
Six possible deliverables, taken from the survey. All of them start by reading the old system without changing anything, and none switches anything off: the cutover is your team's decision.
Layers, domains, relationships, scripts, services and who consumes each service; what has an open-source equivalent and what doesn't.
Deliverable: inventory in CSV + list of decisionsogr2ogr layer by layer through the OpenFileGDB driver, with a log, without reprojecting behind the scenes.
Count, extent, sum of areas, invalid geometries and attribute hash, source against target, with an approved tolerance.
Deliverable: parity report by layerThe same GetMap on the old server and on GeoServer, box by box, with the fraction of differing pixels; a suspicious box goes to the cartographer.
Deliverable: comparison grid + side-by-side imagesReads the MapGuide Layer Definitions (VectorScaleRange, MinScale, MaxScale, Filter) and compares them with the QGIS project.
ArcPy and mapagent become PyQGIS, qgis_process, GDAL and WMS/WFS, with the result compared to the old script's.
The same Octo cycle, applied to migration. Each arm has a narrow role; people decide whether to migrate, what stays and when to switch off.
Licenses in use, layers, scripts, services, consumers of each service and features with no open-source equivalent.
Domains, relationships, subtypes and fields to GeoPackage or PostGIS; what doesn't fit is listed, not discarded.
Credentials kept out of scripts, services exposed on the new server, personal data in the collection and who gains access to it.
Inventory, pilot, data, services, desktop and scripts, cutover; and what stays on proprietary, if that's the case.
Conversions with a log, scripts rewritten in PyQGIS and GDAL, extraction of scales and filters from the old styles.
Count, areas and hash per layer; map compared pixel by pixel; each script's result matching the old one.
The old server stays up until each consumer confirms; it is switched off on the approved date.
What migrated, what stayed and why, accepted tolerances and who approved each step.
Octo works with read access and as support. It does not decide to migrate, switch off servers, choose a CRS transformation or approve maps.
The degree is this survey's assessment of how much of the work a tool solves, not a published measure.
| Origin | In proprietary | In open source | Degree | Note |
|---|---|---|---|---|
| ArcGIS | ArcGIS Pro / ArcMap | QGIS (LTR in production) | High | Layouts and atlases exist |
| ArcGIS | ArcPy, ModelBuilder | PyQGIS, qgis_process, GDAL, GeoPandas, QGIS model designer | High | Rewrite with compared results |
| ArcGIS | File geodatabase | GeoPackage or PostGIS | High | OpenFileGDB reads and writes since GDAL 3.6 |
| ArcGIS | Domains and relationships | GPKG domains and relationships, or constraints and keys in PostGIS | Medium | GPKG: domains since 3.3, relationships 3.6/3.7 |
| ArcGIS | Enterprise geodatabase | PostgreSQL + PostGIS | High | Versioning and replicas do not migrate as they are |
| ArcGIS | Topology, annotation, attribute rules | PostGIS topology, labels, triggers | Low | Separate project |
| ArcGIS | ArcGIS Server / Enterprise | GeoServer, QGIS Server, MapServer | High (OGC) | Esri REST is not OGC: clients change |
| ArcGIS | Field Maps, Survey123 | QField, Mergin Maps, ODK, KoboToolbox | Medium | Field data collection |
| ArcGIS | .lyrx, .mxd, .aprx symbology | QML, SLD; SLYR (limited free edition or paid) | Low | Cartographer approves |
| MapGuide | MapGuide / AIMS server | GeoServer, QGIS Server, MapServer | High (OGC) | MapGuide already publishes WMS and WFS |
| MapGuide | Map Definition | QGIS project | Medium | Groups and order redone |
| MapGuide | Layer Definition (XML) | QML or SLD | Medium | Scales and filters extracted by script |
| MapGuide | FDO Feature Source in a database or SHP | Direct connection to the same source | High | The data often doesn't need to migrate |
| MapGuide | Fusion / AJAX Viewer | OpenLayers, Leaflet, MapLibre GL | Medium | Web maps and tiles |
| MapGuide | mapagent API, Web API | WMS/WFS, OGC API, PyQGIS | Low | Calls rewritten |
| MapGuide | GETPLOT (DWF), QuickPlot | QGIS layouts and atlases in PDF | High | Batch printing by script |
Three steps. Each one only makes sense after the previous one has shown results on your team, and stopping at the first is already a valid answer.
A proposal, not a promise
Octo reads the old system and says what is used, what has an open-source equivalent and what doesn't.
One area or one project migrated with measured parity, a compared map and rewritten scripts.
Collection in batches with a report, services running side by side, consumers migrated one by one and cutover by the approved criteria.
Each point below has a source published by the project or by the organization responsible for the standard. The sources are in the next section.
5
points with a published source, each with its reference shown alongside.
Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.
Deliverable: material ready to checkThe licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: review by the signerOcto does not sign. Projects, technical reports, ART/RRT, accountability reports and any official document are still signed by the company's or agency's licensed professional: here, the technical lead for the map or the survey.
Signature: technical lead for the map or surveyOfficial project documentation and pages, repositories, the MapGuide list and the Layer Definition schema, consulted on Oct 31, 2026.
The assessment starts with an inventory of what the old system has and what is actually used, without changing anything. You get the equivalents, what has no equivalent and the decisions only your team makes, and you decide with them in hand.