NoiseModelling is the name of the application that allows to calculate noise maps (notably through a Graphical User Interface). But did you know that it is also the name of different calculation libraries?
The documentation below presents the architecture of NoiseModelling with its different bricks and the ways to launch it:
- NoiseModelling libraries
- Database connection
- NoiseModelling with a Graphical User Interface (GUI)
- NoiseModelling with command line
- NoiseModelling with Docker
1. NoiseModelling libraries¶
NoiseModelling is made of 4 main librairies:
noisemodelling-emission: to determine the noise emission
noisemodelling-pathfinder: to determine the noise path
noisemodelling-propagation: to calculate the noise propagation
noisemodelling-jdbc: to connect NoiseModelling to a database
These libraries may be used independently of each other. Note that the
noisemodelling-jdbc library (JDBC = Java DataBase Connectivity) is central since it allows the three others to communicate with each other as soon as the data are stored in a database (which is the default situation).
2. Database connection¶
Thanks to the
noisemodelling-jdbc library, NoiseModelling can access and communicate with databases. This system is quite adapted to store, manage and process (spatial) data. Here, the user has the choice between to database (free, open-source and powerful) couples:
- H2 / H2GIS, which is configured and embeded by default. In this case, the user has nothing to do.
- PostGreSQL / PostGIS. In this case, the user has to configure the connexion (read “Use NoiseModelling with a PostGIS database” page for more information).
In both cases, database can be local or remote.
3. NoiseModelling with a GUI¶
In order for “WPS Builder” to communicate with the NoiseModelling libraries, we use a ‘bridge’ named GeoServer. This free and open-source software, allows (among other cool things) to execute WPS* scripts, written in Groovy language, via HTTP requests.
When launching NoiseModelling, Geoserver is started first. In your terminal, you will have a lot of log messages. Most of them are coming from Geoserver and are not directly linked to NoiseModelling. Unfortunately, we can not remove them.
You can see NoiseModelling with a GUI in action in the page “Get Started - GUI”.
4. NoiseModelling with command lines¶
You can use NoiseModelling with command lines. To do so,
- Open a terminal
- Go in the NoiseModelling directory
- Call the WPS .groovy script you want, with the needed arguments
.groovy script may be simple (the ones already provided with NoiseModelling, executing one task) or complex (tailor made by users and calling one or many
No need to launch / start the application as we do with Geoserver. Here the NoiseModelling libraries are called directly for each instructions.
Examples can be found in the page “Pilot NoiseModelling with scripts”.
5. Docker Setup¶
When a developer uses Docker, he creates an application or service, which he then bundles together with the associated dependencies in a container image. An image is a static representation of the application or service, its configuration and dependencies.
A docker image for the NoiseModelling v3.4.4 library has already been built by Tomáš Anda (Aka “tomasanda” - thanks to him!). Please visit his Github repository: https://github.com/tomasanda/docker-noisemodelling
This docker version is made with NoiseModelling v3.4.4 which is an old release. A news Docker version with the last NoiseModelling version may be made.