README.md 3.31 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
46
47
48
mvn install
```

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
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
59
60
```

Riegel's avatar
Riegel committed
61
62
63
64
65
Notes:

- -xmlReport, -pdfReport and -out are optional
- If a ZIP file is given as input, CityDoctor2 will check all contained CityGML files. The -out parameter is required in
  this case
66

Riegel's avatar
Riegel committed
67
## Extension modules
68
69

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

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