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:

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.