README.md 3.69 KB
Newer Older
1
2
# CityDoctor2

Riegel's avatar
Riegel committed
3
[![pipeline status](https://transfer.hft-stuttgart.de/gitlab/betzms/citydoctor2/badges/master/pipeline.svg)](https://transfer.hft-stuttgart.de/gitlab/betzms/citydoctor2/-/commits/master) [![Latest Release](https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2/-/badges/release.svg)](https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2/-/releases)
4

5
6
CityDoctor2 is a Java program for validating CityGML files. It checks whether certain criteria for e.g. geometries are met and outputs a report on the results.

Riegel's avatar
Riegel committed
7
8
9
10
CityDoctor2 supports version 3.0 of CityGML, with backwards compatibility for versions 2.0 and 1.0.

CityDoctor2 requires Java version 17 or higher.

Matthias Betz's avatar
Matthias Betz committed
11
12
## Homepage

Riegel's avatar
Riegel committed
13
14
The [CityDoctor homepage](https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/de/) contains detailed
installation instruction, as well as more information about the quality management process itself.
Matthias Betz's avatar
Matthias Betz committed
15

Matthias Betz's avatar
Matthias Betz committed
16
## Releases
17

Riegel's avatar
Riegel committed
18
19
20
21
22
23
24
25
The latest release of CityDoctor2 can be found under
the [Releases](https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2/-/releases) tab.

Prebuilt binaries of the latest releases of the validation library (CityDoctorValidation-x.x.x) and the graphical user
interface (CityDoctorGUI-x.x.x) can be found in
this [gitlab repository](https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctorreleases).

CityDoctor2 uses [Semantic Versioning](https://semver.org/).
Matthias Betz's avatar
Matthias Betz committed
26

Riegel's avatar
Riegel committed
27
### Older releases
Matthias Betz's avatar
Matthias Betz committed
28

Riegel's avatar
Riegel committed
29
Older versions of CityDoctor2, back to version 3.14.0, can also be found under Releases.
Matthias Betz's avatar
Matthias Betz committed
30

Riegel's avatar
Riegel committed
31
32
33
34
35
36
37
38
Versions older than 3.14.0 can be downloaded from the BHT
page [here](https://projekt.bht-berlin.de/citydoctor2/downloads/) or from a git
repository [here](https://gitlab.com/volkercoors/CiD4Sim/-/tree/master/CityDoctorExtension).

Versions older than 3.15.0 require a JDK/JRE with the JavaFx library.   
You can download a Java version with Javafx included from [here](https://bell-sw.com/pages/downloads/#/java-17-lts).

Versions older than 3.12.0 require Java version 8 or higher.
Matthias Betz's avatar
Matthias Betz committed
39
40
41

## Build

42
43
44
Use [Maven](https://maven.apache.org/) to build CityDoctor2.

```bash
Matthias Betz's avatar
Matthias Betz committed
45
cd CityDoctorParent
Luna Riegel's avatar
Luna Riegel committed
46
mvn clean install -P create-binaries 
47
48
```

Matthias Betz's avatar
Matthias Betz committed
49
CityDoctor2 uses the [quality ade plugin](https://transfer.hft-stuttgart.de/gitlab/betzms/qualityade). A jar is provided in a local repository for ease of use.
50

51
52
## Usage

53
Once built there is a CityDoctorValidation-\<version\>.zip file in the target folder of the CityDoctorValidation folder in which the CityDoctorValidation jar can be used to start the program.
54

Matthias Betz's avatar
Matthias Betz committed
55
56
There is a start script included in the binary releases of citydoctor. An example start command looks like this:

57
```bash
Luna Riegel's avatar
Luna Riegel committed
58
java -classpath libs/*;plugins/*;CityDoctorValidation-<version>.jar de.hft.stuttgart.citydoctor2.CityDoctorValidation -in <path-to-gml-file>.gml -config <path-to-validation-config>.yml -xmlReport <path-to-xml-output>.xml -pdfReport <path-to-pdf-output>.pdf -out <path-to-output-gml>.gml -db_location <path-for-database-file> -db_settings <path-to-database-settings-file>.properties
59
60
```

Riegel's avatar
Riegel committed
61
62
Notes:

Luna Riegel's avatar
Luna Riegel committed
63
64
65
66
67
- -xmlReport, -pdfReport, -out, -db_location and -db_settings are optional
- Paths will be resolved from CityDoctor's working directory
- See [DBSettings.properties](DBSettings.properties) for the formatting of the database-settings file
- The -db_location parameter takes precedence over the location set in the database-settings file
- The start scripts included in the binary releases have -db_location set to the system's temp directory
68

Riegel's avatar
Riegel committed
69
## Extension modules
70
71

Example extensions for CityDoctor are included in this repository, and can be found in the [Extensions subdirectory](./CityDoctorParent/Extensions)
72
alongside a short description for each respective extension.
73
74

## License
Matthias Betz's avatar
Matthias Betz committed
75
[LGPL](http://www.gnu.org/licenses/lgpl-3.0.de.html)