Skip to content

docs(dem): v2 (MAPCO-8937) - #163

Open
shimoncohen wants to merge 29 commits into
masterfrom
new-dem
Open

shimoncohen wants to merge 29 commits into
masterfrom
new-dem

Conversation

@shimoncohen

Copy link
Copy Markdown
Contributor

No description provided.

@shimoncohen shimoncohen self-assigned this Feb 17, 2026
@shimoncohen shimoncohen added the documentation Improvements or additions to documentation label Feb 17, 2026
@shimoncohen shimoncohen changed the title docs(dem): v2 docs(dem): v2 (MAPCO-8937) Feb 17, 2026
@github-actions

github-actions Bot commented Feb 17, 2026 •

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://MapColonies.github.io/developer-portal/pr-preview/pr-163/

Built to branch gh-pages at 2026-09-28 11:35 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/ogc/protocols/ogc-wcs.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Services/download/README.md
asafmas-rnd
asafmas-rnd previously approved these changes Feb 24, 2026
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/ogc/protocols/ogc-wcs.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
Comment thread docs/ogc/protocols/ogc-wcs.md Outdated
Comment thread docs/ogc/protocols/ogc-wcs.md Outdated
Comment thread docs/ogc/protocols/ogc-wcs.md Outdated
Comment thread docs/ogc/protocols/ogc-wcs.md Outdated
@shimoncohen
shimoncohen requested a review from asafmas-rnd June 4, 2026 15:16
Comment thread docs/MapColonies/3D/Guides/3D_getting_started.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
@@ -0,0 +1,965 @@
---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Decide if and where to put the WFS section

Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Guides/terrain_provider.md Outdated

@vitaligi vitaligi left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

please also fix Catalogue typo in '../DEM/Services/catalog/dem-catalog'
ignore

Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Guides/terrain_provider.md Outdated
Comment thread docs/MapColonies/Raster/services/catalog/profile_v1_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md Outdated
Comment thread docs/MapColonies/DEM/Guides/height_extraction.md
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v2_0.md Outdated
Comment thread docs/MapColonies/DEM/Services/catalog/profile_v1_0.md
Comment on lines +78 to +80
<mc:links scheme="WCS" name="product-DSM" description="">{WCS_SERVICE_URL}/wcs?request=GetCapabilities</mc:links>
<mc:links scheme="WCS_BASE" name="product-DSM" description="">{WCS_SERVICE_URL}/wcs</mc:links>
<mc:links scheme="WFS_BASE" name="product-DSM" description="">{WFS_SERVICE_URL}/wfs?request=GetCapabilities</mc:links>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

i don't recall we talked on the schemes mentioned here, WCS seems duplicate

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@asafmas-rnd We have WCS_BASE in our production too, we can think if we want to remove it.
I agree that going through the capabilities is the right call in general.

@@ -42,7 +42,7 @@ flowchart LR

Query **3D CSW catalog** service to find item(s) according to desired filter [example are here](/docs/ogc/protocols/ogc-csw/ogc-csw-examples)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Image This button sends to 3D getting started

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Image This button also sends to 3D getting started

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Image Why is it under the 3D section?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Image Why is the Raster title not "Getting started", and the 3D is?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Respond to each in a new comment, this isn't ok. And leave irrelevant things out of this PR.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Terrain provider is part of 3d and will stay that way.


:::warning

Currently the terrain provider is only available through the `3D catalog`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

That's not true in the "prod" environment, as we have several QMesh layers in the DEM catalog

@shimoncohen shimoncohen Jul 20, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It is true. They are used for heights, not terrain.

| **Field name / Partial name** | **Filter purpose** |
| ----------- | ----------- |
| footprint | Specific geographical area |
| ...Accuracy... | |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please put valid values

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Why? Values shouldn't be here, they are in the catalog.

