2.3.2 - 2024-08-15
- Fixed start script for UNIX/Linux and Docker.
2.3.1 - 2024-07-15
- CityGML
Section
andIntersection
features are no longer considered by theto-cityjson
command due to missing support in CityJSON.
LandUse
features were not converted to CityJSON using theto-cityjson
command.- Fixed mapping of closure surfaces to CityJSON. (#54)
- Fixed reading of CityJSON storeys and building units with the
from-cityjson
command. - Fixed support for the
linux/arm64
architecture in the citygml-tools Docker image. (#52)
2.3.0 - 2024-01-29
- The
apply-xslt
command now supports XSLT/XPath 2.0 and 3.0. - The citygml-tools Docker images are now available as GitHub packages in addition to Docker Hub.
- Breaking: Java 17 is now the minimum required version for running citygml-tools.
- Improved performance when resolving global references in the
to-cityjson
command.
- Inline appearances of implicit geometries in CityGML 3 are now correctly converted to CityJSONSeq.
- Fixed UTF-16 and UTF-32 encoding for CityJSON.
2.2.0 - 2023-11-03
- Added support for CityJSON 2.0 to the
to-cityjson
andfrom-cityjson
commands. (#50) - Added the
--map-lod0-roof-edge
option to theupgrade
command. Use this option to convert bldg:lod0RoofEdge properties of buildings in your CityGML 2.0/1.0 input files to individual RoofSurface objects having an LoD0 surface in CityGML 3.0. - Added support for geometry templates to the
from-cityjson
command when reading CityJSON files in JSON Lines format. The "geometry-templates" property must be placed in the "CityJSON" object on the first line of the file.
- Breaking: Renamed the
--write-cityjson-features
option to--json-lines
for theto-cityjson
command. - The
--map-lod1-multi-surfaces
option of theupgrade
command now creates aGenericThematicSurface
object for the entire LoD1 multi-surface rather than each surface member. - Child city objects that have no geometry after an upgrade to CityGML 3.0 with the
upgrade
command are now deleted. Only empty top-level city objects are kept. - The
to-cityjson
command now creates geometry templates for the "CityJSON" object on the first line and references them from the corresponding "CityJSONFeature" objects when the output is written in JSON Lines format. Replacing geometry templates with real coordinates is still supported with the--replace-implicit-geometries
option, but is no longer the default behavior. - The
.jsonl
file extension is used by theto-cityjson
command when writing CityJSON files in JSON Lines format.
- In a few scenarios, non-random identifiers were created for city objects that had no identifier in the input file. This has been fixed for all commands so that automatically generated identifiers are now random UUIDs. (#47)
- Fixed
upgrade
command to correctly createCityObjectRelation
links between top-level city objects sharing a common geometry. - Both the
to-local-apps
and thefrom-cityjson
commands now correctly set XLink references to appearances of implicit geometries when writing to CityGML 3.0.
2.1.0 - 2023-04-04
- Added a
--schema
parameter to thestats
command to load external XML schema files that are not referenced by the input files themselves. - Added a
--fail-on-missing-schema
parameter to thestats
command to let the operation fail in case elements of the input files are associated with a namespace for which no XML schema has been loaded.
- Breaking: The short option
-s
of thestats
command for generating an overall statistics over all input files has been renamed to-r
. The option-s
is now used as shortcut for the newly introduced--schema
parameter. This is also more consistent with other commands. - The
stats
command does not fail by default anymore in case elements of the input files are associated with a namespace for which no XML schema has been loaded. A warning is logged instead and the command returns with3
as exit code.
- Fixed
to-cityjson
command to write correct coordinate values when transforming coordinates to integers. (#31) - The namespaces of the CityGML 2.0/1.0 base profiles were reported to be unsupported.
- Fixed loading of ADE extensions using the
--extensions
option. - Avoid localization issues when internally converting strings to lower or upper case.
- Symbolic links in paths to input files are followed and
~
is automatically expanded to the user home directory.
2.0.0 - 2022-09-09
- Full support for parsing and writing CityGML 3.0 datasets encoded in GML/XML. Note that the GML/XML encoding of CityGML 3.0 is still a draft and has not yet been published as an OGC standard.
- New
upgrade
command that lets you upgrade your existing CityGML 2.0 and 1.0 datasets to CityGML 3.0. - New
stats
command to generate statistics about the content of your CityGML files. - New
subset
command to create a subset of top-level city objects based on user-defined filter criteria. - New
apply-xslt
command to modify your CityGML files based on XSLT transformations. - The
to-cityjson
andfrom-cityjson
commands now support CityJSON 1.1 in addition to CityJSON 1.0. Moreover, support for the new"CityJSONFeature"
object has been added to allow streaming of large CityJSON datasets. - Added a
--pid-file
option to create a file containing the ID of the citygml-tools process.
- The
move-global-apps
command has been renamed toto-local-apps
. - The command-line interface has been slightly changed for some commands, for instance, by renaming options. Make sure
to print the
--help
of each command before using it. - citygml-tools now requires Java 11 or higher.
- citygml-tools is now based on citygml4j 3.0.
- The
xml
subcommand of thevalidate
operation has been removed. Just use thevalidate
command to perform an XML validation of CityGML files. - The release of separate JAR libraries bundling some citygml-tools functionalities has been discontinued.
The changelog of previous citygml-tools releases before version 2.0 is available here.