Add optional GeoJSON geometry schema and design guidance to Commonalities#594
Add optional GeoJSON geometry schema and design guidance to Commonalities#594sergiobrisio wants to merge 3 commits intocamaraproject:mainfrom
Conversation
docs: add optional GeoJSON geometry guidance for CAMARA APIs
|
@sergiobrisio You can find more info about EasyCLA here: https://github.com/camaraproject/EasyCLA |
GeoJSONGeometry:
type: object
description: RFC 7946 GeoJSON geometry objectI guess we need to define the object in details. The example definition found on web: |
And also add it in CAMARA_Common.yaml |
|
Section 2.1 (link) refers to CAMARA common data types, which include the different I suggest in include some simple statements about the Areas data types and use of GeoJSON within Section 2.1 of the Design Guide document, including a link to this new document. |
|
This new geojson-guidance.md document seem to be more a discussion document, motivating the needs for introducing GeoJSON. Maybe it is possible to describe the key aspects direction within Section 2.1 of the Design Guideline. Key Aspects are:
|
Co-authored-by: Pedro Díez García <pedro.diezgarcia@telefonica.com>
Co-authored-by: Pedro Díez García <pedro.diezgarcia@telefonica.com>
|
Integrating GeoJSON as an alternative is an excellent initiative. While experimenting with population density data, I realized that some of our previous choices were problematic. Specifically, the naming conventions for some discriminators don't allow for the easy integration of new models. In our Area definitions, the discriminator is called "areaType," whereas it's called "type" in the GeoJSON standard... making it difficult to easily code the oneOf property. We would likely benefit from consistently naming the property used as a discriminator to more effectively manage polymorphism ... probably using "type" the most common choice. What do you think about? |
docs: add optional
GeoJSONgeometry guidance for CAMARA APIsWhat type of PR is this?
What this PR does / why we need it:
This PR introduces optional, non‑breaking support for
GeoJSON(RFC 7946) as an additional geometry model in Commonalities.Several CAMARA APIs (e.g., Dedicated Network Service Areas, Device Location Verification) require geometric comparison or spatial predicates such as within, overlaps, contains, or intersection area. These operations are natively supported by spatial engines and databases only when using standard geometry formats such as
GeoJSON.This PR:
Areadatatype vs. when to considerGeoJSON;GeoJSONGeometryschema for initiatives that need GIS‑native behavior;Area/Circle/Polygonmodel fully valid;GeoJSON;oneOfpattern or force dual‑model support;This ensures that advanced spatial APIs can rely on GIS‑native capabilities, without adding complexity to APIs that only require simple geometries.
Which issue(s) this PR fixes:
#586 and fixes camaraproject/DedicatedNetworks#93
Does this PR introduce a breaking change?
This PR only adds documentation and an optional GeoJSON schema.
It does not change the existing Area/Circle/Polygon datatypes, nor require any API to adopt GeoJSON. The schema is made available for future initiatives that may benefit from it.
Special notes for reviewers:
GeoJSONis proposed as an optional alternative, not as a required model.Areamodel remains valid and unchanged.oneOfpattern is mandated.Feedback on naming, wording of the guidance, and file placement (e.g.,
docs/geojson-guidance.mdand, if included,code/API_definitions/geojson.yaml) is welcome.Changelog input
Additional documentation:
documentation/geojson-guidance.md