<div dir="ltr"><div>Hi Eric<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 3, 2021 at 5:48 PM Eric Younkin - NOAA Federal <<a href="mailto:eric.g.younkin@noaa.gov">eric.g.younkin@noaa.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks for the quick reply.  This is for NOAA nautical chart symbology, following the s57/s52 spec.  You can see the symbology in the online viewer <a href="https://www.nauticalcharts.noaa.gov/ENCOnline/enconline.html" target="_blank">here</a>.  It is basically a very complex spec that we generated for display in a wxPython widget a long time ago using GDAL 1.x commands.  S57 is already an existing OGR driver, although I do not know what exactly that driver does.  I do know that it does not somehow generate the symbology of the data for you to then render.<div><br></div><div>The vector data would be a combination of area/line/point features, and I don't think it would be a fit for the Mesh layer.</div><div><br></div><div>We'd like to make this symbology available in QGIS, so that users can drag in a s57 file and view the chart.  You can use one of our WMS services, but having the file support would be useful.  Ideally in a plugin layer, so that I can also use it in our other apps that use PYQGIS <font color="#000000">QgsMapCanvas widgets.</font></div></div></blockquote><div><br></div><div>Thanks for more background. In this case the mesh layer indeed is not useful. I have not worked with S57 before, but if there is OGR driver available, it should be relatively easy to load and style the data without a plugin layer. You do not need to rely on styling provided by OGR (if provided at all). It looks like you only need to load the data as a bunch of vector layers using OGR (one for each object type) and then apply styling to those individual layers. Styling of vector layers in QGIS is fairly strong, with features like rule-based rendering, data-defined properties and geometry generators you can handle even very complex styles. After preparing individual styles for vector layers, you can save them to .qml files, and then your plugin would have just a simple task of taking the input file(s), load layers and apply saved styles.<br></div><div><br></div><div>I would resort to writing a custom plugin layer only when when all other options fail - it is more complex, and generally the user experience is not great.</div><div><br></div><div>Regards</div><div>Martin</div><div><br></div></div></div>