LuciadFusion Studio comes with build-in support for a number of data formats (like SHP, GeoJSON, DTED, …​) which can be served to clients using OGC services like WMS, WFS, …​ . To support those formats and OGC services, LuciadFusion Studio requires functionality like:
-
An
ILcdModelDecoder
to decode the data sets intoILcdModel
instances -
An
ILcdGXYLayerFactory
to visualize those models so that the WMS service can send a rendered version of the data to the client -
…​
All those classes are retrieved using a service loader. The service loader mechanism is described in detail in the LuciadLightspeed documentation.
In short, services can be registered through the @LcdService
annotation.
The Java compiler processes those annotations so that they can be picked up at runtime by TLcdServiceLoader
, and used in the LuciadFusion Platform.
Make sure to enable annotation processing in your IDE. |
Thanks to this service loader mechanism, you can:
-
Customize the support for an existing data format or OGC service: register your own classes as service with a higher priority than the standard classes.
For example registering a custom layer factory for SHP data allows to customize the rendered version of the data that the WMS service sends to clients.
-
Add support for custom data formats: you can extend the number of formats that LuciadFusion Studio supports by plugging in your own instances (model decoders, layer factories, …​) for your custom format.
See Which LcdService services are used by LuciadFusion Platform for an overview of which classes and interfaces are retrieved through the service loader.