-
Notifications
You must be signed in to change notification settings - Fork 2
docs(dem): v2 (MAPCO-8937) #163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
9f0baeb
979d501
a3d5b0d
463b187
88f7eac
eba1ae0
a71cce3
fd67712
3fa291b
e1cb1c1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| --- | ||
| 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 | ||
| 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 | ||
| supported format: **dd-mm-yyyyThh:mm:ssZ** | | ||
| | mc:acquisitionTimeEndUTC | date | End acquisition time (UTC time) of raw product | ||
| 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:geoidModel | text | | | ||
| | mc:areaOrPoint | enum | Describes if pixel is “Area” or “Point” | | ||
| | mc:links | text | Available links for different services available for the current product | | ||
| ::: | ||
|
|
||
| | **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 | int | reference System ID (EPSG), <br /> ex: 4326 / 3857 | | ||
| | 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 | ||
| supported format: **dd-mm-yyyyThh:mm:ssZ** | | ||
| | mc:acquisitionTimeEndUTC | date | End acquisition time (UTC time) of raw product | ||
| 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:geoidModel | text | | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i think we should rename this field, lets wait for a confirmation on this from our product
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok. |
||
| | 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 | enum | product classification / confidentiality <br /> Classification values | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. classification is a string type with a regex of int values from 0 to 100 |
||
| | mc:producerName | text | manufacturer / organization that produced / supplied the product | | ||
| | mc:noDataValue | enum | **Valid Values**: <br/> -32768 | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. noDataValue is a number (double) |
||
| | mc:type | enum | type of the catalog <br /> **Valid values**: RECORD_RASTER / RECORD_3D / RECORD_DEM <br /> default: ***RECORD_DEM***| | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. isn't the only possible value is RECORD_DEM? |
||
| | mc:keywords | text | list of key words relevant for product | | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,122 @@ | ||
| --- | ||
| id: dem-download | ||
| slug: dem-download | ||
| title: Download | ||
| tags: | ||
| - guide | ||
| - DEM | ||
| - DTM | ||
| - DSM | ||
| - download | ||
| --- | ||
|
|
||
| ## Step by step guide | ||
| The following guide will help you understand ***Step-by-step*** how to work with the Map Colonies DEM download service, from the [Catalog](/docs/MapColonies/DEM/Services/catalog/dem-catalog) to the download server. | ||
|
|
||
| :::note | ||
| Please note the [obligations](/docs/MapColonies/obligations) you need to follow while using our services. | ||
| ::: | ||
|
|
||
| :::warning | ||
| **Any** request to our services should include a `token` as a form of [authentication](/docs/MapColonies/authentication). | ||
| ::: | ||
|
|
||
| ## Query the DEM catalog (Step 1) | ||
|
|
||
| Query the **DEM catalog** service to find item(s) according to a desired filter [examples are here](/docs/ogc/protocols/ogc-csw/ogc-csw-examples). | ||
|
|
||
| Filter should be based on fields in the [DEM profile](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2). | ||
|
|
||
| Request example: | ||
|
|
||
| ```bash | ||
| curl --location --request POST '<DEM_CATALOG_SERVICE_URL>/csw?token=<token>' \ | ||
| --header 'Content-Type: application/xml' \ | ||
| --data-raw '<?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="1" 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> | ||
asafmas-rnd marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| <csw:Constraint version="1.1.0"> | ||
| <Filter xmlns="http://www.opengis.net/ogc"> | ||
| <And> | ||
| <PropertyIsEqualTo> | ||
| <PropertyName>mc:productId</PropertyName> | ||
| <Literal>mimad</Literal> | ||
| </PropertyIsEqualTo> | ||
| <PropertyIsEqualTo> | ||
| <PropertyName>mc:productType</PropertyName> | ||
| <Literal>DSM</Literal> | ||
| </PropertyIsEqualTo> | ||
| </And> | ||
| </Filter> | ||
| </csw:Constraint > | ||
| </csw:Query> | ||
| </csw:GetRecords>' | ||
| ``` | ||
|
|
||
| Response: | ||
|
|
||
| ```xml | ||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
| <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:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mc="http://schema.mapcolonies.com/dem" 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="2026-02-15T13:53:32Z"/> | ||
| <csw:SearchResults numberOfRecordsMatched="1" numberOfRecordsReturned="1" nextRecord="0" recordSchema="http://schema.mapcolonies.com/dem" elementSet="full"> | ||
| <mc:MCDEMRecord> | ||
| <mc:acquisitionTimeBeginUTC>2019-12-31T11:00:00Z</mc:acquisitionTimeBeginUTC> | ||
| <mc:acquisitionTimeEndUTC>2019-12-31T11:00:00Z</mc:acquisitionTimeEndUTC> | ||
| <mc:areaOrPoint>Area</mc:areaOrPoint> | ||
| <mc:classification>0</mc:classification> | ||
| <mc:dataType>FLOAT32</mc:dataType> | ||
| <mc:description></mc:description> | ||
| <mc:footprint>{"type":"Polygon","coordinates":[[[0,0],[10,0],[10,10],[0,0]]]}</mc:footprint> | ||
| <mc:geoidModel>egm96</mc:geoidModel> | ||
| <mc:id>e2d812ba-40b7-4dfe-b3e7-869356467d3a</mc:id> | ||
| <mc:ingestionDateUTC>2025-12-31T10:17:16Z</mc:ingestionDateUTC> | ||
| <mc:insertDateUTC>2020-12-31T11:00:00Z</mc:insertDateUTC> | ||
| <mc:links scheme="WCS" name="mimad-DSM" description=""><WCS_SERVICE_URL>/wcs?request=GetCapabilities</mc:links> | ||
| <mc:links scheme="WCS_BASE" name="mimad-DSM" description=""><WCS_SERVICE_URL>/wcs</mc:links> | ||
| <mc:links scheme="WFS_BASE" name="mimad-DSM" description=""><WFS_SERVICE_URL>/wfs?request=GetCapabilities</mc:links> | ||
| <mc:links scheme="Download" name="mimad-DSM" description=""><DOWNLOAD_SERVICE_URL>/path/to/file.ext</mc:links> | ||
| <mc:maxAbsoluteAccuracyLEP90>2</mc:maxAbsoluteAccuracyLEP90> | ||
| <mc:maxHorizontalAccuracyCEP90>6</mc:maxHorizontalAccuracyCEP90> | ||
| <mc:maxRelativeAccuracyLEP90>4</mc:maxRelativeAccuracyLEP90> | ||
| <mc:maxResolutionDegree>0.0004</mc:maxResolutionDegree> | ||
| <mc:maxResolutionMeter>40</mc:maxResolutionMeter> | ||
| <mc:minAbsoluteAccuracyLEP90>1</mc:minAbsoluteAccuracyLEP90> | ||
| <mc:minHorizontalAccuracyCEP90>5</mc:minHorizontalAccuracyCEP90> | ||
| <mc:minRelativeAccuracyLEP90>3</mc:minRelativeAccuracyLEP90> | ||
| <mc:minResolutionDegree>0.0004</mc:minResolutionDegree> | ||
| <mc:minResolutionMeter>40</mc:minResolutionMeter> | ||
| <mc:noDataValue>-32768</mc:noDataValue> | ||
| <mc:producerName>PRODUCER</mc:producerName> | ||
| <mc:productId>mimad</mc:productId> | ||
| <mc:productName>mimad</mc:productName> | ||
| <mc:productType>DSM</mc:productType> | ||
| <mc:productVersion>1</mc:productVersion> | ||
| <mc:region>region</mc:region> | ||
| <mc:sensors>sensors</mc:sensors> | ||
| <mc:srsId>srs_id</mc:srsId> | ||
| <mc:srsName>WGS84GEO</mc:srsName> | ||
| <mc:type>RECORD_DEM</mc:type> | ||
| <mc:updateDateUTC>2020-12-31T11:00:00Z</mc:updateDateUTC> | ||
| <ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2"> | ||
| <ows:LowerCorner>0.0 0.0</ows:LowerCorner> | ||
| <ows:UpperCorner>10.0 10.0</ows:UpperCorner> | ||
| </ows:BoundingBox> | ||
| </mc:MCDEMRecord> | ||
| </csw:SearchResults> | ||
| </csw:GetRecordsResponse> | ||
| ``` | ||
|
|
||
| We want to extract the value of the `links` tag with the `scheme=Download` attribue for the next step. | ||
|
|
||
| ## Download the source material (Step 2) | ||
|
|
||
| Now we can make a request for the material: | ||
| ```bash | ||
| curl --location '<DOWNLOAD_SERVICE_URL>/path/to/file.ext?token=<token>' | ||
| ``` | ||
|
|
||
| :::note | ||
| Materials may be very large so we suggest you implement a fail-safe strategy and prepare for long download times. | ||
| ::: | ||
Uh oh!
There was an error while loading. Please reload this page.