- Fixed the import of implicit geometries when import filters are used.
1.3.0 - 2026-03-09
- Added
ImplicitGeometryScopereader option to control how implicit geometries are shared between top-level features when reading CityGML/CityJSON files.GLOBAL(default): implicit geometries are parsed once and reused across all top-level features.TOP_LEVEL_FEATURE: implicit geometries are resolved per top-level feature and reused only within that feature. This mode produces self-contained features, simplifying parallel processing. A newReferenceResolverhelper class provides convenient access to referenced objects. With this mode, the resulting top-level feature structure matches that of the database export. #73
- Improved error handling when writing ZIP output files.
- Improved import performance for features having many appearances.
- Improved import performance for features with deeply nested sub-features.
- Removed
TextureImagePropertyandReferencefrom the data model. - Reworked
DatabaseAdapterinterface to simplify support for databases beyond PostgreSQL/PostGIS.
- Fixed an issue where the file name was not correctly retrieved from texture images provided as URLs.
- Fixed reading and importing duplicate sub-features within the same top-level feature.
- Fixed local references to library objects in CityGML exports.
- Fixed missing sub-features referenced from multiple parent features in CityGML exports.
- Fixed CityJSON export to avoid using newline-delimited
CityJSONSeqfor CityJSON version1.0. - Fixed loading of database and I/O adapters as external plugins.
1.2.0 - 2025-12-06
- Added a Java API for querying and processing feature changes from the
feature_changelogtable and aggregating them into change regions. - Added the placeholders
@file_path@,@file_name@,@content_path@, and@content_name@for the--lineageoption of theimportcommand, allowing file and ZIP entry paths and names to be imported as feature metadata. #70 - Added the
--creation-dateoption to theimportcommand to overwrite creation dates from the input files. #71 - Added
indexModeto the JSON configuration of theimportanddeletecommands. #67 - Added the
--compactoption to theinfocommand to generate a more concise database report. - Added methods to
PostgresqlAdapterfor retrieving the installed PostGIS and SFCGAL versions from the connected database.
- Unified JSON output of the
connectcommand with other commands. No JSON is generated in case of an error anymore. - Password prompting is now only supported if a console is available. Passwords are no longer read from
stdin. - Generic attributes are now grouped by feature types in the database report generated by the
infocommand. - Renamed the JSON schema
connection-status.schema.jsontoconnection-info.schema.json. - Updated
ModelObjectWriterto support thread-safe writing of model objects to a single file or stream. - Updated
ModelObjectReaderto support reading model objects into a list or consuming them in chunks. - Removed the
FeatureCollectionclass due to changes inModelObjectWriterandModelObjectReader.
- Fixed 2D spatial queries on
geometry_dataso they no longer fail when encounteringPolyhedralSurfacegeometries. - The CLI option
--import-modeno longer overrides the JSON configuration even when not explicitly set on the command line. - Fixed an NPE in the
infocommand when changelog tracking is enabled. - The
last_modification_datenow defaults to the current import time and is no longer tied tocreation_date. - CLI options for appearance or LoDs in the
exportcommand no longer overwrite a query in the JSON configuration. - Fixed start scripts to respect the 8191-character command line limit on Windows.
1.1.0 - 2025-08-24
- Added the
connectcommand to test connections to a 3DCityDB instance. This command supports optional JSON output, which can be written tostdoutor a file. #64 - Introduced the
infocommand for generating a summary report of 3DCityDB contents. Reports can be produced in JSON format and written tostdoutor a file for further processing. #61 - Added support for XSLT/XPath 2.0 and 3.0 to the
citygml importandcitygml exportcommands. - Added the
--outputoption to theindex statuscommand, enabling the index status list to be written as JSON tostdoutor a file.
- Updated and harmonized CLI options and their descriptions.
- Texture coordinates are now processed and represented as
floatvalues instead ofdouble. - Replaced the hard dependency on Apache Log4j with SLF4J as the logging abstraction for all API modules. #62
- Fixed support for time-based validity options in the JSON configuration.
- Fixed
countmethods inSqlHelperto generate correct SQL statements. - Ensured operands are properly cast to
geometryinSpatialOperatorHelperto prevent SQL exceptions. - Resolved
MVStoreException: Chunk not founderrors when resolving references during imports.
1.0.0 - 2025-03-17
This is the initial release of citydb-tool.