
Figure 1
The EcoImpactMapper’s main window, here showing a reproduction of Micheli et al.’s [18] human impact map for the Mediterranean and Black Seas. The window contains a list of stressors, a list of ecosystem components, a list of model outputs, and a graphics panel displaying the spatial data (model inputs or outputs) selected by the user.
Table 1
The EcoImpactMapper’s most important classes.
| Class | Description |
|---|---|
| CsvTable | Handles reading and writing of model inputs, model outputs and project files as comma-separated value tables. |
| DataGrid | Regular floating-point data grid with basic statistical information (e.g. minimum and maximum of cell values). |
| SpatialDataLayer | Represents a spatial data layer, i.e. a stressor, ecosystem component or spatial index. Contains an instance of DataGrid with raw data, a list of preprocessing steps, a second instance of DataGrid with preprocessed data, and information about the data source. All spatial model inputs and outputs are instances of this class. |
| PreProcessor, GeneralProcessor, LogTransformer, Rescaler, IdentityProcessor | All preprocessing steps are represented by classes implementing the interface PreProcessor. They can extend the abstract class GeneralProcessor, which contains basic functions like getting the number of the preprocessing step’s parameters. As of July 2015, only two preprocessing steps are implemented: log(x+1)-transformation (class: LogTransformer) and rescaling so that a spatial data layer’s maximum is 1 (class: Rescaler). IdentityProcessor returns an identical copy of data passed to it and can be used for input data that do not require preprocessing. |
| GlobalResources | Contains static constants like a “no data” value and internal codes. |
| ImageCreator | Contains graphics functions, e.g. for creating images from instances of DataGrid. |
| ImpactIndex, DiversityIndex, StressorIndex, WeightedStressorIndex | These classes represent the respective model outputs and extend SpatialDataLayer. |
| MappingGrid | Stores information about the geometry of the project’s regular grid, and contains functions like creating a DataGrid from lists of world coordinates and associated grid values. A project’s instance of MappingGrid is created when the user loads the first spatial data set. It is the link between the spatial data’s coordinate reference system (referring to locations on the Earth’s surface) and the two-dimensional arrays used internally to store spatial data. |
| MappingProject | Abstract class with static variables and methods, representing the current mapping project. It contains lists of input and output data, as well as functions to save and load projects. |
| ImpactInfo, SensitivityScoreSet | Each instance of ImpactInfo represents a combination of stressor and ecosystem component with its sensitivity weight. A project’s sensitivity weights are stored in an instance of SensitivityScoreSet. |
| MainWindow | The main window. Also manages user interactions like mouse clicks. |

Figure 2
Workflow for creating human impact maps with the EcoImpactMapper.
Table 2
Artificial data for testing, available for download with the software.
| File | Description |
|---|---|
| testdata.xslx | Artificial spatial data in 4x4 grid and Excel calculations |
| testdata_table.csv | Artificial spatial data in 4x4 grid ready for loading into EcoImpactMapper |
| sensitivityweights_test.csv | Sensitivity weights ready for loading into EcoImpactMapper |
