- The command
medata_removewas renamed tometadata_extended_removeand can be used to remove the deprecated extended metadata from older files - Fixed the
texture_updateandtexture_locatecommands and also thesavecommand with the--textureflag. - Fixed the conversion from .poly input when the file has comments or 1- index.
- Fixed
get_normal_newell(poly)to reject faces with > 3 points
- More tests and coverage
- lint and format github action
- --digit option for reprojections
- Support for extended metadata: specifically the commands
metadata_createandmetadata_update - All API functionality is deprecated: cjio.models and some functions from cjio.cityjson have been removed. Also all related tests.
- now CityJSON v2.0 is the default version
- fixes for gltf export
- fix the cjio subset and children
- added an upgrade ops for v2.0 files
- Removed the emojis in the console output for the function 'info'
- Added the
translateparamter tocityjson.compressto manually set the tranlation properties instead of computing from the data. - The
cityjson.cityjson_for_featuresandcityjson.generate_featuresmethods.
to_glbsets a root transformation matrix for z-up to y-up, instead of swapping the vertex coordinates directly.- Takes a
do_triangulateargument to completely skip triangulation. - Compute (smooth) normals.
- added functions for reading/writing CityJSONL (CityJSONFeatures) from stdin/stdout, so cjio can be part of a pipeline of operators processing 3D city models 🚀
- many small bugs fixed
- The function that used an API are going to be deprecated in the upcoming releases, because the cjio API is under refactoring. The affected functions are
cityjson.save,cityjson.load,cityjson.save,cityjson.load_from_j,cityjson.get_cityobjects,cityjson.set_cityobjects,cityjson.to_dataframe,cityjson.reference_geometry,cityjson.add_to_jand all members of thecityjson.modelsmodule. There is a new cityjson library under development, called cjlib, which will replace the relevant parts in cjio.
- cjvalpy >=v0.3 is required to use the latest schemas (v1.1.2)
- fix the parsing of the validation string
- Subset more than one CityObject type (#9)
models.Geometry.reproject()for reprojecting dereferenced geometry boundaries- Read from
stdinand save tostdout --suppress_msgto suppress all messages. Required when saving tostdout
- Subset with BBOX does not modify the input model anymore (#10)
cityjson.load()does not fail on aGeometryInstance, however it does not load it either (#19)- Fixes to the glb exporter (#20, #57, #83), and fixed the coordinate system
textureandmaterialare correctly removed from the geometries of the CityObjects withtextures/materials_removevertex-textureis removed from the CityJSON withtextures_remove- Docker image build (#77, #132)
- Other minor fixes
- Export format is an argument, not an option (#35), e.g.
cjio ... export obj out.obj - NumPy is a hard requirement
- Require pyproj >= 3.0.0 (#142)
- Refactor warnings and alert printing (#143)
- crash with new version of Click (>=8.1) (#140)
- templates for bug reporting
- STL export (#127)
- String representation of the CityJSON class works again
- save operator was crashing for unknown reasons sometimes, this is fixed
- Minimum required CityJSON version is 1.1
- Many operators names changed, it's now "property-verb", so that all the operators related to textures for instance are together
- The metadata are only updated (with lineage) when there is a metadata-extended property in the file, otherwise nothing is modified
- The schema validator (operator
validate) is not written in Python anymore and part of cjio, it's using cjval and its Python binding (which needs to be installed). The validator is several orders of magniture faster too
- A new operator
triangulatethat triangulates each surface of the input (de-triangulate coming soon)
- Several bugs were fixed
- Loading a file with
cityjson.load()removes thetransformproperty from the file
- Minimum required Python is 3.6
- Click option is set to None when empty (#99)
- Loading breaks on inconsistent semantics (#102)
- extract_lod doesn't work with the improved LoD (#80)
- Added
CityJSON.load_from_j - Make transformation the default on loading a cityjson
CityJSON.add_to_jincludesreference_geometry, no need to call it separately
- version with schemas 1.0.3 (where metadata schema is fixed)
- fix bugs with operators
update_metadata_cmd()andget_metadata_cmd()crashing
- fix bug about datetime in schema but not put in metadata
- fix bug: crash when validating files containing Extensions under Windows
- Convert to Binary glTF (glb)
- Convert to Batched 3D Models (b3dm) - Output is probably incorrect though
- Progress bar for the
reprojectcommand - Started a proof of concept for an API. You can read about the first struggles in
docs/design_document.ipynb. Mainly implemented inmodelsand a few additional methods incityjson. Plus a bunch of tests for the API (#13) - Add tutorials and dedicated documentation
- Docker image and Travis build for it (#25)
- Generate metadata (#56)
- STL export format (#66)
- click messages, warnings got their functions and placed into the
utilsmodule - only EPSG codes are supported for the CRS's URN
- When
--indentis passed tosave, tabs are used instead of spaces. Results in smaller files.
- Fix precision when removing duplicates (#50)
- proper schemas are packaged
- clean() operator added
- CityJSON v1.0.0 supported
- subset() operator: invert --> exclude (clearer for the users)
- CityJSON schemas v0.9 added
- cjio supports only CityJSON v0.9, there's an operator to upgrade files ('upgrade_version')
- validate supports CityJSON Extensions from v0.9
- new operators, like 'extract_lod', 'export' (to .obj), 'reproject'
- CityJSON schemas v08 added
- new operators
- validate now supports CityJSON Extensions
- schemas were not uploaded to pypi, now they are
- hosted on pypi
- decompress
- fix of bugs