Rebuild ArcGIS symbology, labels and layouts in QGIS
Test cartographic equivalence by scale and output; a similar-looking screen is not enough.
Editorial review: 2026-09-23
A map communicates categories, hierarchy and precision. Changing applications can change that meaning through line weights or label priorities even when geometry is identical. Use an approved output as the reference and record page size, scale, CRS, fonts and classification rules.
Separate data, rules and layout
Prepare copies of two or three representative layers. Include categorical data, numeric values and long labels. Export a table of class boundaries and labels from the original system. Do not recalculate quantiles by default: changed boundaries change the map's interpretation.
In QGIS, rebuild the renderer first: single symbol, categorized, graduated or rule based. Test nulls and unknown codes with a visible category. QML files preserve QGIS styles; SLD supports a useful server-oriented subset but does not automatically transport an entire ArcGIS layout.
Check the environment
Run this in the QGIS Python console to record the installed version and current project CRS:
from qgis.core import Qgis, QgsProject
print(Qgis.QGIS_VERSION)
print(QgsProject.instance().crs().authid())
The output should identify your installed release and expected project code. A correct code does not establish that every layer has the right source CRS. Inspect each source and compare known control points. For institutional cartography, document the selected datum transformation and availability of required grid files.
Rebuild labels and outputs
Configure the field or expression, priority, collision rules, visible scale range and size units. If the destination lacks the original fonts, install them under the appropriate license or agree a substitute. A label visible on the canvas may disappear in a PDF because of scale or available space; inspect both products.
Create the layout with explicit dimensions. Link the legend to the correct map and check automatically resized elements. Include a scale bar and the date of the data, not merely the export date. Export a PDF and a fixed-resolution image for comparison with the reference.
Acceptance test
Review the full extent and three details: a dense area, a page edge and a location containing null attributes. Check categories, units, orientation, legibility and legend membership. Automated image comparison can detect pixel changes, but cartographic review determines whether the changes are acceptable. Save the project, styles and font information with the review evidence. If an expression has no equivalent, describe its behavior and reproduce its result before releasing the map.
Separate cartographic meaning from file conversion
Inventory one representative map at three scales: overview, operational and detailed. For each layer record the classification field, category order, null treatment, symbol units, label expression, visible scale range and any externally supplied fonts or SVG symbols. A visually similar screenshot at one scale can conceal a different decision at another scale.
Create a small design table before rebuilding the style:
| Element | Example requirement | Verification |
|---|---|---|
| Asset status | Active: filled circle; review: outlined triangle | Both remain distinguishable in grayscale |
| Unclassified record | Visible neutral symbol | New code is not silently invisible |
| Text label | Asset code, optional condition | Null condition produces no stray separator |
| Road hierarchy | Ordering based on road class | Minor road does not cover primary road |
| Print scale | Agreed operational scale | Text and line widths remain legible in PDF |
Choose symbol units deliberately. Millimetres keep a stable printed symbol size; map units tie size to the territory represented. Translating an apparent screen width without recording its units is a frequent source of inconsistent exports.
Rebuild labels as expressions
For synthetic fields asset_code and condition, a QGIS label expression can avoid empty punctuation:
coalesce("asset_code", 'No code') ||
CASE
WHEN "condition" IS NULL OR trim("condition") = '' THEN ''
ELSE ' · ' || "condition"
END
Test the expression against a normal code, a null condition, an accented description and the longest realistic label. Set priority and collision rules according to the map's purpose. A missing label can be intentional suppression, not lost data. Inspect dense locations where several candidates compete.
Save reusable layer styling as QML and reload it against a second layer with the same schema. Then deliberately rename a referenced field in a disposable copy: the failure makes the dependency visible. If a map server is the target, separately test the server's supported styling format; a QML file is not a universal interchange contract.
Rebuild a layout with fixed comparison conditions
- Export the reference map with its page size, extent, scale and legend captured.
- Reproduce those values in QGIS before adjusting symbols. Comparing different extents wastes time on differences caused by framing.
- Add data-source attribution, date, CRS where relevant and a clear synthetic-data label for a lab output.
- Export vector PDF and a raster preview. Inspect clipping, transparency, legend ordering and missing font substitutions.
- Open the PDF on a machine that did not create it. Verify that links, text and page orientation survive delivery.
For an Atlas, use a stable page identifier and explicitly sort the coverage layer. Check the first page, last page, smallest feature, largest feature and a feature with no matching detail records. Confirm that a changed filter cannot silently exclude an expected page.
Decide what fidelity actually means
Agree which differences matter before spending time making two renderers pixel-identical. A cadastral code that is unreadable is material; a small anti-aliasing difference may not be. Record mandatory colors and symbols, minimum readable type, required page dimensions and accepted export formats. Have the person who uses the map approve the printed or delivered output.
For follow-on work, connect the saved style to the QGIS desktop pilot. The handover must include fonts and symbol assets only when their licenses permit redistribution. Keep evidence of those licenses alongside the actual project assets.
Sources and documentation
Next step
Continue in the Open GIS collection. For a specific project, use the total-cost calculator and request an assessment.