GANys / cityjson-pointcloud

Extension to support LAS 3D point clouds for CityObjects geometries. Works with CityJSON 1.0.1.
2 stars 0 forks source link

CJVAL - geometry Object #1

Open GANys opened 2 years ago

GANys commented 2 years ago

Validating extended files with CJVAL leads to warnings. It does as the +geometry elements are not validated for vertex consistency (duplicates, unused, etc.).

Surely due to the fact that the extension is using +geometry instead of geometry definitions.

GANys commented 2 years ago

Any clue ? Surely concerning the extended geometry definitions. @hugoledoux / @josfeenstra

hugoledoux commented 2 years ago

did it validate with v1.0 and cjio 0.6.10 for instance?

GANys commented 2 years ago

Last year, I validated it with v1.0 and an homemade AJV script (https://ajv.js.org/). With 1.1, I want to be compliant with the whole CJ family.

Problem is, I don't find another working solution for extending geometries to MultiPoint instead of creating a whole new +geometry object. The extension of the "OneOf" allowed geometries might be too tricky.

hugoledoux commented 2 years ago

out of curiosity: why didn't you use cjio-validate?

And indeed you cannot extend the geometries, but adding a +geometry should do the trick.

Have you updated your Extension as explained there? https://www.cityjson.org/tutorials/upgrade11/#if-your-file-had-extensions

GANys commented 2 years ago

Out of curiosity : I did too but wanted to fully understand the process, at least once.

I updated the Extension following your prescriptions but not only. Regarding, among others, the https://www.cityjson.org/dev/upgrade11/#10-geometry-is-not-mandatory-anymore, I could simplify the extension. I thus go a bit further simplification and lighweithness.

If the +geometry is not too bizarre, I think the extension is now compliant with 1.1 ! I'll conduct several tests by the end of the week.

GANys commented 2 years ago

I changed the whole structure of the extension.

Problem is, the Vertices from the newly supported MultiPoint geometries are still not recognised as "used" by CJVAL.

hugoledoux commented 2 years ago

There is no generic way around this problem... CityJSON doesn't allow extending its geometric primitives like ADEs do, so the validator will return those warnings.

You could define the vertices locally to the "+geometry" tough, like the new "CityJSONFeature" does: https://www.cityjson.org/specs/1.1.0/#text-sequences-and-streaming-with-cityjsonfeature

GANys commented 2 years ago

It is one of the base of the simplified database schema that I use for the document NoSQL DB.

For now, the PC extension is a rework of the cityobjects.schema.json A bit complicated but a working and convenient solution.