Repository navigation
Feat/crs assign - #556
Feat/crs assign#556MaxNumerique wants to merge 29 commits into
Conversation
…cking load [skip ci]
…era and z-scale [skip ci]
CRS support — shared front partPart of the CRS work for Geode-solutions/Vease#798. Overview of the 4 PRs and merge order: see Geode-solutions/Vease#818. Merge after Geode-solutions/OpenGeodeWeb-Back#286: the front calls the new Design rule: the shared components only display the CRS and request an edit. The dialog lives in the host app (Vease), which opts in with New
Changed
Tests
Known limitations
|
d246ebf to
a76c7a3
Compare
OpenGeode geosciences lists the same geographic CRS for 2D and 3D data: the list is cached once, whatever the object type, instead of once per type. It is still only requested when a CRS selector is shown, and a failed request is not cached. The back keeps checking each CRS against the list of the data dimension. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The project CRS was deduced on the fly from the oldest georeferenced data. It is now a state of the crs store: the first georeferenced data sets it, then only an explicit project CRS change does. It is exported with the project and restored on import; a project saved before falls back to the CRS of its oldest data. The store also lists the data whose CRS differs from the project one (data without CRS are not listed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A warning icon follows the name of a data whose CRS differs from the project one, with a tooltip naming both CRS. The rows read the store list, so the whole tree costs a single database query. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A compact button in the bottom right corner of the scene, under the XYZ
axes, shows the project CRS ("No CRS" before the first georeferenced
data). A click asks the host app for a project CRS edit; it is disabled
when no app hosts the dialog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A project saved without a project CRS fell back on the stored items, but they are added after the store imports, with the import time as creation date: the project CRS ended up random. The fallback now reads the snapshot items, which keep their original creation date. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The project CRS follows its data: as soon as every georeferenced data is in one CRS, that CRS becomes the project one; mixed data keep the current project CRS. Data without CRS are now listed as not in the project CRS. The CRS features read the data once, through a light query that keeps only id, name, crs and creation date, instead of copying every item with its geometry on each change. sameCrsState also treats two data without CRS as in the same state. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Data left without CRS while the project has one get the warning icon, with a tooltip asking to georeference them. The project CRS widget is larger and moved away from the corner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Loading a project added its data one chunk at a time after the project CRS was restored: on the first data alone, the project CRS followed them and the saved one was lost. The project CRS is now restored once every data item is added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A click on the warning icon of a data opens its CRS dialog, when the app hosts it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # app/components/Viewer/ObjectTree/Base/ItemLabel.vue # app/stores/data.ts # tests/unit/composables/project_manager.nuxt.test.ts # tests/unit/stores/data.nuxt.test.ts
The table selection holds the "AUTHORITY:CODE" keys given by item-value: it is typed as strings, and the selected CRS as a CRSList. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No description provided.