Hey there,
I’ve had a request to implement some better support for broken ExternalGraphic instances. At the moment, if a URL is broken (whatever the cause, no image), there is no great notification of this problem. The logs will contain messages like (one for each feature, ugh):
ERROR [lite.StyledShapePainter] - ShapePainter has been asked to paint a null style!!
One way to ‘work around’ this is to include a second ExternalGraphic in one’s SLD but this is not acceptable to me.
How does the idea of a ‘missing graphic’ feel? Like a simple icon or symbol with coloring to set it off? I made a very ugly ‘?’ ttf mark with green and red as a test but would settle for anything really
How about some type of per-request (not per-feature as it is now) logging about the specific missing URL? It’s possible to change log levels to help debug this but it can result in overwhelming output and does nothing to help detect this issue earlier (like a ‘missing’ icon or succinct log message might).
Another issue is that the renderer will continue to attempt to resolve the bad URL, once for each feature, resulting in annoying web traffic for both parties.
Any thoughts?
–
Ian Schneider
Software Engineer | Boundless
ischneider@anonymised.com