Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for MAXAR_content_geojson 3D Tiles extension #10356

Merged
merged 17 commits into from
May 6, 2022

Conversation

lilleyse
Copy link
Contributor

@lilleyse lilleyse commented May 5, 2022

Fixes #10320.
Merge #10350 and #10351 first

This PR adds support for the MAXAR_content_geojson 3D Tiles extension which makes it possible to load vector data in the OWT Well Formed Format. This is not a replacement for Vector Tiles which still needs more planning.

There are several constraints on the GeoJSON files:

  • The top level GeoJSON type must be FeatureCollection or Feature.
  • The geometry types must be LineString, MultiLineString, MultiPolygon, or Polygon.
  • All geometries are converted to geodesic lines.
  • Only WGS84 geographic coordinates are supported.

2D and 3D coordinates are supported. GeoJSON properties are supported as well. All the features in the GeoJSON are batched into a single primitive to ensure good performance, and feature IDs are generated so that features are still individually pickable and styleable.

Future work:

  • Process GeoJSON in Web Worker to avoid hitches
  • Triangulate polygons

Local sandcastle for visualizing the test models

@lilleyse lilleyse requested a review from IanLilleyT May 5, 2022 21:02
@cesium-concierge
Copy link

Thanks for the pull request @lilleyse!

  • ✔️ Signed CLA found.

Reviewers, don't forget to make sure that:

  • Cesium Viewer works.
  • Works in 2D/CV.
@IanLilleyT
Copy link
Contributor

I pushed some very small code changes. Otherwise the PR looks great! I tested with a very large dataset and it rendered the lines in the correct places.

* @private
*/
GeoJsonLoader.prototype.unload = function () {
this._components = undefined;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can unload be called before parse? Should it do this._geoJson = undefined; too?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Never mind, after checking out GltfLoader it does a similar thing to this (unsets the json after loading finishes).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants