Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/MapColonies/3D/Guides/3D_getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ In the Response, look for
:::

## Get terrain provider URI (Step 2.1, optional)
This section explains how to query "Best" terrain for complementing the `3D models` and giving a true 3D visualization. If you wish to get a specifc terrain please use [DEM Getting Started Guide](/docs/MapColonies/DEM/Guides/DEM_getting_started.md)
This section explains how to query "Best" terrain for complementing the `3D models` and giving a true 3D visualization. If you wish to get a specifc terrain please use [DEM Terrain Provider Guide](/docs/MapColonies/DEM/Guides/terrain-provider)

To query the "Best" terrain, use the following:
```xml title="GetRecords Request For Terrain"
Expand Down
965 changes: 965 additions & 0 deletions docs/MapColonies/DEM/Guides/height_extraction.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: dem-getting-started
slug: dem-getting-started
title: Getting started
id: terrain-provider
slug: terrain-provider
title: Terrain Provider
tags:
- guide
- DEM
Expand Down Expand Up @@ -41,26 +41,26 @@ flowchart LR
## Query CSW catalog (Step 1)
Query **DEM CSW catalog** service to find item(s) according to desired filter [examples are here](/docs/ogc/protocols/ogc-csw/ogc-csw-examples)

Filter should be based on [DEM profile](/docs/MapColonies/DEM/Services/catalog/catalog-profile-v1)
Filter should be based on [DEM profile](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v1)

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 emphasize that "coverage" refers to the V1 catalog only


Example query based on `mc:classification` profile field
```xml title="GetRecords Request"
POST Request

url:
'<DEM-CATALOG-SERVICE_URL>/csw'
'{DEM_CATALOG_SERVICE_URL}/csw'

body (XML):
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords outputFormat="application/xml" outputSchema="http://schema.mapcolonies.com/dem" resultType="results" service="CSW" version="2.0.2" startPosition="1" maxRecords="200" xmlns:mc="http://schema.mapcolonies.com/dem" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc">
<csw:Query typeNames="csw:Record">
<csw:GetRecords outputFormat="application/xml" outputSchema="http://schema.mapcolonies.com/dem" resultType="results" service="CSW" version="2.0.2" startPosition="1" maxRecords="200" xmlns:mc="http://schema.mapcolonies.com/dem" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc">
<csw:Query typeNames="mc:MCDEMRecord">
<csw:ElementSetName>full</csw:ElementSetName>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>mc:classification</ogc:PropertyName>
<ogc:Literal>5</ogc:Literal>
<ogc:Literal>0</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>mc:productType</ogc:PropertyName>
Expand All @@ -82,19 +82,19 @@ You will get GetRecords XML Response with product **metadata**.
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecordsResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" xmlns:mc="http://schema.mapcolonies.com/dem" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
<csw:SearchStatus timestamp="2022-03-27T06:45:54Z" />
<csw:SearchResults numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0" recordSchema="http://schema.mapcolonies.com/dem" elementSet="full">
<csw:SearchResults numberOfRecordsMatched="1" numberOfRecordsReturned="1" nextRecord="0" recordSchema="http://schema.mapcolonies.com/dem" elementSet="full">
<mc:MCDEMRecord>
<mc:accuracyLEP90>999.0</mc:accuracyLEP90>
<mc:classification>5</mc:classification>
<mc:footprint>{"type":"Polygon","coordinates":[[[31.2603,33.4345],[31.2603,34.4888],[32.3353,34.4888],[32.3353,33.4345],[31.2603,33.4345]]]}</mc:footprint>
<mc:geographicArea>ישראל</mc:geographicArea>
<mc:maxHorizontalAccuracyCE90>999.0</mc:maxHorizontalAccuracyCE90>
<mc:id>c2bbeeee-6081-4e69-918c-287f48ea244d</mc:id>
<mc:links scheme="WMTS_LAYER" name="" description="">http://dem-server/15211-65da-4523-9d6f-08016ad51b0d....</mc:links>
<mc:links scheme="WMTS_LAYER" name="dem:srtm30-DTM" description="">http://dem-server/15211-65da-4523-9d6f-08016ad51b0d....</mc:links>
<mc:producerName>DAVID</mc:producerName>
<mc:productBBox>31.2603,33.4345,32.3353,34.4888</mc:productBBox>
<mc:productId>c2bbeeee-6081-4e69-918c-287f48ea244d</mc:productId>
<mc:productName>מודל פריז</mc:productName>
<mc:productId>srtm30-DTM</mc:productId>
<mc:productName>srtm30-DTM</mc:productName>
<mc:productType>DTM</mc:productType>
<mc:productVersion>1</mc:productVersion>
<mc:productionMethod>photogrammetric</mc:productionMethod>
Expand Down Expand Up @@ -160,8 +160,8 @@ In the Response, look for desired data according to profile definition.
In the Response, look for

