Integration
Integration
Theory
LuciadRIA integrates with LuciadFusion by consuming service endpoints such as WMS for raster map rendering and WFS for vector/feature retrieval.
Practical integration patterns
Pattern A: RIA consumes Fusion WMS
Use when:
- background maps
- rendered map layers
- tiled raster visualization
- performant display of map imagery
Pattern B: RIA consumes Fusion WFS
Use when:
- feature-level interaction is required
- query/filter/select/highlight/edit flows are needed
- client-side feature inspection matters
Pattern C: RIA consumes other service outputs
Additional service types include:
- WMTS
- WCS
- 3D Tiles
- HSPC
- LTS
Sample code: WMS integration
import {WMSCapabilities} from "@luciad/ria/model/capabilities/WMSCapabilities.js";
import {WMSTileSetModel} from "@luciad/ria/model/tileset/WMSTileSetModel.js";
import {WMSTileSetLayer} from "@luciad/ria/view/tileset/WMSTileSetLayer.js";
const wmsUrl = "https://fusion.example.com/wms";
WMSCapabilities.fromURL(wmsUrl).then(function(capabilities) {
const model = WMSTileSetModel.createFromCapabilities(capabilities, [
{ layer: "rivers" }
]);
const layer = new WMSTileSetLayer(model);
map.layerTree.addChild(layer);
});
Sample code: WFS integration
import {WFSFeatureStore} from "@luciad/ria/model/store/WFSFeatureStore.js";
import {FeatureModel} from "@luciad/ria/model/feature/FeatureModel.js";
import {FeatureLayer} from "@luciad/ria/view/feature/FeatureLayer.js";
import {LayerType} from "@luciad/ria/view/LayerType.js";
const url = "https://fusion.example.com/wfs";
const featureTypeName = "cities";
WFSFeatureStore.createFromURL(url, featureTypeName).then((store) => {
const model = new FeatureModel(store);
const layer = new FeatureLayer(model, {
label: "Cities",
layerType: LayerType.STATIC
});
map.layerTree.addChild(layer);
});