Commit 44e08ae2 authored by Jean Meurice's avatar Jean Meurice
Browse files

BasicSimulator V1.0

parent 59623044
Pipeline #155353 failed with stage
in 1 minute and 35 seconds
/target/*
.settings/*
.project
.classpath
.directory
.idea
.idea/*
*.iml
/target
*.pyc
*.DS_Store
install/*
dependency-reduced-pom.xml
\ No newline at end of file
#
#
# ******************************************************************************
# MontiCAR Modeling Family, www.se-rwth.de
# Copyright (c) 2017, Software Engineering Group at RWTH Aachen,
# All rights reserved.
#
# This project is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3.0 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this project. If not, see <http://www.gnu.org/licenses/>.
# *******************************************************************************
#
stages:
- build
masterJobWindows:
stage: build
script:
- mvn clean deploy -s settings.xml
- cd target
- ren "basic-simulator-*.jar" "basic-simulator.jar"
tags:
- Windows10
only:
- master
artifacts:
paths:
- target/basic-simulator.jar
branchJobWindows:
stage: build
script:
- mvn clean install -s settings.xml
tags:
- Windows10
except:
- master
masterJobLinux:
stage: build
image: maven:3-jdk-8
script:
- mvn clean deploy -s settings.xml
only:
- master
branchJobLinux:
stage: build
image: maven:3-jdk-8
script:
- mvn clean install -s settings.xml
except:
- master
# basic-simulator
# Basic Simulator
This project is a minimal setup running the MontiSim simulator in a local self-contained jar.
### Documentation Contents
- [Installing and using the Basic Simulator](docs/usage.md)
- [Maven Project tutorial](docs/maven.md)
- [Scripts tutorial](docs/scripts.md)
- [MontiSim overview](docs/montisim.md)
---
\ No newline at end of file
@REM
@REM
@REM ******************************************************************************
@REM MontiCAR Modeling Family, www.se-rwth.de
@REM Copyright (c) 2017, Software Engineering Group at RWTH Aachen,
@REM All rights reserved.
@REM
@REM This project is free software; you can redistribute it and/or
@REM modify it under the terms of the GNU Lesser General Public
@REM License as published by the Free Software Foundation; either
@REM version 3.0 of the License, or (at your option) any later version.
@REM This library is distributed in the hope that it will be useful,
@REM but WITHOUT ANY WARRANTY; without even the implied warranty of
@REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@REM Lesser General Public License for more details.
@REM
@REM You should have received a copy of the GNU Lesser General Public
@REM License along with this project. If not, see <http://www.gnu.org/licenses/>.
@REM *******************************************************************************
@REM
pushd %~dp0
call mvn clean install -s "settings.xml"
cd target
ren "basic-simulator-*.jar" "basic-simulator.jar"
copy "basic-simulator.jar" "..\install"
popd
\ No newline at end of file
Prev: [Installing and using the Basic Simulator](docs/usage.md) | Next: [Scripts tutorial](docs/scripts.md)
---
# Maven Project tutorial
*Comming Soon*
---
Prev: [Installing and using the Basic Simulator](docs/usage.md) | Next: [Scripts tutorial](docs/scripts.md)
Prev: [Scripts tutorial](docs/scripts.md)
---
# MontiSim overview
## Contents
- Project Structure
- Simulation project
- Vehicle
- Maps
- Simulator
- Autopilots
- RMIModelServer
- Basic Simulator
- Distributed System
- RPC
- Restful
*Comming Soon*
---
Prev: [Scripts tutorial](docs/scripts.md)
Prev: [Maven Project tutorial](docs/maven.md) | Next: [MontiSim overview](docs/montisim.md)
---
# Scripts tutorial
*Comming Soon*
---
Prev: [Maven Project tutorial](docs/maven.md) | Next: [MontiSim overview](docs/montisim.md)
Next: [Maven Project tutorial](maven.md)
---
# Installing and using the Basic Simulator
## Installation
This repository is a [Maven](https://maven.apache.org/) project.
In a folder (we recommend making a "MontiSim" folder containing all the cloned projects), clone the repository using the following in the terminal:
```batch
git clone https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/basic-simulator
```
This will create a folder named `basic-simulator` and download the contents of this repository inside.
> **NOTE**: To open a console rapidly in windows, type "cmd" in the navigation bar of the windows explorer and press *Enter*.
> Choose *Right Clic -> Open in terminal* on the folder under Linux.
>
> ![Select the navigation bar.](images/cmd1.png "Select the navigation bar.")
>
> ![Type in "cmd" then press Enter.](images/cmd2.png "Type in cmd then press Enter.")
To compile the Maven project, navigate to the cloned repository (`basic-simulator` folder) with the console and run:
```batch
mvn clean install -s settings.xml
```
This will execute the target "install" of the maven project which will compile, test and create a jar of the project then put it in the
**local maven repository**. More on Maven in the [Maven Project tutorial](docs/maven.md) section. The resulting
jar can be found in the `target` directory.
**NOTE**: Don't forget the `-s settings.xml` option. This tells Maven where the dependencies of the MontiSim project are located
(_in the **Nexus** of the Software Engineering Chair_).
The `build_install` script (*.bat* under Windows and *.sh* under Unix) will do this and copy the jar in the **install**
folder. This folder contains a script to start the simulator as well as a sample map, scenario and autopilot that can be
executed.
## Using the Basic Simulator
The compiled jar file can be executed with this java command:
```batch
java -jar basic-simulator.jar
```
This will open a window listing the available **autopilots**, **maps**, **scenarios** and simulation **results**. These are
located alongside the basic-simulator jar inside folders with the same names.
By selecting a **scenario**, you can press the "Start Simulation" button to run this scenario in the simulator.
![Scenario select.](images/usage.png "Select a scenario and press the button.")
**NOTE**: *Currently the output of the simulation is only shown in the console.*
You can start a simulation directly without interacting with the GUI by passing a scenario name as command line argument
to the simulator:
```batch
java -jar basic-simulator.jar straight
```
> *This would start a simulation directly with the scenario "straight"*
>
> *This can be used in a script as well*
## Scenario format
The Basic Simulator uses **JSON** scenarios. This is for easier prototyping and parsing of the scenarios. The scenario "straight" is a good
example of how to configure a scenario. For the complete configuration entries currently supported, look at the entries in the `BasicController.ScenarioSettings` enum.
The configuration specific to vehicles can be seen in `VehicleBuilder.VehicleSettings`.
## Working on Maven projects
- To easily work on maven projects, we recommend using the [IntelliJ](https://www.jetbrains.com/idea/) editor.
- To automatically import a Maven project inside IntelliJ, open the **pom.xml** file with IntelliJ (*Open with... -> IntelliJ*).
- You can enable "**Auto import**" in the IntelliJ settings (*File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Import Maven projects automatically*).
This will try to update the project when the *pom.xml* file is changed or Maven has downloaded new dependencies.
### Compiling
Compiling might not work in IntelliJ natively because of the complex dependency setup of the simulator. Because of this compile the project using
the Maven command (*mvn clean install ...*), the easiest is to have it in a script. (For the basic-simulator, the `build_install` script will do just that.)
To avoid running all the tests *when compiling for a small change* (**always run the tests before commiting/pushing**), add the **-DskipTests** argument to the
maven command. (`mvn clean install -s settings.xml -DskipTests`)
## Debugging the simulator
This setup of the MontiSim simulator is local and self-contained. This allows you to run the java debugger on the jar.
For this create a Run/Debug configuration that executes the jar and specify a folder in which to run it. (Ex: the *install* folder inside the basic-simulator project).
You can then start the simulator in normal or debug mode, set breakpoints and step through almost the entire code.
(**NOTE**: To step through the [Hardware Emulator](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/hardware_emulator) you need to attach a C++
debugger to the Java simulator process.)
> Example IntelliJ configuration for running the jar in the **install** folder (Automatically exported with the `build_install` script):
>
> ![Config1](images/config1.png "Select Edit configurations.")
>
> ![Config2](images/config2.png "Create a new JAR config.")
>
> ![Config3](images/config3.png "Select the jar and the working directory.")
---
Next: [Maven Project tutorial](maven.md)
\ No newline at end of file
<osm version="0.6" generator="Overpass API 0.7.55.4 3079d8ea">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2018-10-13T11:17:03Z"/>
<bounds minlat="50.8355300" minlon="5.8772300" maxlat="50.8380500" maxlon="5.8828800"/>
<node id="41955998" lat="50.8358227" lon="5.8812630" version="4" timestamp="2017-10-15T23:07:14Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="41956861" lat="50.8363407" lon="5.8809847" version="4" timestamp="2017-10-15T23:07:14Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="41957031" lat="50.8367570" lon="5.8805782" version="5" timestamp="2017-10-15T23:07:14Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="41957426" lat="50.8370597" lon="5.8803462" version="4" timestamp="2017-10-15T23:07:15Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="41958190" lat="50.8375791" lon="5.8801674" version="5" timestamp="2017-10-15T23:07:15Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="41958919" lat="50.8382483" lon="5.8801075" version="4" timestamp="2017-10-15T23:07:15Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="656503713" lat="50.8386647" lon="5.8801307" version="4" timestamp="2017-10-15T23:07:15Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="897050130" lat="50.8396308" lon="5.8800090" version="4" timestamp="2017-10-15T23:07:16Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="3763089970" lat="50.8360967" lon="5.8811536" version="2" timestamp="2017-10-15T23:07:19Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="3763089974" lat="50.8365828" lon="5.8807777" version="3" timestamp="2017-10-15T23:07:19Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="3763089977" lat="50.8369256" lon="5.8804405" version="2" timestamp="2017-10-15T23:07:19Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="3763089980" lat="50.8380199" lon="5.8801217" version="2" timestamp="2017-10-15T23:07:19Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="3763089984" lat="50.8390248" lon="5.8801401" version="2" timestamp="2017-10-15T23:07:19Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="3763089985" lat="50.8394048" lon="5.8801075" version="3" timestamp="2017-10-15T23:07:19Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="4188028027" lat="50.8355156" lon="5.8813333" version="2" timestamp="2017-10-15T23:07:19Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132156" lat="50.8372631" lon="5.8802547" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132157" lat="50.8374588" lon="5.8801943" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132158" lat="50.8376488" lon="5.8801556" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132159" lat="50.8377634" lon="5.8801401" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132160" lat="50.8379192" lon="5.8801283" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132209" lat="50.8385208" lon="5.8801156" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132210" lat="50.8384178" lon="5.8801090" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132211" lat="50.8383359" lon="5.8801052" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132212" lat="50.8387192" lon="5.8801382" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132213" lat="50.8387783" lon="5.8801422" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132214" lat="50.8388592" lon="5.8801410" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132215" lat="50.8389175" lon="5.8801387" version="1" timestamp="2017-10-15T23:07:04Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132216" lat="50.8391948" lon="5.8801462" version="1" timestamp="2017-10-15T23:07:05Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132217" lat="50.8393002" lon="5.8801377" version="1" timestamp="2017-10-15T23:07:05Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132218" lat="50.8393550" lon="5.8801236" version="1" timestamp="2017-10-15T23:07:05Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132219" lat="50.8394620" lon="5.8800854" version="1" timestamp="2017-10-15T23:07:05Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132220" lat="50.8395248" lon="5.8800599" version="1" timestamp="2017-10-15T23:07:05Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132468" lat="50.8354394" lon="5.8813385" version="1" timestamp="2017-10-15T23:07:02Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132487" lat="50.8356771" lon="5.8813069" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132488" lat="50.8358745" lon="5.8812507" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132489" lat="50.8359356" lon="5.8812319" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132490" lat="50.8359949" lon="5.8812078" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132491" lat="50.8360500" lon="5.8811809" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132492" lat="50.8361739" lon="5.8811017" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132493" lat="50.8363758" lon="5.8809612" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132494" lat="50.8364116" lon="5.8809352" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132495" lat="50.8364944" lon="5.8808645" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132496" lat="50.8365366" lon="5.8808253" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132497" lat="50.8366882" lon="5.8806556" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132498" lat="50.8368020" lon="5.8805358" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132499" lat="50.8368530" lon="5.8804947" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132500" lat="50.8370051" lon="5.8803797" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132501" lat="50.8371040" lon="5.8803179" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<node id="5170132502" lat="50.8371463" lon="5.8802976" version="1" timestamp="2017-10-15T23:07:03Z" changeset="52968702" uid="388804" user="Allroads"/>
<way id="6767361" version="9" timestamp="2017-10-15T23:07:20Z" changeset="52968702" uid="388804" user="Allroads">
<nd ref="5170132468"/>
<nd ref="4188028027"/>
<nd ref="5170132487"/>
<nd ref="41955998"/>
<nd ref="5170132488"/>
<nd ref="5170132489"/>
<nd ref="5170132490"/>
<nd ref="5170132491"/>
<nd ref="3763089970"/>
<nd ref="5170132492"/>
<nd ref="41956861"/>
<nd ref="5170132493"/>
<nd ref="5170132494"/>
<nd ref="5170132495"/>
<nd ref="5170132496"/>
<nd ref="3763089974"/>
<nd ref="5170132497"/>
<nd ref="41957031"/>
<nd ref="5170132498"/>
<nd ref="5170132499"/>
<nd ref="3763089977"/>
<nd ref="5170132500"/>
<nd ref="41957426"/>
<nd ref="5170132501"/>
<nd ref="5170132502"/>
<nd ref="5170132156"/>
<nd ref="5170132157"/>
<nd ref="41958190"/>
<nd ref="5170132158"/>
<nd ref="5170132159"/>
<nd ref="5170132160"/>
<nd ref="3763089980"/>
<nd ref="41958919"/>
<nd ref="5170132211"/>
<nd ref="5170132210"/>
<nd ref="5170132209"/>
<nd ref="656503713"/>
<nd ref="5170132212"/>
<nd ref="5170132213"/>
<nd ref="5170132214"/>
<nd ref="5170132215"/>
<nd ref="3763089984"/>
<nd ref="5170132216"/>
<nd ref="5170132217"/>
<nd ref="5170132218"/>
<nd ref="3763089985"/>
<nd ref="5170132219"/>
<nd ref="5170132220"/>
<nd ref="897050130"/>
<tag k="highway" v="unclassified"/>
<tag k="maxspeed" v="80"/>
<tag k="name" v="Haasstad"/>
<tag k="surface" v="asphalt"/>
</way>
</osm>
\ No newline at end of file
java -jar basic-simulator.jar %*
\ No newline at end of file
{
"type": "scenario",
"name": "LowFriction",
"max_sim_duration": 1,
"simulation_frequency": 10,
"time": "12:00",
"map_name": "straight",
"pedestrian_density": 0,
"cars": [
{
"name": "car1",
"physics_model": "modelica",
"start_coords": [5.88133850,50.8354390,0],
"target_coords": [5.8813333,50.8355156,0],
"autopilot": {
"autopilot": "AutopilotAdapter",
"os": "windows",
"no_time": true
}
}
]
}
{
"type": "scenario",
"name": "LowFriction",
"max_sim_duration": 60,
"simulation_frequency": 10,
"time": "12:00",
"map_name": "straight",
"pedestrian_density": 0,
"cars": [
{
"name": "car1",
"physics_model": "masspoint",
"start_coords": [5.88133850,50.8354390,0],
"target_coords": [5.8813333,50.8355156,0],
"autopilot": {
"autopilot": "AutopilotAdapter",
"os": "windows",
"no_time": true
}
}
]
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.rwth-aachen.se.montisim.simulators</groupId>
<artifactId>basic-simulator</artifactId>
<version>1.0</version>
<name>basic-simulator</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<montisim.version>2.0.0</montisim.version>
<montisim.simulation.version>2.0.1</montisim.simulation.version>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>montisim-simulation</groupId>
<artifactId>simulator</artifactId>
<version>${montisim.simulation.version}</version>
</dependency>
<dependency>
<groupId>montisim-simulation</groupId>
<artifactId>vehicle</artifactId>
<version>${montisim.simulation.version}</version>
</dependency>
<dependency>
<groupId>montisim-simulation</groupId>
<artifactId>sensors</artifactId>
<version>${montisim.simulation.version}</version>
</dependency>
<dependency>
<groupId>montisim-simulation</groupId>
<artifactId>environment</artifactId>
<version>${montisim.simulation.version}</version>
</dependency>
<dependency>
<groupId>montisim</groupId>
<artifactId>rmi-model-server</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>montisim</groupId>
<artifactId>commons</artifactId>
<version>1.0.7</version>
</dependency>
<dependency>
<groupId>montisim-controller</groupId>
<artifactId>library</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>montisim-controller</groupId>
<artifactId>navigation</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>osm4j-core</artifactId>
<version>0.0.18</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>osm4j-utils</artifactId>
<version>0.0.22</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>osm4j-xml</artifactId>
<version>0.0.3</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>osm4j-pbf</artifactId>
<version>0.0.7</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>osm4j-tbo</artifactId>
<version>0.0.9</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>osm4j-geometry</artifactId>
<version>0.0.14</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>adt-geo</artifactId>
<version>0.0.2</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>jts2awt</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>de.topobyte</groupId>
<artifactId>mercator-image</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>org.wololo</groupId>
<artifactId>jts2geojson</artifactId>
<version>0.6.0
</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.8
</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>