North Road’s “SLYR” tool offers is the complete ArcMap to QGIS compatibility suite. Features include:
- Support for automatically converting MXD, MXT and PMF documents to QGIS projects, including:
- Support for converting vector and raster layers, with a very accurate match to the original ArcMap appearance
- Support for converting layer joins and relations
- Conversion of page layouts to QGIS print layouts with full support for multi-map page layouts using multiple data frames
- Converting data driven pages to QGIS print atlases
- MXD document metadata
- Conversion of ESRI LYR files to their QGIS equivalents (including symbology!)
- Reading and converting ESRI .style databases
- Seamless, integrated handling of MXD, LYR and other ArcMap documents within QGIS (e.g. via the QGIS browser panel and via drag and drop)
- A suite of powerful Processing algorithms for bulk conversion of ArcMap documents to QGIS formats
- Support for dragging and dropping layers directly from ArcMap or ArcCatalog to a QGIS window, respecting all the layer styling.
- Support for copy and paste of ArcMap page layout elements directly into QGIS print layouts
- Support for AVL style conversion
- Integrated support for ArcMap .dat bookmark files
- Support for converting ArcScene SXD documents to 2-dimensional QGIS maps
While the use of open-source software is widely accepted and respected within the geospatial industry, organisations are often restricted in their ability to completely embrace these powerful new tools due to the need to utilise existing projects and data from proprietary software vendors.
This is particularly an issue with the ESRI software suite, where organisations may have hundreds (or thousands!) of existing map documents and layer styles which they currently cannot utilise outside of the ESRI software ecosystem. Unfortunately, ESRI software is often prohibitively expensive, yet organisations cannot completely transition to alternative software packages due to their dependence on accessing their pre-existing work.
Furthermore, many providers of spatial data only include ESRI specific layer formatting files with their data supplies. This leaves users with no means of utilising these official pre-defined styles in non-ESRI tools.
The good news: North Road have been conducting extensive research and development, and are pleased to offer a product which allows use of these previously restricted formats within the open-source software environment!
This page describes our SLYR conversion tool and how you can purchase SLYR today!
Table of Contents
- SLYR functionality
- Open Source Pledge
- Purchasing SLYR
- What License Holders Get
- Symbology Conversion
- Vector LYR file conversion
- Raster LYR File Conversion
- MXD Conversion
- Future Work
The conversion tool targets numerous ESRI specific binary file formats, and is designed to allow seamless use of these files within the QGIS desktop application:
- “.style” databases: These database files store libraries of ESRI symbols (markers, lines, and fills), alongside other associated style objects such as color palettes, color ramps, legend presets, and text formats. SLYR supports conversion of .style marker, line, and fill symbols, color palettes, color ramps, text format, label settings and area and line patches to QGIS style databases
- “.lyr” files: These files contain both a layer’s definition (including the file or database path to the layer’s source data) and the associated symbology and layer settings to apply to that layer. LYR files can be added to an ArcMap document to automatically load and style data in a single step. Within QGIS, the “QLR” file format offers an equivalent functionality. SLYR adds direct support for LYR files within QGIS, and adds tools for automated batch conversion of LYR to QLR.
- “.mxd”, “.mxt” and “.pmf” documents: These map document files contain groups of layers, their styles, and print layouts for exporting the layers. The QGIS equivalent is a “QGS” project file. SLYR adds integrated support for opening and converting these ArcMap document formats within QGIS.
- “.dat” bookmark files: These files contain a set of ArcGIS spatial bookmarks. The SLYR tool allows them to be directly opened within QGIS and converted to QGIS spatial bookmark formats.
All formats are proprietary, ESRI specific binary formats. No specifications describing the formats have been publicly released, and the only currently available tools for working with these formats require access to an ArcGIS installation. Additionally, current tools are severely limited in their conversion functionality and require outdated ArcGIS software installs.
North Road have successfully reverse engineered these binary formats and created custom tools for extracting and converting these file types. These tools are available in our QGIS “SLYR” plugin, which is available today for QGIS versions 3.4 and later.
The SLYR plugin offers rich integration within the QGIS application, by adding common functionality like support for direct drag and drop of ESRI style, LYR, MXD and DAT files to the QGIS application window.
SLYR also exposes the ArcMap document conversion tools via QGIS “Processing Algorithms“. Exposing these tools as Processing algorithms allows users to utilise the conversion functionality as steps in QGIS graphical models, batch processes, and from PyQGIS scripts and other plugins, greatly improving their flexibility and allowing them be incorporated into wider workflows.
Open Source Pledge
North Road are passionate believers in the power of open source software, and have a history of extensive contributions to the open-source geospatial software stack! A community version of the SLYR plugin is now available through the QGIS plugin repository (and with source code available at https://github.com/nyalldawson/slyr). This community edition plugin has limited functionality compared to the licensed plugin.
While we fully intend to make the full SLYR plugin open source and freely publish the style/LYR/MXD conversion tools, we also require financial backing in order to support the significant time required to completely reverse engineer these file formats and develop quality tools supporting their use outside of the ESRI software ecosystem. Accordingly, the specifications and file parsing library will initially be closed source and available to SLYR license holders only. Exactly six months after we hit the pledged sponsorship levels for each stage of the project (see below), we will open-source that component of the code and update the community version of the plugin.
A SLYR license is a one-time cost, which covers unlimited use within a single physical office location. There is NO requirement to renew the license after a period of time — the one-time license purchase cost entitles you to all future SLYR updates and versions.
- International (non-Australian) entities: €1200
- Australian entities: AU$1600 (+10% GST)
To purchase the SLYR plugin, email email@example.com for further details.
What License Holders Get
SLYR workplace license
License holders are given immediate access to the current SLYR plugin. License holders also receive on-going access to the latest version of the plugin. (Non-license holders must wait until the open-source version of the tools are released which, as described under the “Open Source Pledge” section, occurs 6 months after each project stage is completed).
A SLYR license gives an organisation unlimited access to the latest version of the tools for a single physical workplace.
Additionally, license holders have access to priority support for the conversions tools from North Road.
Unfortunately, the ESRI binary formats are heavily dependent on the software version they have been created with, and occasionally we encounter versions of the .style/LYR/MXD files which have not yet been completely reverse engineered and supported by the SLYR conversion tools.
License holders will have access to priority support, allowing them to send unsupported file versions to North Road for analysis and inclusion in the conversion tools ASAP.
The support available to license holders will also extend to assistance with use and installation of the software.
SLYR symbology conversion functionality
SLYR offers conversion of a large range of ESRI symbol types to their QGIS symbology equivalent:
- Marker symbols: simple markers, arrow markers, character markers, picture markers, 3d marker symbols
- Line symbols: simple lines, cartographic lines, marker lines, hash lines and simple 3d lines
- Fill symbols: simple fills, line fills, marker fills, random marker fills, picture fills and gradient fills
The SLYR plugin exposes support for ESRI “.style” databases within the QGIS browser panel. When the plugin is enabled, .style files are shown when navigating through the browser. Double clicking these files opens a “style browser” window showing the symbols and color ramps embedded inside that .style file, allowing users to save the converted symbols to their local symbol libraries:
SLYR also adds Processing tools for working with .style databases, allowing symbol conversion to be executed in batches or included within graphical models:
Unsupported symbol types
The following ArcGIS symbol types or settings are not supported by QGIS:
- Marker halos
- Picture line symbols
- Rectangular gradient fills
When support for these missing features are added to the QGIS application itself, the SLYR plugin will be upgraded to add conversion support for them.
Open source pledge progress:
As described in Open Source Pledge, the community edition of the SLYR plugin includes this functionality.
Vector LYR file conversion functionality
The SLYR plugin adds direct support for working with vector LYR files within QGIS, allowing automatic conversion of common layer properties such as layer paths and symbology. LYR conversion does not rely on any external tools, and is not dependent on installation of any ArcGIS products!
When opening LYR files, SLYR automatically converts the following layer properties to their QGIS equivalent:
- Source layer file paths
- Layer visibility, including scale visibility ranges
- Layer transparency
- All ArcGIS vector renderers, including simple renderers, unique value, ranges, proportional symbols, dot density renderers, quantity by category, chart renderers (pie, bar and stacked), and scale dependent renderers. Basic support for representation renderers is also included (conversion of feature geometry overrides only).
- Marker rotation and size by attribute
- Label settings
(Note that some data sources which are used by LYR and MXD files, such as SDE databases, cannot be accessed by QGIS or other open-source tools. Whenever a LYR or MXD document points to an unreadable data source, the SLYR tool offers users the ability to redirect those layers to manually converted versions of these data sources)
When installed, SLYR offers tight integration of LYR file handling within QGIS, including:
- Dragging and dropping LYR files onto the main QGIS window automatically converts the LYR file in the background and adds the resultant layer to the current project, styled using the symbology and settings from the original LYR file.
- LYR files are shown within the QGIS browser panel. Double clicking these files converts the LYR file in the background, and loads the corresponding data file into the current project, styled using the symbology and settings from the LYR file.
- Right-clicking a LYR file in the browser allows for users to explore and extract any symbols found within that file, or convert the LYR file to a QGIS “QLR” file.
- Layers (or layer groups) can be directly dragged and dropped from an ArcMap window to a QGIS window, to add these layers to the current QGIS project (including all styling information)
- Layers can be directly dragged and dropped from an ArcCatalog window to a QGIS window
LYR conversion Processing algorithms
Additionally, SLYR adds several Processing algorithms for working with LYR file conversion. Like all QGIS Processing algorithms, these can be used within QGIS graphical models, batch processing modes, and in external scripts.
“Set Style from LYR File” Algorithm
This algorithm sets an existing QGIS vector layer’s style to match the style from a selected LYR file, replacing the layer’s current renderer in-place.
On launching the algorithm, users are asked to select a layer from the current project and a corresponding LYR file. The SLYR tool extracts the renderer settings from that file, including conversion of unique value and ranges renderers, and applies it to the selected project layer.
“LYR to QLR” Algorithm
This algorithm directly converts a LYR file to the corresponding QGIS QLR file. QLR files are a direct QGIS equivalent of ESRI LYR files, storing both a layer’s source and symbology.
“LYR to QGIS Style XML” Algorithm
This algorithm creates a QGIS Style XML database containing all symbols found within a specified LYR file. It allows users to select a LYR file, and obtain a “dump” of all symbols found within that file. The resultant QGIS Style XML database can be opened within the QGIS Style Manager and the symbols saved to the local style database.
Open source pledge progress:
As described in Open Source Pledge, this stage has been fully financed and will be included in the community edition of the SLYR plugin on 1st January, 2022.
Raster LYR file conversion
SLYR also has complete support for raster LYR files, including automatic conversion of raster unique values, classified, stretched color ramp, color map and RGB renderers!
All the methods supported for working with vector LYR files within QGIS also work for raster layers (e.g. support for dragging and dropping raster LYR files to QGIS, and exposing raster LYR files in the QGIS browser panel.)
Open source pledge progress:
As described in Open Source Pledge, we will release the SLYR vector LYR conversion functionality under an open source license 6 months after reaching this funding milestone.
MXD document conversion
SLYR has support for automatic ESRI MXD map document conversion. The MXD document format is an ESRI-specific format which includes sets of multiple layers (with their original styles), legend groups, and print layouts. Current functionality allows for conversion of all data frames and layers, page layouts, joins and relations, and metadata contained within a MXD document.
Existing functionality for working with MXD documents includes:
“Add Layers from MXD” algorithm
This algorithm, available from the Processing toolbox, allows users to select an input MXD document. The algorithm extracts all layers from the document, and adds them to the current project, keeping their original symbology from the MXD intact.
“Extract Print Layouts from MXD” algorithm
(Coming soon!) This new algorithm will accept an MXD document input, and extract all print layouts contained within that document into either the current project or to QGIS QPT layout template files.
“Convert MXD to QGS” algorithm
This final algorithm is the “holy grail”! It allows direct conversion of MXD files to their equivalent QGS project file, keeping as much of the original MXD settings as are translatable to QGIS project settings.
MXD Integration into QGIS application
When SLYR is installed, MXD document handling is tightly integrated within the QGIS interface. Specifically,
- MXD documents can be dragged and dropped to the QGIS window. This will convert the document in the background and open it as an equivalent QGIS project.
- MXD documents are shown within the QGIS browser panel, allowing them to be directly opened as new projects.
Open source pledge progress :
As described in Open Source Pledge, we will release the SLYR vector LYR conversion functionality under an open source license 6 months after reaching 30 additional project sponsors.
The SLYR tool also allows ArcScene “SXD” documents to be converted. These scene documents are currently converted to a 2-dimensional version of the scene.
Potential future follow up work will add support for MPK map packages and LPK layer packages. These formats will be exposed within the QGIS browser panel and will support drag and drop to the QGIS main window, much like the LYR and MXD functionality described above.
We also have plans to extend SLYR to support the newer ArcGIS Pro LYRX and MAPX formats, and expect this functionality to be implemented during 2020.