- Hotfix: Updated to citygson 1.1.2 to avoid unmarshalling of empty
"attributes"properties in CityJSON. Only a small fix and not really an error wrt. the CityJSON schema, but still I thought it's worth publishing a new release shortly after 2.10.3.
- Updated to citygson version 1.1.1.
- Added option to remove duplicate child geometries when mapping to CityJSON. citygml-tools #7
- Data types of generic attributes can be added as additional metadata property for CityJSON files.
- Fixed possible endless loop in CityJSON semantics builder. citygml-tools #8
- Reworked creation of geometries for CityJSON city objects with nested boundary surfaces. citygml-tools #7
- Added missing attributes to CityJSON city objects and semantic surfaces.
- Fixed bug in
DeepCopyBuilderwhen copying maps.
- Fixed
IndexOutOfBoundsExceptionifgml:Envelopeis declared but empty. citygml-tools #5 - Fixed converting
gen:measureAttributeto CityJSON. #22 - Added missing
Serializableinterface to model classes and interfaces.
- Updated to citygson version 1.1.0.
- This version reduces the memory footprint when reading CityJSON files.
- CityJSON content is released from memory while mapping to citygml4j objects.
- Added CityGML name filter to CityJSON reader.
- Fixed concurrency issues in
SchemaHandler. - Fixed unclosed texture coordinate rings in CityJSON to CityGML converter.
- Added support for CityJSON 1.0 by updating to citygson 1.0. Note that previous versions of CityJSON are no longer supported.
- Changed
CityJSONExtensionModuleinterface to account for the version number of CityJSON Extensions as introduced in CityJSON 1.0 (see change log).
- Added the generic
unsetProperty(ModelObject object, Object value)utility method to the classModelObjects. This utility method is useful in cases where you have an instance of a citygml4j model class and an instance of one of its properties, but you don't know whichunsettermethod to invoke on the model object to remove the property. - Added the
unsetLod(int lod)method toAbstractCityObject, which lets you easily remove all spatial properties from a city object that are associated with a given LoD level. - The
LodRepresentationclass now also contains spatial properties of city objects that are independent of a specific LoD level. It therefore provides you easy access to all spatial properties of a city object.- For features that are not derived from
AbstractCityObjectbut only fromAbstractFeature, the classSpatialRepresentationhas been introduced, which serves the same purpose.
- For features that are not derived from
- Added a flag to CityGML readers to skip unknown ADE content rather than mapping it to
ADEGenericElementobjects. - Moved the CityJSON 0.9 Gson binding from the citygml4j source code to its own
citygsonJAR library, which is now managed and maintained in a separate GitHub repository. The Gson binding is useful in its own right to parse and write CityJSON data independent of the citygml4j library. So, simply add the newcitygsonlib to your Java project if you just want to consume CityJSON data.
- Fixed bug in
SAXWriterthat led to missing namespace declarations in rare situations.
- The encoding to be used for CityJSON files can now be defined when creating a CityJSON writer through a
CityJSONOutputFactory.
- Changed
ADEContextAPI.getJAXBPackageNames()has been moved toADEModuleto be able to associate JAXB classes with CityGML versions.getADEMarshaller()andgetADEUnmarshaller()have been renamed tocreateADEMarshaller()andcreateADEUnmarshaller()
- Added
Moduleinformation toAbstractFeaturewhich is set automatically during unmarshalling.- This allows for easily querying the CityGML version of every feature (both CityGML and ADE) in a dataset.
- Breaking:
getCityGMLModule()has been removed fromCityGMLModuleComponentfor this reason.
- Added support for CityJSON version 0.9.
- This required reworking the Gson binding classes for CityJSON in
org.citygml4j.binding.cityjsonand a lof of changes to the CityJSON marshalling and unmarshalling process inorg.citygml4j.builder.cityjson. - Previous versions of CityJSON are no longer supported.
- This required reworking the Gson binding classes for CityJSON in
- Added support for CityJSON extensions.
- An
ADEContextcan now additionally implement theCityJSONExtensioninterface to facilitate a full mapping between CityGML ADE content and CityJSON extensions. - The NoiseADE citygml4j module version 2.4 is a first implementation
of the
CityJSONExtensioninterface. - Unknown CityJSON extensions can be mapped to CityGML generic city objects and attributes if no
CityJSONExtensionis available. - Added examples in
cityjson/handling_extensionsto demonstrate the new capabilities.
- An
- Added support for LoD0 curves for CityJSON transportation objects.
- Improved mapping of CityJSON attributes to and from generic attributes.
- Removed temporary information from citygml4j objects after CityJSON marshalling.
- Fixed unmarshalling ADE properties of
AbstractTextureParameterization. - Fixed CityJSON
"date-time"adapter. - Avoid invalid
gml:idprefixes inDefaultGMLIdManager. - Fixed Gson exception when writing empty JSON documents.
- Switched to JAXB 2.3.2.
- Removed
SMILfrom generated JAXB sources (never have seen a GML dataset using it...). - Replaced
com.sun.xsom:xsomlibrary withorg.glassfish.jaxb:xsom.
- Switched to JAXB 2.3.1 to avoid the following warning when running on Java 11:
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector.
- Fixed missing namespace declarations in
SAXWriter.
- Removed method
getADEModule()from theADEModelObjectinterface.- This method caused every
ADEModelObjectto be associated with oneADEModuleand consequently with only one CityGML version. - With this change, an
ADEModelObjectcan now be used for both CityGML 2.0 and 1.0.
- This method caused every
- Added
java.io.Serializableinterface to model classes. This allows for serializing and deserializing the state of citygml4j object trees without the need for writing and reading XML datasets. #18- See the sample program
serializing_model_classes/Serialization.javafor an example.
- See the sample program
- Fixed NPE in CityJSON appearance resolver.
- Fixed LoD bug in CityJSON BuildingUnmarshaller.