The LuciadRIA product comes as a collection of .zip files. You must extract them all to the same directory. After unzipping, you can:

  • Install LuciadRIA in your own project: see the Hello world tutorial for more information.

  • Browse the LuciadRIA documentation by opening the StartHere.html file.

  • Explore the LuciadRIA samples and source code.

Your installation consists of these folders and main files:

docs

Folder containing the LuciadRIA documentation articles, reference documentation and release notes.

licenses

Folder to hold the license file required to run LuciadRIA samples.

packages

Folder containing the code of LuciadRIA, organized as npm packages. See Npm directory structure for more information.

packed-samples

Folder containing the packed samples. When you run the startSampleServer script, a Jetty web server starts serving those samples.

sampledata

Folder containing geographic data that samples depend on, some GeoJSON files, for example.

samples

Folder containing the source code of the samples.

toolbox

Folder containing the source code of reusable components used in the samples.

sampleserver

Folder containing files needed for the Jetty server.

scripts

Folder containing various JavaScript scripts to help deploying the samples. See the Explore and edit the sample code tutorial for more information.

package.json

npm configuration file for the LuciadRIA distribution.

StartHere.html

Portal page that gives access to the different parts of the LuciadRIA distribution.

startSampleServer.bat/sh

Batch and script files that start a Jetty web server on localhost at port 8072 so that you can try out the pre-packed LuciadRIA samples.

Npm directory structure

The LuciadRIA distribution comes with one or more npm packages for the LuciadRIA API. You can find the LuciadRIA packages in the packages/ directory.

@luciad/ria

Provides the core LuciadRIA functionality.

@luciad/ria-geometry

Provides support for calculating constructive Boolean operations of 2D shapes

@luciad/ria-milsym

the Defense Symbology package that provides support for several military symbology standards.

Each package contains ECMAScript 6 (ES6) modules. An ES6 module is a code component that loads asynchronously under the ES6 specification.

Thanks to this fine-grained package structure, the users of your web application must only download the JavaScript code that the application requires.

Sample structure

Each LuciadRIA sample is also distributed as an npm package in the packed-samples folder. This means that you can find the npm dependencies of each sample in the package.json file located in the sample sub-folder.

The sample package.json files indicate that webpack is one of the requirements. Webpack is used for bundling and serving the LuciadRIA sample applications. We use webpack to bundle LuciadRIA, and ship that loader with the LuciadRIA distribution. You can still use another es6 loader, though.

The sample server included in the distribution is similarly configured. If you change or create files in the LuciadRIA distribution and run a sample application with webpack, you can test your modifications immediately on http://localhost:3001.

See Explore and edit the sample code for more information on how to edit and rebuild the samples.