```xml title="Extract link for terrain provider"
<mc:links scheme="TERRAIN_QMESH" name="srtm100">
http://terrain-server.com/terrains/srtm100
<mc:links scheme="TERRAIN_QMESH" name="srtm30-DTM">
{TERRAIN_URL}/terrains/srtm30
</mc:links>
```

Expand Down Expand Up @@ -189,14 +189,14 @@ Now, after you got all product metadata that you need by querying our Catalog, l
// **Optional** add to Cesium terrain provider in order to clamp 3d models to the ground or investigate terrain

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

remove blank space at EOL

viewer.terrainProvider = new Cesium.TerrainProvider({
url: new Cesium.Resource({
url: "<TERRAIN_URL>",
url: "{TERRAIN_URL}",
queryParameters: {
"token": "<token>",
"token": "{token}",
},
}),
});
...
```
Replace `<TERRAIN_URL>` with the URL link that you got from **Step 2.1 (optional)**.
Replace `{TERRAIN_URL}` with the URL link that you got from **Step 2.1 (optional)**.

Replace `<token>` with the token you have.
Replace `{token}` with the token you have.
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ const terrainProvider = new Cesium.CesiumTerrainProvider({
*Critical Considerations Pertaining to the url Parameter*

The url parameter must unequivocally designate the root directory of the terrain tile service. The `CesiumTerrainProvider` internally constructs the complete path to individual tiles (e.g. level/x/y.terrain) based upon this foundational URL.
Get the URL for the terrain server from the catalog, details [here](../../Guides/DEM_getting_started.md#query-csw-catalog-step-1)
Get the URL for the terrain server from the catalog, details [here](../../Guides/terrain-provider#query-csw-catalog-step-1)
:::

### Assigning the Terrain Provider
Expand Down
31 changes: 28 additions & 3 deletions docs/MapColonies/DEM/Services/catalog/profile_v1_0.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: dem-profile-v1
slug: catalog-profile-v1
slug: dem-catalog-profile-v1
description: v1 Profile
title: Profile v1
tags:
Expand All @@ -15,12 +15,37 @@ tags:
2. **main_namespace** = `http://schema.mapcolonies.com/dem`
3. The **DEM** sub-system Catalog profile fields with information of each of them:

:::warning
New version [v2](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2) is coming!

<p style={{color:"red"}}><b>The following parameters are depracted and will be removed in v2:</b></p>

| **PYCSW Queryable/XML <br/> Element Name** | **Type** | **Description** |
| ----------- | ----------- | ----------- |
| mc:imagingTimeBeginUTC | date | start imaging date of raw product <br/> supported format: **dd/mm/yyyy (not later than "End date")** |
| mc:imagingTimeEndUTC | date | end imaging date of raw product <br/> supported format: **dd/mm/yyyy (not earlier than "Begin date")** |
| mc:resolutionDeg | double | the product resolution in degrees <br/> double unsigned valid: **0.00000009 to 0.072** |
| mc:resolutionMeter | double | the product resolution in meters <br/> double unsigned valid: **0.01 to 8000** |
| mc:absoluteAccuracyLEP90 | double | LEP90 maximum absolute vertical plane accuracy range in meters |
| mc:relativeAccuracyLEP90 | double | LEP90 maximum relative vertical plane accuracy range in meters |
| mc:layerPolygonParts | geojson | polygons of the discrete parts (versions) and the list of layers in the best converted to Geojson |
| mc:heightRangeFrom | double | **minimum** height range in Meters (not greater than "heightRangeTo") <br /> valid: **-500 to 9000** |
| mc:heightRangeTo | double | **maximum** height range in Meters (not less than "heightRangeFrom") <br /> valid: **-500 to 9000** |
| mc:SRS | int | reference System ID (EPSG), <br /> ex: 4326 / 3857 |
| mc:verticalDatum | enum | **Valid Values**: <br/> WGS 1984 / WGS 1972 / Pulkovo 1942 / MSL Height / Israel |
| mc:units | enum | **Valid Values**: <br/> METER / DD / DMS / ARC_SECONDS / UNKNOWN |
| mc:geographicArea | text | geographic area cities |
| mc:undulationModel | enum | **Valid Values**: <br/> MSL EGM96 / MSL EGM2008 / MSL DMA10 / ILUM |
| mc:productBBox | text | the bounding box of the product minX,minY,maxX,maxY |

