Skip to content

Add GeoJson as source for CesiumCartographicPolygon#706

Open
gojushin wants to merge 13 commits into
CesiumGS:mainfrom
gojushin:impl_geoJsonCutouts
Open

Add GeoJson as source for CesiumCartographicPolygon#706
gojushin wants to merge 13 commits into
CesiumGS:mainfrom
gojushin:impl_geoJsonCutouts

Conversation

@gojushin

@gojushin gojushin commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Description

This PR introduces efficient cutouts using .geoJson files.

It builds on the functionality introduced in this PR and primarily extends CesiumCartographicPolygon to support loading a Spline Component from a .geoJson file.

Using CesiumCartographicPolygon instead of CesiumGeoJsonDocumentRasterOverlay for hiding the tiles has a significant advantage: tiles that are fully contained within the polygon are not just visually hidden, but are never loaded in the first place, resulting in a net performance improvement in these scenarios.

While implementing this feature, I realized it would be beneficial for the workflow to support both directions ( .geoJsonSpline)... So I also added the ability to export Splines as .geoJson files, allowing them to be further integrated into the Cesium ecosystem. This can however be easily taken out again, if the functionality is undesired.

image

Issue number or link

This implements the functionality discussed here:
https://community.cesium.com/t/introducing-efficient-geojson-cutouts/46510

Author checklist

  • I have submitted a Contributor License Agreement (only needed once).
  • I have done a full self-review of my code.
  • I have updated CHANGES.md with a short summary of my change (for user-facing changes).
  • I have added or updated unit tests to ensure consistent code coverage as necessary.
  • I have updated the documentation as necessary.

Remaining Tasks

None

Testing plan

I tested my changes using .geoJson files created in QGIS for each of the 3 new modes (FromDocument, FromURL and FromIon).
The .geoJson Writing has been tested by opening it in QGIS.

@gojushin gojushin changed the title Impl geo json cutouts Add GeoJson as source for CesiumCartographicPolygon Jul 9, 2026
@gojushin
gojushin force-pushed the impl_geoJsonCutouts branch from f187d0a to cf6f3cc Compare July 9, 2026 15:32
@j9liu

j9liu commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the PR @gojushin! Confirmed that we have a CLA from you on hand, we'll take a look at this when we get the chance. 🙏

@j9liu
j9liu self-requested a review July 20, 2026 17:52
gojushin and others added 13 commits July 21, 2026 10:23
- Added CesiumCartographicGeoJsonPolygon + Tests
- Refactored CesiumCartographicPolygon to use a shared base class with CesiumCartographicGeoJsonPolygon
- Fixed a bug where pressing "Trobleshoot Token" in CesiumGeoJsonDocumentRasterOverlay can not trigger.
Reverted new class-approach to use the pre-existing Spline logic
@gojushin
gojushin force-pushed the impl_geoJsonCutouts branch from cf6f3cc to e6ceb93 Compare July 21, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants