cityjson / specs

Specifications for CityJSON, a JSON-based encoding for 3D city models
https://cityjson.org
Creative Commons Zero v1.0 Universal
107 stars 25 forks source link

GenericCityObject comeback? #103

Closed clausnagel closed 5 months ago

clausnagel commented 2 years ago

I understand that it was a deliberate decision to drop "GenericCityObject" from the CityJSON 1.1 schema and that a new CityObject type defined in an Extension should be used instead.

This makes an automatic conversion of CityGML datasets more complex because the generic object must be mapped to "+SomeObject". And, as far as I understand, the "+SomeObject" must be defined in a JSON schema and this schema must be referenced in the dataset. So, this approach is not really schema-less?!

Or is it also allowed to have a "+SomeObject" city object in a CityJSON file without providing a corresponding JSON schema? If this is not possible, I would like to start a discussion for the comeback of "GenericCityObject" :-)

hugoledoux commented 2 years ago

The decision was based on CityGML v3 dropping it actually.

But you don't need to define a new schema, just reuse the one we provide at https://www.cityjson.org/extensions/download/generic.ext.json

So just add the + before "GenericCityObject" (so use this "+GenericCityObject") and add the extension to the file. Voilà.

You get something like this for a simple cube: https://3d.bk.tudelft.nl/opendata/cityjson/simplegeom/v1.1/cube.city.json

clausnagel commented 2 years ago

Thanks for pointing me to this extension, this is very helpful.

CityGML 3 hasn't dropped the possibility to have generic objects. There is now just one generic object per space type: https://docs.ogc.org/is/20-010/20-010.html#toc35

hugoledoux commented 2 years ago

Hmmm, I saw this, but I wouldn't know, as a user, what this means in practice... This requires to go and figure out what the SPACES are, and I thought they had been left out of the encoding...

So I think it's better to stick to the Extension for this, we did this also to encourage others to create Extensions, to show this as a blueprint of how easy it is.

I'll add some more information about it on the website.

hugoledoux commented 1 year ago

For the upcoming release of v2.0.0, it is wise to bring it back, as it was in v1.0, so one class for the 3 types of space.

I don't think users want to go into the details of spaces to use it, so one type that covers all 3 types.

commit is there: https://github.com/cityjson/specs/commit/b5eaec9db477cf233a40020e5894111335735ffa