Merge dup added/removed field blocks into main tables. v2 gets a
"Changes from last version" column (🆕), v1 gets "Changes in next
version" (🗑️) — single source of truth per field instead of two
tables listing the same rows.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@shimoncohen shimoncohen left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Traced the guides step-by-step against dem-dev (helm-charts#684). WCS flow holds; catalog step issues below, plus deployment-side findings on helm-charts#684.

<PropertyName>mc:productType</PropertyName>
<Literal>DTM</Literal>
</PropertyIsEqualTo>
<ogc:Intersects>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fails against dem-dev pycsw v2: Invalid gml:LineString geometry. Missing gml:posList. The GML2 outerBoundaryIs/coordinates form isn't accepted; use GML3 gml:exterior > gml:LinearRing > gml:posList (lat lon order for EPSG:4326). Verified the GML3 form returns results.

<mc:productVersion>1</mc:productVersion>
<mc:region>region</mc:region>
<mc:sensors>sensors</mc:sensors>
<mc:srsId>srs_id</mc:srsId>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

srs_id placeholder; other examples use 4326. Same in download/README.md.

<mc:productVersion>1</mc:productVersion>
<mc:region>region</mc:region>
<mc:sensors>sensors</mc:sensors>
<mc:srsId>srs_id</mc:srsId>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

srs_id placeholder; should be 4326 like the other examples.

<mc:id>d2d812ba-40b7-4dfe-b3e7-869356467d3a</mc:id>
<mc:ingestionDateUTC>2025-12-31T09:55:51Z</mc:ingestionDateUTC>
<mc:insertDateUTC>2025-12-31T11:00:00Z</mc:insertDateUTC>
<mc:links scheme="WCS" name="srtm30-DSM" description="">{WCS_SERVICE_URL}/wcs?request=GetCapabilities</mc:links>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Links named srtm30-DSM on a record with productType DTM.

end

c[<b>Step 1</b><br/>Catalog] --> d
d[<b>Step 2</b><br/>Get Capabilities] --> e

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

GetCapabilities and DescribeCoverage are both labelled "Step 2" while the sections treat them as parts of Step 2; also no Metadata edge into GetCapabilities.

| 🆕 | mc:maxAbsoluteAccuracyLEP90 | double | LEP90 max absolute vertical plane accuracy range in meters |
| 🆕 | mc:minRelativeAccuracyLEP90 | double | LEP90 min relative vertical plane accuracy range in meters |
| 🆕 | mc:maxRelativeAccuracyLEP90 | double | LEP90 max relative vertical plane accuracy range in meters |
| 🆕 | mc:minHorizontalAccuracyCEP90 | double | |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

mc:min/maxHorizontalAccuracyCEP90 have no description.

In the Response, look for desired data according to profile definition.

## Get terrain provider URI (Step 2.1) {#step-2.1}
In the Response, look for a `link` tag with `schem="TERRAIN_QMESH"`, this will be the link you need to get the data.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Typo: schem= → scheme=.


```javascript
// **Optional** add to Cesium terrain provider in order to clamp 3d models to the ground or investigate terrain
viewer.terrainProvider = new Cesium.TerrainProvider({

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Cesium.TerrainProvider is an abstract interface, not constructible. Use Cesium.CesiumTerrainProvider.fromUrl(resource) (or new Cesium.CesiumTerrainProvider({ url }) on older Cesium). Also line 164 "v84": Cesium versions are 1.x, which one is meant?

The following guide will help you understand, ***Step-by-step*** how to add a `terrain provider` to your application.

## Flow diagram
```mermaid

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Diagram has a "STEP 3.1" node but there's no Step 3.1 section (Cesium is under Step 3).

The GML2 outerBoundaryIs/coordinates polygon is rejected by the catalog
("Missing gml:posList"); the GML3 exterior/posList form was verified on
dem-dev. productSubType is a declared v2 queryable (helm-charts#684
mappings.py / mc_dem profile) missing from the table.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@shimoncohen

Copy link
Copy Markdown
Contributor Author

Pushed 29d4148 from a /generate-docs run on helm-charts#684 (dem-dev):

  • Polygon tab: GML3 gml:exterior/gml:posList (lat lon); verified live.
  • profile_v2_0.md: added mc:productSubType (declared v2 queryable). Type/description taken from the 3D profile; not verifiable on dem-dev until v2 pycsw reads a v2-schema DB (see helm-charts#684). Please confirm.
  • mc:BoundingBox kept: v2 pycsw rejects the declared mc:boundingBox in spatial filters and accepts mc:BoundingBox.
  • Catalog v2 examples still unverifiable on dem-dev: /api/dem/v2 currently proxies to the v1 pycsw (helm-charts#684).

- height_extraction: coverageId prefix note is WCS-version specific
  (dem: in 1.0.0 and 2.0.1, dem__ only in 2.0.1); typos; srsId example
- terrain_provider: terrain link is in the DEM catalog too; scheme=
  typo; link name matches live records; Cesium fromUrl (min 1.104)
- CesiumTerrainProvider: replace removed url option and readyPromise
  with fromUrl; terrainProvider is set on viewer, not viewer.scene
- download: srsId example

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants