- 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
translate
paramter tocityjson.compress
to manually set the tranlation properties instead of computing from the data. - The
cityjson.cityjson_for_features
andcityjson.generate_features
methods.
to_glb
sets a root transformation matrix for z-up to y-up, instead of swapping the vertex coordinates directly.- Takes a
do_triangulate
argument 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_j
and all members of thecityjson.models
module. 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
stdin
and save tostdout
--suppress_msg
to 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
texture
andmaterial
are correctly removed from the geometries of the CityObjects withtextures/materials_remove
vertex-texture
is 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
triangulate
that triangulates each surface of the input (de-triangulate coming soon)
- Several bugs were fixed
- Loading a file with
cityjson.load()
removes thetransform
property 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_j
includesreference_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
reproject
command - Started a proof of concept for an API. You can read about the first struggles in
docs/design_document.ipynb
. Mainly implemented inmodels
and 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
utils
module - only EPSG codes are supported for the CRS's URN
- When
--indent
is 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