<commit_before>![build](https://img.shields.io/github/workflow/status/citygml4j/citygml4j/Build%20citygml4j?logo=Gradle)
![release](https://img.shields.io/github/v/release/citygml4j/citygml4j?display_name=tag)
[![maven](https://maven-badges.herokuapp.com/maven-central/org.citygml4j/citygml4j-core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.citygml4j/citygml4j-core)
[![license](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

# citygml4j - The Open Source Java API for CityGML
citygml4j is an open source Java library and API for [OGC CityGML](http://www.opengeospatial.org/standards/citygml).
citygml4j makes it easy to parse, process, and write CityGML datasets and to develop CityGML-aware software.

The library consists of a `citygml4j-core` module that provides Java classes for processing CityGML data based on
the [CityGML 3.0 Conceptual Model](https://docs.ogc.org/is/20-010/20-010.html), helper classes
for working with the model classes, and an extension API for implementing support for
[CityGML ADEs](https://docs.ogc.org/is/20-010/20-010.html#toc66).

Serialization modules on top of the core add support for parsing datasets with different file formats and encodings
into the model classes and writing them back out again.
- [`citygml4j-xml`](citygml4j-xml) provides the default GML/XML encoding and supports
  CityGML 3.0, 2.0, and 1.0.
- [`citygml4j-cityjson`](citygml4j-cityjson) adds [CityJSON](https://www.cityjson.org/) as encoding with
  support for CityJSON 1.1 and 1.0.

## License
citygml4j is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
See the `LICENSE` file for more details.

## Latest release
The latest stable release of citygml4j is 2.12.1.

Download the latest citygml4j release binaries [here](https://github.com/citygml4j/citygml4j/releases/latest).
Previous releases are available from the [releases section](https://github.com/citygml4j/citygml4j/releases).

## Contributing
* To file bugs found in the software create a GitHub issue.
* To contribute code for fixing filed issues create a pull request with the issue id.
* To propose a new feature create a GitHub issue and open a discussion.

## Building
citygml4j requires Java 11 or higher. The project uses [Gradle](https://gradle.org/) as build system. To build the
library from source, clone the repository to your local machine and run the following command from the root of the
repository.

    > gradlew installDist

The script automatically downloads all required dependencies for building the modules. So make sure you are connected
to the internet.

The build process creates the output files in the folder `build/install/citygml4j` with the following subfolders:
* `javadoc` -- the Javadoc documentation
* `lib` -- the citygml4j module files and mandatory dependencies
* `license` -- license information
* `samples` -- a collection of citygml4j sample programs

Simply put the citygml4j module files and the mandatory dependencies from the `lib` folder on your
modulepath to start developing with citygml4j. Have fun :-)<commit_msg>added note on maintenance mode of v2<commit_after>![build](https://img.shields.io/github/workflow/status/citygml4j/citygml4j/Build%20citygml4j?logo=Gradle)
![release](https://img.shields.io/github/v/release/citygml4j/citygml4j?display_name=tag)
[![maven](https://maven-badges.herokuapp.com/maven-central/org.citygml4j/citygml4j-core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.citygml4j/citygml4j-core)
[![license](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

# citygml4j - The Open Source Java API for CityGML
citygml4j is an open source Java library and API for [OGC CityGML](http://www.opengeospatial.org/standards/citygml).
citygml4j makes it easy to parse, process, and write CityGML datasets and to develop CityGML-aware software.

The library consists of a `citygml4j-core` module that provides Java classes for processing CityGML data based on
the [CityGML 3.0 Conceptual Model](https://docs.ogc.org/is/20-010/20-010.html), helper classes
for working with the model classes, and an extension API for implementing support for
[CityGML ADEs](https://docs.ogc.org/is/20-010/20-010.html#toc66).

Serialization modules on top of the core add support for parsing datasets with different file formats and encodings
into the model classes and writing them back out again.
- [`citygml4j-xml`](citygml4j-xml) provides the default GML/XML encoding and supports
  CityGML 3.0, 2.0, and 1.0.
- [`citygml4j-cityjson`](citygml4j-cityjson) adds [CityJSON](https://www.cityjson.org/) as encoding with
  support for CityJSON 1.1 and 1.0.

## License
citygml4j is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
See the `LICENSE` file for more details.

## Latest release
The latest stable release of citygml4j is 2.12.1.

Download the latest citygml4j release binaries [here](https://github.com/citygml4j/citygml4j/releases/latest).
Previous releases are available from the [releases section](https://github.com/citygml4j/citygml4j/releases).

Note that [citygml4j version 2](https://github.com/citygml4j/citygml4j/tree/citygml4j-v2) is in _maintenance mode_,
and we are focusing all of our attention on version 3 with support for
[CityGML 3.0](https://docs.ogc.org/is/20-010/20-010.html). This means that citygml4j v2 is not updated with new
features but at most receives critical bug fixes.

## Contributing
* To file bugs found in the software create a GitHub issue.
* To contribute code for fixing filed issues create a pull request with the issue id.
* To propose a new feature create a GitHub issue and open a discussion.

## Building
citygml4j requires Java 11 or higher. The project uses [Gradle](https://gradle.org/) as build system. To build the
library from source, clone the repository to your local machine and run the following command from the root of the
repository.

    > gradlew installDist

The script automatically downloads all required dependencies for building the modules. So make sure you are connected
to the internet.

The build process creates the output files in the folder `build/install/citygml4j` with the following subfolders:
* `javadoc` -- the Javadoc documentation
* `lib` -- the citygml4j module files and mandatory dependencies
* `license` -- license information
* `samples` -- a collection of citygml4j sample programs

Simply put the citygml4j module files and the mandatory dependencies from the `lib` folder on your
modulepath to start developing with citygml4j. Have fun :-)
{'fraction_non_alphanumeric': 0.0958924570575056, 'fraction_numerical': 0.027184466019417475, 'mean_word_length': 4.7923875432525955, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 26, 'lorem ipsum': 0, 'www.': 6, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3645694', 'n_tokens_mistral': 2175, 'n_tokens_neox': 2054, 'n_words': 721}