0

I have a large number of cloropeths stored in SLD and QML formats. QGis is unable to apply any of those, there is no option in the GUI for SLD, whereas it fails to apply QML files correctly.

Is there any way to use an externally defined choropleth in QGIS 3? Some way to convert QML or SLD to another format that QGIS understands? Or some plug-in that can apply the SLD standard?

Update I: The screen capture below shows the Load Style dialogue in QGis 3.4. Note that the SLD file is not shown in the list: the dialogue only lists .qml files, since there is no SLD option in the file type dropdown menu. If the SLD file name is inserted manually, the Open button remains greyed out.

enter image description here

Update II: From the comments to the answer below, it is apparent that the Style Load dialogue is different in Windows from what I get on Linux. A discussion is now open at the UbuntuGIS list.

Update III: the screen capture below was obtained in a different system, with QGis 3.10 installed on Fedora 29. As with QGis 3.4 on Ubuntu, the file type dropdown only contains the QML option and only .qml files are listed.

enter image description here

Update IV: the problem reported in this question can be verified with the OSGeo-Live 13 distribution. Load a map from /usr/local/share/data/raster and then follow Layer Properties > Symbology > Style > Load Style. The dialogue does not list SLD as a possible type, only QML. If an existing QML file is selected it is not applied correctly.

  • 1
    Wait wait... now you added a screenshot showing loading a style for a raster layer, and in that case, there is no support for loading SLD, I don't have it locally. To my knowledge, there never was, the code to parse a raster symbolizer is simply missing. I have it available only when the current layer is a vector. – Andrea Aime Nov 15 '19 at 16:08
  • 1
    Now that I look better, the first screenshot was about raster data too (there is part of the "band" word covered by the file chooser). That's another thing to add in the description, the question is specific to raster data. – Andrea Aime Nov 15 '19 at 17:36
  • The term choropleth automatically made everyone assume vector data. The screenshots show raster data but only if one looks at them very closely – underdark Nov 16 '19 at 16:50
  • At school a choropleth used to be a function mapping from the values domain to a colour system (e.g. RGB). I see that the definition here at SE is different: a map. But still I would argue it does not imply a particular data type. – Luís de Sousa Nov 16 '19 at 17:06
1

Change Files of type to SLD:

enter image description here

(The current filter only shows QMLs)

| improve this answer | |
  • 1
    I'm on Linux, QGIS 3.8, it also has a entry for "SLD" in the "Files of type" dropdown. Working as expected. – Andrea Aime Nov 15 '19 at 14:17
  • As you can see in the original picture, the SLD files do not show up in the list. That happens because that dialogue is being created for a single file extension: .qml. Therefore, the list you highlighted in red contains only the element you see. – Luís de Sousa Nov 15 '19 at 14:25
  • 1
    The original picture does not show what's inside the "Files of type" dropdown, only the currently selected format (QML). I would update the question stating that the "Files of type" dropdown only has an entry for QML. – Andrea Aime Nov 15 '19 at 14:43
1

After some discussion here and on Twitter the summary would be:

  • For vector data, there is both export and import using the SLD format
  • For raster data, there is no import of SLD, in any current or previous QGIS version, while export is available starting from QGIS 3.4.
| improve this answer | |
  • Indeed. And any hope of using legacy QML files with QGis 3? – Luís de Sousa Nov 19 '19 at 12:52
  • That is a different question.... however, I doubt it. – Andrea Aime Nov 19 '19 at 15:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.