Converting an ArcMap layer file into an SLD document

Most open source GIS programs can open all most common, and quite a few obscure data format (thanks to the gdal library). What they can’t open is the ArcMap layer files (.lyr).  A layer file defines the symbology used to draw the data when it is added to the display and stores information about the symbology, symbology classifications, labeling properties, scale dependency and definition. So what if a data layer is distributed with a layer file?

Well, most likely you’ll have to recreate the legend yourself. A bigger problem is if the data is distributed with the key attributes described in the .lyr file rather then in the attribute table. In other words, if it contains the classification of the layer.

A good example is the Terrestrial Ecoregions of the World data set distributed by WWF. It is available as a shapefile with two .lyr layer files that can be used to symbolize respectively the ecoregions and biomes. The layer file is indispensable; the attribute table only contains a numerical code for the biomes, while the layer file contains he corresponding classification. So without ArcGIS, you will need to recreate the legend and to somehow find out which number in the attribute table correspond to which biome.

If you happen to have access to a computer with ArcGIS, there is a tool that helps you to convert the layer file to a .sld file, ArcMap2SLD. It is a tool for reading out styling information from ArcMap and converting into Styled Layer Descriptor-Files (SLD). This is a OGC (Open Geospatial Consortium) standard for web map-service (WMS) symbolization. It is also a standard that can be used by QGIS.

WWF map of the 14 biomes of the world. For the legend, the original .lyr file was converted to a .sld file using ArcMap2SLD

Not an ideal solution, you still need access to ArcMap, but at least it makes it possible to convert ArcGIS layer files. It also means there is not really an excuse anymore to distribute your data with .lyr files only (and i.m.h.o. , it is always a bad practise to describe key map attributes in the legend file rather then in the attribute table).

And assuming WWF doesn’t mind, you can download two above-mentioned legend files  in SLD format here.


17 thoughts on “Converting an ArcMap layer file into an SLD document

  1. GiAnt-Man

    I’ve installed arcMap2SLD 1.3.0 on windows 7 with arcGIS 10.1, but it does’t work. It won’t star either!! Is there anyone who can explain me how to use that tool? I need to convert 3 .lyr file to .sld to use with Quantum GIS!! Thanks!

  2. Pingback: Over legendebestanden | FrisGIS by wvi

  3. Hello, I’m dealing with the same problem as most repliers here. Convert ArcGIS symbology to SLD format. Does anyone know if the solutions mentioned: Arc2Earth, ArcMap2SLD and GeoCat Bridge make a 100% percent conversion of the original: all colours, hatches, pointsymbos, linetypes, arrowhead. Are labeled features still labeled with the same text style (height, font, …). Do Arc2Earth, ArcMap2SLD and GeoCat Bridge work with ArcGIS 10.3 ??

      1. I have not tried out this tool, just checked if the link worked for me. And it does, it brings me to a page with working download link for the tools mentioned by Stas.

  4. french

    I also want to convert the *.Lyr to SLD but im using arcmap 10.2. Has anyone found a way to have a SLD suitable to this version?

  5. Steef

    Thanks pvanb. I checked again and I know the problem. There were some issues with the firewall, but I can access te website now.

  6. javier

    error “no se puede obtener los error “no se puede obtener los tipos del instalador en el ensamblado tipos del instalador en el ensamblado

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s