:::

| **PYCSW Queryable/XML <br/> Element Name** | **Type** | **Description** |
| ----------- | ----------- | ----------- |
| mc:id | text | unique internal catalog item id |
| mc:productId | text | unique external product id |
| mc:productName | text | the product name |
| [mc:productType](#productType) | enum | **Valid Values**: <br/> DTM / DSM / QuantizedMesh / QuantizedMeshDTMBest / QuantizedMeshDSMBest |
| mc:productType | enum | **Valid Values**: <br/> DTM / DSM / QuantizedMesh / QuantizedMeshDTMBest / QuantizedMeshDSMBest |
| mc:description | text | the product description |
| mc:imagingTimeBeginUTC | date | start imaging date of raw product <br/> supported format: **dd/mm/yyyy (not later than "End date")** |
| mc:imagingTimeEndUTC | date | end imaging date of raw product <br/> supported format: **dd/mm/yyyy (not earlier than "Begin date")** |
Expand All @@ -35,7 +60,7 @@ tags:
| mc:heightRangeTo | double | **maximum** height range in Meters (not less than "heightRangeFrom") <br /> valid: **-500 to 9000** |
| mc:SRS | int | reference System ID (EPSG), <br /> ex: 4326 / 3857 |
| mc:SRSName | text | name of reference system |
| mc:verticalDatum | enum | **Valid Values**: <br/> WGS 1984 / WGS 1972 / Pulkovo 1942 / Palestine 1923 / MSL Height / Israel / ED 1950 IDF |
| mc:verticalDatum | enum | **Valid Values**: <br/> WGS 1984 / WGS 1972 / Pulkovo 1942 / MSL Height / Israel |
| mc:region | text | sector / countries <br/> comma separated list |
| mc:classification | enum | product classification / confidentiality <br /> Classification values |
| mc:producerName | text | manufacturer / organization that produced / supplied the product |
Expand Down
85 changes: 85 additions & 0 deletions docs/MapColonies/DEM/Services/catalog/profile_v2_0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
id: dem-profile-v2
slug: dem-catalog-profile-v2
description: v2 Profile
title: Profile v2
tags:
- DEM
- catalog
- v2
---

# DEM Catalog Profile Information

1. **typename** = `mc:MCDEMRecord`
2. **main_namespace** = `http://schema.mapcolonies.com/dem`
3. The **DEM** sub-system Catalog profile fields with information of each of them:

:::info
Comment thread
asafmas-rnd marked this conversation as resolved.
The following parameters were added v2:

| **PYCSW Queryable/XML <br/> Element Name** | **Type** | **Description** |
| ----------- | ----------- | ----------- |
| mc:productVersion | int | the product version |
| mc:srsId | int | reference System ID (EPSG), <br /> ex: 4326 / 3857 |
| mc:dataType | enum | **Valid Values**: <br/> FLOAT64 / FLOAT32 / FLOAT16 / INT64 / INT32 / INT16 / INT8 |
| mc:acquisitionTimeBeginUTC | date | Start acquisition time (UTC time) of raw product<br/>Supported format: **dd-mm-yyyyThh:mm:ssZ** |
| mc:acquisitionTimeEndUTC | date | End acquisition time (UTC time) of raw product<br/>Supported format: **dd-mm-yyyyThh:mm:ssZ** |
| mc:minResolutionDegree | double | the product min resolution in degrees |
| mc:maxResolutionDegree | double | the product max resolution in degrees |
| mc:minResolutionMeter | double | the product min resolution in meters |
| mc:maxResolutionMeter | double | the product max resolution in meters |
| mc:minAbsoluteAccuracyLEP90 | double | LEP90 min absolute vertical plane accuracy range in meters |
| 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 | |
| mc:maxHorizontalAccuracyCEP90 | double | |
| mc:areaOrPoint | enum | Describes if pixel is “Area” or “Point” |
| mc:links | text | Available links for different services available for the current product |
| mc:verticalType | enum | **Valid Values**: Orthometric, Ellipsoidal |
| mc:verticalSrsId | text | reference System ID (EPSG), <br/> ex: 4326 / 3857 |
| mc:verticalSrsName | text | name of reference system |

:::

| **PYCSW Queryable/XML <br/> Element Name** | **Type** | **Description** |
| ----------- | ----------- | ----------- |
| mc:id | text | unique internal catalog item id |
| mc:productId | text | unique external product id |
| mc:productName | text | the product name |
| mc:productType | enum | **Valid Values**: <br/> DTM / DSM |
| mc:productVersion | int | the product version |
| mc:description | text | the product description |
| mc:footprint | geojson | geographical delineation of the product / model trace |
| mc:BoundingBox | bbox | two points that represent the record extent |
| mc:srsId | text | reference System ID (EPSG), <br/> ex: 4326 / 3857 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

system can be lowercase

| mc:srsName | text | name of reference system |
| mc:dataType | enum | **Valid Values**: <br/> FLOAT64 / FLOAT32 / FLOAT16 / INT64 / INT32 / INT16 / INT8 |
| mc:sensors | text | list of sensors used as a source for the product <br/> comma separated list |
| mc:region | text | sector / countries <br/> comma separated list |
| mc:insertDateUTC | date | the date when the product was added to catalog <br/> supported format: **dd-mm-yyyyThh:mm:ssZ** |
| mc:ingestionDateUTC | date | when last was the **data** or **parts** updated <br/> supported format: **dd-mm-yyyyThh:mm:ssZ** |
| mc:updateDateUTC | date | when last was the MD updated <br/> supported format: **dd-mm-yyyyThh:mm:ssZ** |
| mc:acquisitionTimeBeginUTC | date | Start acquisition time (UTC time) of raw product<br/>Supported format: **dd-mm-yyyyThh:mm:ssZ** |
| mc:acquisitionTimeEndUTC | date | End acquisition time (UTC time) of raw product<br/>Supported format: **dd-mm-yyyyThh:mm:ssZ** |
| mc:minResolutionDegree | double | the product min resolution in degrees |
| mc:maxResolutionDegree | double | the product max resolution in degrees |
| mc:minResolutionMeter | double | the product min resolution in meters |
| mc:maxResolutionMeter | double | the product max resolution in meters |
| mc:minAbsoluteAccuracyLEP90 | double | LEP90 min absolute vertical plane accuracy range in meters |
| 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 | |
| mc:maxHorizontalAccuracyCEP90 | double | |
| mc:areaOrPoint | enum | Describes if pixel is “Area” or “Point” |
| mc:links | text | Available links for different services available for the current product |
| mc:classification | text | product classification / confidentiality <br/> Classification values should be numbers between 0 and 100 |
| mc:producerName | text | manufacturer / organization that produced / supplied the product |
| mc:noDataValue | int | **Valid Values**: <br/> -32768 |
| mc:type | enum | type of the catalog <br/> **Value**: RECORD_DEM |
| mc:keywords | text | list of key words relevant for product |
| mc:verticalType | enum | **Valid Values**: Orthometric, Ellipsoidal |
| mc:verticalSrsId | text | reference System ID (EPSG), <br/> ex: 4326 / 3857 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

vertical srs ids examples are not vertical. use 5773 / 3855 / 4979.
plus, system can be lowercase

| mc:verticalSrsName | text | name of reference system |
Loading
Loading