From 9f0baeb44e0ffb968070e60d9d8b907d41844b42 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Sun, 15 Feb 2026 13:47:22 +0200 Subject: [PATCH 01/10] docs(dem): v2 WIP --- .../DEM/Guides/height_extraction.md | 735 ++++++++++++++++++ ...getting_started.md => terrain_provider.md} | 8 +- .../DEM/Services/catalog/profile_v1_0.md | 29 +- .../DEM/Services/catalog/profile_v2_0.md | 84 ++ .../Raster/services/catalog/profile_v1_0.md | 2 +- docs/ogc/protocols/ogc-wcs.md | 128 ++- sidebars.js | 9 +- 7 files changed, 972 insertions(+), 23 deletions(-) create mode 100644 docs/MapColonies/DEM/Guides/height_extraction.md rename docs/MapColonies/DEM/Guides/{DEM_getting_started.md => terrain_provider.md} (98%) create mode 100644 docs/MapColonies/DEM/Services/catalog/profile_v2_0.md diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md new file mode 100644 index 000000000..af9170246 --- /dev/null +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -0,0 +1,735 @@ +--- +id: height-extraction +slug: height-extraction +title: Height Extraction +tags: + - guide + - DEM + - DTM + - DSM + - getting-started +--- + +## Step by step guide +The following guide will help you understand ***Step-by-step*** how to work with the Map Colonies Height Extraction service, from the [Catalog](/docs/MapColonies/DEM/Services/catalog/dem-catalog) to the WCS protocol. + +:::warning +This guide is for using height extraction for algorithm usage and **not for viewing purposes**. +::: + +:::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). +::: + +## Flow diagram +```mermaid +flowchart LR + subgraph Prerequisite + direction LR + a1[Define filter] + a2[Get Auth Token] + end + + a1 -- filter --> B[STEP 1
Query CSW catalog] + a2 -- token --> B + subgraph Metadata drill-down + direction LR + c1[STEP 2
Get DEM metadata] + c2[STEP 2.1 optional
Get terrain provider URI] + end + B -- xml --> c1 + B -- xml --> c2 + c1 -. IN DEVELOPMENT
metadata
of available for export data .-> E[STEP 3
Your system] + c2 -- terrain_URI --> D[STEP 3.1
Cesium] + + linkStyle 4 color:green,stroke:#f4cccc,stroke-width:5px %% Arrow +``` + +## 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). + +### Get all records (pagination) + +When we want to get all of the records in the catalog we can make the following query: + +```bash +curl --location --request POST '/csw?token=' \ +--header 'Content-Type: application/xml' \ +--data-raw ' + + + full + +' +``` + +
+ Response + ```xml + + + + + + 2019-12-31T11:00:00Z + 2019-12-31T11:00:00Z + Area + 0 + FLOAT32 + + {"type":"Polygon","coordinates":[[[0,0],[10,0],[10,10],[0,0]]]} + egm96 + e2d812ba-40b7-4dfe-b3e7-869356467d3a + 2025-12-31T10:17:16Z + 2020-12-31T11:00:00Z + /wcs?request=GetCapabilities + /path/to/file.ext + 2 + 6 + 4 + 0.0004 + 40 + 1 + 5 + 3 + 0.0004 + 40 + -32768 + IDFMU + 81d2b9b0-a99f-45da-8dce-b83323d22d1c + product_name_2 + DSM + 1 + region + sensors + 4326 + WGS84GEO + RECORD_DEM + 2020-12-31T11:00:00Z + + 0.0 0.0 + 10.0 10.0 + + + + + ``` +
+ +Notice the attriutes `startPosition` and `maxRecords`, both of them help us to implement the `pagination` concept. In result, we get the following attributes in the response: + +- `numberOfRecordsMatched` indicating the total amount of records in the catalog matching our filters +- `numberOfRecordsReturned` indicating the amount of records returned for this request (may be less than `maxRecords` given in the request) +- `nextRecord` the value that should be passed for `startPosition` in the following request + +Our next request should look like this: + +```bash +curl --location --request POST '/csw?token=' \ +--header 'Content-Type: application/xml' \ +--data-raw ' + + + full + +' +``` + +### Get all records with productType DTM + +```bash +curl --location --request POST '/csw?token=' \ +--header 'Content-Type: application/xml' \ +--data-raw ' + + + full + + + + mc:productType + DTM + + + + +' +``` + +
+ Response + ```xml + + + + + + 2024-12-31T11:00:00Z + 2024-12-31T11:00:00Z + Area + 0 + FLOAT32 + {"type":"Polygon","coordinates":[[[0,0],[10,0],[10,10],[0,0]]]} + egm96 + d2d812ba-40b7-4dfe-b3e7-869356467d3a + 2025-12-31T09:55:51Z + 2025-12-31T11:00:00Z + /wcs?request=GetCapabilities + /path/to/file.ext + 2 + 6 + 4 + 0.0004 + 40 + 1 + 5 + 3 + 0.0004 + 40 + -32768 + IDFMU + 71d2b9b0-a99f-45da-8dce-b83323d22d1c + product_name_1 + DTM + 1 + region + sensors + 4326 + WGS84GEO + RECORD_DEM + 2025-12-31T11:00:00Z + + 0.0 0.0 + 10.0 10.0 + + + + + ``` +
+ +### Get all records with productType DTM and contained in a given BBOX + +```bash +curl --location --request POST '/csw?token=' \ +--data-raw ' + + + full + + + + + mc:productType + DTM + + + ows:BoundingBox + + -10 -10 + 20 20 + + + + + + +' +``` + +### Get all records with productType DTM and contained in a given Polygon + +```bash +curl --location --request POST '/csw?token=' \ +--data-raw ' + + + full + + + + + mc:productType + DTM + + + ows:BoundingBox + + + + + [COORD1_X],[COORD1_Y] [COORD2_X],[COORD2_Y] [COORD3_X],[COORD3_Y] [COORD4_X],[COORD4_Y] ... [COORDN_X],[COORDN_Y] [COORD1_X],[COORD1_Y] + + + + + + + + + +' +``` + +## Get metadata (Step 2) + +In the Response, look for desired data according to profile definition. + +For the next steps you may want to examine the information returned from the `catalog` and extraction service additional requests in order to make calculated decisions about which `product` to use. + +### Catalog service + +:::info +For details about each filed read more [here](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2). +::: + +Fields you may want to filter by: +| **Field name / Partial name** | **Filter purpose** | +| ----------- | ----------- | +| footprint | Specific geographical area | +| ...Accuracy... | | +| ...Resolution... | | +| productType | Specific product type (for example: only DTM) | +| srsId / srsName | Wanted SRS | +| ingestionDateUTC | Layers that were ingested before / after a given time | +| updateDateUTC | Layers that were updated before / after a given time | + +### Extraction service capabilities + +:::info +Read more about this request [here](/docs/ogc/protocols/ogc-wcs#getcapabilities). +::: + +```bash +/wcs?request=GetCapabilities&token= +``` + +
+ Response + ```xml + + + + + + urn:ogc:service:wcs + 2.0.1 + 1.1.1 + 1.1.0 + http://www.opengis.net/spec/WCS/2.0/conf/core + http://www.opengis.net/spec/WCS_protocol-binding_get-kvp/1.0.1 + http://www.opengis.net/spec/WCS_protocol-binding_post-xml/1.0 + http://www.opengis.net/spec/WCS_service-extension_crs/1.0/conf/crs-gridded-coverage + + + + http://www.opengis.net/spec/GMLCOV/1.0/conf/gml-coverage + http://www.opengis.net/spec/GMLCOV/1.0/conf/special-format + http://www.opengis.net/spec/GMLCOV/1.0/conf/multipart + http://www.opengis.net/spec/WCS_service-extension_scaling/1.0/conf/scaling + http://www.opengis.net/spec/WCS_service-extension_crs/1.0/conf/crs + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/interpolation + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/interpolation-per-axis + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/nearest-neighbor + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/linear + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/cubic + http://www.opengis.net/spec/WCS_service-extension_range-subsetting/1.0/conf/record-subsetting + NONE + NONE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XML + + + + + application/gml+xml + image/jpeg + image/png + image/tiff + image/tiff;application=geotiff + text/plain + + + ... + http://www.opengis.net/def/crs/EPSG/0/3857 + ... + http://www.opengis.net/def/crs/EPSG/0/4326 + ... + http://www.opengis.net/def/crs/EPSG/0/32600 + http://www.opengis.net/def/crs/EPSG/0/32601 + http://www.opengis.net/def/crs/EPSG/0/32602 + http://www.opengis.net/def/crs/EPSG/0/32603 + http://www.opengis.net/def/crs/EPSG/0/32604 + http://www.opengis.net/def/crs/EPSG/0/32605 + http://www.opengis.net/def/crs/EPSG/0/32606 + http://www.opengis.net/def/crs/EPSG/0/32607 + http://www.opengis.net/def/crs/EPSG/0/32608 + http://www.opengis.net/def/crs/EPSG/0/32609 + http://www.opengis.net/def/crs/EPSG/0/32610 + http://www.opengis.net/def/crs/EPSG/0/32611 + http://www.opengis.net/def/crs/EPSG/0/32612 + http://www.opengis.net/def/crs/EPSG/0/32613 + http://www.opengis.net/def/crs/EPSG/0/32614 + http://www.opengis.net/def/crs/EPSG/0/32615 + http://www.opengis.net/def/crs/EPSG/0/32616 + http://www.opengis.net/def/crs/EPSG/0/32617 + http://www.opengis.net/def/crs/EPSG/0/32618 + http://www.opengis.net/def/crs/EPSG/0/32619 + http://www.opengis.net/def/crs/EPSG/0/32620 + http://www.opengis.net/def/crs/EPSG/0/32621 + http://www.opengis.net/def/crs/EPSG/0/32622 + http://www.opengis.net/def/crs/EPSG/0/32623 + http://www.opengis.net/def/crs/EPSG/0/32624 + http://www.opengis.net/def/crs/EPSG/0/32625 + http://www.opengis.net/def/crs/EPSG/0/32626 + http://www.opengis.net/def/crs/EPSG/0/32627 + http://www.opengis.net/def/crs/EPSG/0/32628 + http://www.opengis.net/def/crs/EPSG/0/32629 + http://www.opengis.net/def/crs/EPSG/0/32630 + http://www.opengis.net/def/crs/EPSG/0/32631 + http://www.opengis.net/def/crs/EPSG/0/32632 + http://www.opengis.net/def/crs/EPSG/0/32633 + http://www.opengis.net/def/crs/EPSG/0/32634 + http://www.opengis.net/def/crs/EPSG/0/32635 + http://www.opengis.net/def/crs/EPSG/0/32636 + http://www.opengis.net/def/crs/EPSG/0/32637 + http://www.opengis.net/def/crs/EPSG/0/32638 + http://www.opengis.net/def/crs/EPSG/0/32639 + http://www.opengis.net/def/crs/EPSG/0/32640 + http://www.opengis.net/def/crs/EPSG/0/32641 + http://www.opengis.net/def/crs/EPSG/0/32642 + http://www.opengis.net/def/crs/EPSG/0/32643 + http://www.opengis.net/def/crs/EPSG/0/32644 + http://www.opengis.net/def/crs/EPSG/0/32645 + http://www.opengis.net/def/crs/EPSG/0/32646 + http://www.opengis.net/def/crs/EPSG/0/32647 + http://www.opengis.net/def/crs/EPSG/0/32648 + http://www.opengis.net/def/crs/EPSG/0/32649 + http://www.opengis.net/def/crs/EPSG/0/32650 + http://www.opengis.net/def/crs/EPSG/0/32651 + http://www.opengis.net/def/crs/EPSG/0/32652 + http://www.opengis.net/def/crs/EPSG/0/32653 + http://www.opengis.net/def/crs/EPSG/0/32654 + http://www.opengis.net/def/crs/EPSG/0/32655 + http://www.opengis.net/def/crs/EPSG/0/32656 + http://www.opengis.net/def/crs/EPSG/0/32657 + http://www.opengis.net/def/crs/EPSG/0/32658 + http://www.opengis.net/def/crs/EPSG/0/32659 + http://www.opengis.net/def/crs/EPSG/0/32660 + http://www.opengis.net/def/crs/EPSG/0/32661 + http://www.opengis.net/def/crs/EPSG/0/32662 + http://www.opengis.net/def/crs/EPSG/0/32663 + http://www.opengis.net/def/crs/EPSG/0/32664 + http://www.opengis.net/def/crs/EPSG/0/32665 + http://www.opengis.net/def/crs/EPSG/0/32666 + http://www.opengis.net/def/crs/EPSG/0/32667 + http://www.opengis.net/def/crs/EPSG/0/32700 + http://www.opengis.net/def/crs/EPSG/0/32701 + http://www.opengis.net/def/crs/EPSG/0/32702 + http://www.opengis.net/def/crs/EPSG/0/32703 + http://www.opengis.net/def/crs/EPSG/0/32704 + http://www.opengis.net/def/crs/EPSG/0/32705 + http://www.opengis.net/def/crs/EPSG/0/32706 + http://www.opengis.net/def/crs/EPSG/0/32707 + http://www.opengis.net/def/crs/EPSG/0/32708 + http://www.opengis.net/def/crs/EPSG/0/32709 + http://www.opengis.net/def/crs/EPSG/0/32710 + http://www.opengis.net/def/crs/EPSG/0/32711 + http://www.opengis.net/def/crs/EPSG/0/32712 + http://www.opengis.net/def/crs/EPSG/0/32713 + http://www.opengis.net/def/crs/EPSG/0/32714 + http://www.opengis.net/def/crs/EPSG/0/32715 + http://www.opengis.net/def/crs/EPSG/0/32716 + http://www.opengis.net/def/crs/EPSG/0/32717 + http://www.opengis.net/def/crs/EPSG/0/32718 + http://www.opengis.net/def/crs/EPSG/0/32719 + http://www.opengis.net/def/crs/EPSG/0/32720 + http://www.opengis.net/def/crs/EPSG/0/32721 + http://www.opengis.net/def/crs/EPSG/0/32722 + http://www.opengis.net/def/crs/EPSG/0/32723 + http://www.opengis.net/def/crs/EPSG/0/32724 + http://www.opengis.net/def/crs/EPSG/0/32725 + http://www.opengis.net/def/crs/EPSG/0/32726 + http://www.opengis.net/def/crs/EPSG/0/32727 + http://www.opengis.net/def/crs/EPSG/0/32728 + http://www.opengis.net/def/crs/EPSG/0/32729 + http://www.opengis.net/def/crs/EPSG/0/32730 + http://www.opengis.net/def/crs/EPSG/0/32731 + http://www.opengis.net/def/crs/EPSG/0/32732 + http://www.opengis.net/def/crs/EPSG/0/32733 + http://www.opengis.net/def/crs/EPSG/0/32734 + http://www.opengis.net/def/crs/EPSG/0/32735 + http://www.opengis.net/def/crs/EPSG/0/32736 + http://www.opengis.net/def/crs/EPSG/0/32737 + http://www.opengis.net/def/crs/EPSG/0/32738 + http://www.opengis.net/def/crs/EPSG/0/32739 + http://www.opengis.net/def/crs/EPSG/0/32740 + http://www.opengis.net/def/crs/EPSG/0/32741 + http://www.opengis.net/def/crs/EPSG/0/32742 + http://www.opengis.net/def/crs/EPSG/0/32743 + http://www.opengis.net/def/crs/EPSG/0/32744 + http://www.opengis.net/def/crs/EPSG/0/32745 + http://www.opengis.net/def/crs/EPSG/0/32746 + http://www.opengis.net/def/crs/EPSG/0/32747 + http://www.opengis.net/def/crs/EPSG/0/32748 + http://www.opengis.net/def/crs/EPSG/0/32749 + http://www.opengis.net/def/crs/EPSG/0/32750 + http://www.opengis.net/def/crs/EPSG/0/32751 + http://www.opengis.net/def/crs/EPSG/0/32752 + http://www.opengis.net/def/crs/EPSG/0/32753 + http://www.opengis.net/def/crs/EPSG/0/32754 + http://www.opengis.net/def/crs/EPSG/0/32755 + http://www.opengis.net/def/crs/EPSG/0/32756 + http://www.opengis.net/def/crs/EPSG/0/32757 + http://www.opengis.net/def/crs/EPSG/0/32758 + http://www.opengis.net/def/crs/EPSG/0/32759 + http://www.opengis.net/def/crs/EPSG/0/32760 + http://www.opengis.net/def/crs/EPSG/0/32761 + http://www.opengis.net/def/crs/EPSG/0/32762 + http://www.opengis.net/def/crs/EPSG/0/32763 + http://www.opengis.net/def/crs/EPSG/0/32764 + http://www.opengis.net/def/crs/EPSG/0/32765 + http://www.opengis.net/def/crs/EPSG/0/32766 + ... + + + http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor + http://www.opengis.net/def/interpolation/OGC/1/linear + http://www.opengis.net/def/interpolation/OGC/1/cubic + + + + + + mimad + + mimad + WCS + GeoTIFF + + dem__mimad + RectifiedGridCoverage + + 473139.25219177455 3230615.3954787063 + 873608.5831505858 3831319.391916923 + + + 32.70697763422942 29.149161895068794 + 37.071150249328454 34.62339561526329 + + + + mimad + + mimad + WCS + GeoTIFF + + dem__mimad + RectifiedGridCoverage + + 473139.25219177455 3230615.3954787063 + 873608.5831505858 3831319.391916923 + + + 32.70697763422942 29.149161895068794 + 37.071150249328454 34.62339561526329 + + + + srtm30 + + srtm30 + WCS + GeoTIFF + + dem__srtm30 + RectifiedGridCoverage + + 34.716796875 32.16796875 + 35.68359375 32.958984375 + + + 34.716796875 32.16796875 + 35.68359375 32.958984375 + + + + + + ``` +
+ +#### Understanding the capabilities response + +Read more [here](/docs/ogc/protocols/ogc-wcs#understanding-capabilities). + +### Extraction service coverage metadata + +:::info +Read more about this request [here](/docs/ogc/protocols/ogc-wcs#describecoverage). +::: + +```bash +curl --location --request GET '/wcs?request=DescribeCoverage&version=2.0.1&coverageId=srtm30&token=' +``` + +
+ Response + ```xml + + + + Generated from GeoTIFF + srtm30 + + + 32.16796875 34.716796875 + 32.958984375 35.68359375 + + + dem__srtm30 + + + Linear + 0 0 + + + + + + srtm30 + WCS + GeoTIFF + + + + + + + + 0 0 + 2815 2303 + + + i j + + + 32.95881271362305 34.71696853637695 + + + 0.0 3.4332275390625E-4 + -3.4332275390625E-4 0.0 + + + + + + + GRAY_INDEX + + + -32768.0 + + + + + + -32768 32767 + + + + + + + + RectifiedGridCoverage + image/tiff + + + + ``` +
+ +You should save the `srsName`, `axisLabels` and `srsDimension` attributes for [step 3](#get-coverage). + +#### Understanding the extraction service coverage metadata + +Read more [here](/docs/ogc/protocols/ogc-wcs#understanding-describe-coverage). + +## Request elevation data (Step 3) {#get-coverage} + +Now we can actually make a request for elevation data. + +:::danger +We recommend you don't use the following `query parameters` when making requests: +- bbox_width +- bbox_height +- subset +- scalesize + +These parameters require additional calculations on the server-side which means that the original data is changed on-the-fly resulting in new data with different attributes such as `resolution` or `accuracy`. +**Any** use of these parameters is the sole responsibility of the user as we cannot know the resulting requests metadata. +::: + +### Get + +Replace `` with the URL link that you got from **Step 2.1 (optional)**. + +Replace `` with the token you have. diff --git a/docs/MapColonies/DEM/Guides/DEM_getting_started.md b/docs/MapColonies/DEM/Guides/terrain_provider.md similarity index 98% rename from docs/MapColonies/DEM/Guides/DEM_getting_started.md rename to docs/MapColonies/DEM/Guides/terrain_provider.md index e7c5573bf..7e02cf51e 100644 --- a/docs/MapColonies/DEM/Guides/DEM_getting_started.md +++ b/docs/MapColonies/DEM/Guides/terrain_provider.md @@ -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 @@ -41,7 +41,7 @@ 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) Example query based on `mc:classification` profile field ```xml title="GetRecords Request" diff --git a/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md b/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md index 57156bed1..929e2eb77 100644 --- a/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md +++ b/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md @@ -1,6 +1,6 @@ --- id: dem-profile-v1 -slug: catalog-profile-v1 +slug: dem-catalog-profile-v1 description: v1 Profile title: Profile v1 tags: @@ -15,6 +15,31 @@ 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! + +

The following parameters are depracted an will be removed in v2

+ +| **PYCSW Queryable/XML
Element Name** | **Type** | **Description** | +| ----------- | ----------- | ----------- | +| mc:imagingTimeBeginUTC | date | start imaging date of raw product
supported format: **dd/mm/yyyy (not later than "End date")** | +| mc:imagingTimeEndUTC | date | end imaging date of raw product
supported format: **dd/mm/yyyy (not earlier than "Begin date")** | +| mc:resolutionDeg | double | the product resolution in degrees
double unsigned valid: **0.00000009 to 0.072** | +| mc:resolutionMeter | double | the product resolution in meters
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")
valid: **-500 to 9000** | +| mc:heightRangeTo | double | **maximum** height range in Meters (not less than "heightRangeFrom")
valid: **-500 to 9000** | +| mc:SRS | int | reference System ID (EPSG),
ex: 4326 / 3857 | +| mc:verticalDatum | enum | **Valid Values**:
WGS 1984 / WGS 1972 / Pulkovo 1942 / MSL Height / Israel | +| mc:units | enum | **Valid Values**:
METER / DD / DMS / ARC_SECONDS / UNKNOWN | +| mc:geographicArea | text | geographic area cities | +| mc:undulationModel | enum | **Valid Values**:
MSL EGM96 / MSL EGM2008 / MSL DMA10 / ILUM | +| mc:productBBox | text | the bounding box of the product minX,minY,maxX,maxY | + +::: + | **PYCSW Queryable/XML
Element Name** | **Type** | **Description** | | ----------- | ----------- | ----------- | | mc:id | text | unique internal catalog item id | @@ -35,7 +60,7 @@ tags: | mc:heightRangeTo | double | **maximum** height range in Meters (not less than "heightRangeFrom")
valid: **-500 to 9000** | | mc:SRS | int | reference System ID (EPSG),
ex: 4326 / 3857 | | mc:SRSName | text | name of reference system | -| mc:verticalDatum | enum | **Valid Values**:
WGS 1984 / WGS 1972 / Pulkovo 1942 / Palestine 1923 / MSL Height / Israel / ED 1950 IDF | +| mc:verticalDatum | enum | **Valid Values**:
WGS 1984 / WGS 1972 / Pulkovo 1942 / MSL Height / Israel | | mc:region | text | sector / countries
comma separated list | | mc:classification | enum | product classification / confidentiality
Classification values | | mc:producerName | text | manufacturer / organization that produced / supplied the product | diff --git a/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md b/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md new file mode 100644 index 000000000..520df8830 --- /dev/null +++ b/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md @@ -0,0 +1,84 @@ +--- +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 + +| **PYCSW Queryable/XML
Element Name** | **Type** | **Description** | +| ----------- | ----------- | ----------- | +| mc:productVersion | int | the product version | +| mc:srsId | int | reference System ID (EPSG),
ex: 4326 / 3857 | +| mc:dataType | enum | **Valid Values**:
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
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**:
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),
ex: 4326 / 3857 | +| mc:srsName | text | name of reference system | +| mc:dataType | enum | **Valid Values**:
FLOAT64 / FLOAT32 / FLOAT16 / INT64 / INT32 / INT16 / INT8 | +| mc:sensors | text | list of sensors used as a source for the product
comma separated list | +| mc:region | text | sector / countries
comma separated list | +| mc:insertDateUTC | date | the date when the product was added to catalog
supported format: **dd-mm-yyyyThh:mm:ssZ** | +| mc:ingestionDateUTC | date | when last was the **data** or **parts** updated
supported format: **dd-mm-yyyyThh:mm:ssZ** | +| mc:updateDateUTC | date | when last was the MD updated
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 | | +| 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
Classification values | +| mc:producerName | text | manufacturer / organization that produced / supplied the product | +| mc:noDataValue | enum | **Valid Values**:
-32768 | +| mc:type | enum | type of the catalog
**Valid values**: RECORD_RASTER / RECORD_3D / RECORD_DEM
default: ***RECORD_DEM***| +| mc:keywords | text | list of key words relevant for product | diff --git a/docs/MapColonies/Raster/services/catalog/profile_v1_0.md b/docs/MapColonies/Raster/services/catalog/profile_v1_0.md index 3b3109d2b..acc24b4cb 100644 --- a/docs/MapColonies/Raster/services/catalog/profile_v1_0.md +++ b/docs/MapColonies/Raster/services/catalog/profile_v1_0.md @@ -17,7 +17,7 @@ tags: :::warning New version [v2](/docs/MapColonies/Raster/services/catalog/raster-catalog-profile-v2) is coming! -

The following parameters are depracted an will be removed in v2

+

The following parameters are deprecated and will be removed in v2

| **PYCSW Queryable/XML
Element Name** | **Type** | **Description** | | ----------- | ----------- | ----------- | diff --git a/docs/ogc/protocols/ogc-wcs.md b/docs/ogc/protocols/ogc-wcs.md index ffc65936e..facf42092 100644 --- a/docs/ogc/protocols/ogc-wcs.md +++ b/docs/ogc/protocols/ogc-wcs.md @@ -26,7 +26,7 @@ tags: A WCS server responding to a **GetCapabilities** request returns metadata about the service, including supported operations and parameters, and a list of the available layers. ``` -/geoserver/ows? +/ows? service=WCS& version=2.0.1& request=GetCapabilities @@ -78,36 +78,36 @@ request=GetCapabilities - + - + - + - + - + - + @@ -332,7 +332,6 @@ request=GetCapabilities - ``` @@ -341,11 +340,23 @@ This request shows an XML file containing the WCS 2.0.1 ***GetCapabilities*** re +### Understanding the capabilities response {#understanding-capabilities} + +| **Tag name** | **Use** | +| ----------- | ----------- | +| OperationsMetadata | Provides details about the service's available operations. | +| formatSupported | Located under the `ServiceMetadata` tag.
Lists the supported formats. | +| Extension | Located under the `ServiceMetadata` tag.
Lists all of the supported crs. | +| InterpolationMetadata | Located under the `Extension` tag.
Lists all of the available interpolation methods available. | +| Contents | Information about the available coverages. | + ## DescribeCoverage The purpose of the **DescribeCoverage** request is to additional information about a Coverage a client wants to query. It returns information about the crs, the metadata, the domain, the range and the formats it is available in. A client generally will need to issue a DescribeCoverage request before being sure it can make the proper GetCoverage request +### Version 1.0.0 + ``` -/geoserver/ows? +/ows? SERVICE=WCS& VERSION=1.0.0& REQUEST=DescribeCoverage& @@ -354,10 +365,9 @@ COVERAGE=n30_e034_1arc_v3
Response example - ``` xml - + Generated from GeoTIFF dem:n30_e034_1arc_v3 @@ -443,7 +453,97 @@ COVERAGE=n30_e034_1arc_v3 ```
-This request shows an XML file containing the DescribeCoverage response of ***n30_e034_1arc_v3*** layer. +### Version 2.0.1 + +```bash +curl --location --request GET '/wcs?request=DescribeCoverage&version=2.0.1&coverageId=srtm30&token=' +``` + +
+ Response + ```xml + + + + Generated from GeoTIFF + srtm30 + + + 32.16796875 34.716796875 + 32.958984375 35.68359375 + + + dem__srtm30 + + + Linear + 0 0 + + + + + + srtm30 + WCS + GeoTIFF + + + + + + + + 0 0 + 2815 2303 + + + i j + + + 32.95881271362305 34.71696853637695 + + + 0.0 3.4332275390625E-4 + -3.4332275390625E-4 0.0 + + + + + + + GRAY_INDEX + + + -32768.0 + + + + + + -32768 32767 + + + + + + + + RectifiedGridCoverage + image/tiff + + + + ``` +
+ +#### Understanding the describe coverage response {#understanding-describe-coverage} + +Notice the tag `boundedBy`, it describes the geographic extent of the coverage, It includes the following attributes: +| **Attribute name** | **Details** | **Example** | +| ----------- | ----------- | ----------- | +| srsName | Coverage SRS | http://www.opengis.net/def/crs/EPSG/0/4326 | +| axisLabels | Labels to use to describe the coverage axis | Lat Long | +| srsDimension | Dimension of points in the coverage | 2 | ## GetCoverage The **GetCoverage** operation requests the actual spatial data. It can retrieve subsets of coverages, and the result can be either the coverage itself or a reference to it. The most powerful thing about a GetCoverage request is its ability to subset domains (height and time) and ranges. It can also do resampling, encode in different data formats, and return the resulting file in different ways. @@ -451,7 +551,7 @@ The **GetCoverage** operation requests the actual spatial data. It can retrieve Detailed explanation about params might be found [here](https://www.mapserver.org/ogc/wcs_server.html) 🌐 ``` -/geoserver/ows? +/ows? SERVICE=WCS& VERSION=1.0.0& REQUEST=GetCoverage& @@ -463,4 +563,4 @@ HEIGHT=2833& FORMAT=PNG ``` -Downloaded data/image for **n30_e034_1arc_v3** layer for **EPSG:4326** projection and for defined **BBOX** +With this request we have successfully fetched data/image for **n30_e034_1arc_v3** layer for **EPSG:4326** projection and for defined **BBOX**! :tada: diff --git a/sidebars.js b/sidebars.js index 0d911c885..d24b040e0 100644 --- a/sidebars.js +++ b/sidebars.js @@ -74,8 +74,13 @@ const sidebars = { items: [ { type: 'doc', - label: 'Getting Started', - id: 'MapColonies/DEM/Guides/dem-getting-started' + label: 'Terrain Provider', + id: 'MapColonies/DEM/Guides/terrain-provider' + }, + { + type: 'doc', + label: 'Height Extraction', + id: 'MapColonies/DEM/Guides/height-extraction' }, ] }, From 979d501ac91efa90543567f24343ccbb088c74ff Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Sun, 15 Feb 2026 18:39:10 +0200 Subject: [PATCH 02/10] docs(dem): v2 WIP --- .../DEM/Guides/height_extraction.md | 174 ++++++++++++++---- docs/MapColonies/obligations.md | 35 +++- 2 files changed, 166 insertions(+), 43 deletions(-) diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index af9170246..c2eec4f9d 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -10,6 +10,9 @@ tags: - getting-started --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + ## Step by step guide The following guide will help you understand ***Step-by-step*** how to work with the Map Colonies Height Extraction service, from the [Catalog](/docs/MapColonies/DEM/Services/catalog/dem-catalog) to the WCS protocol. @@ -55,8 +58,8 @@ Query the **DEM catalog** service to find item(s) according to a desired filter Filter should be based on fields in the [DEM profile](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2). -### Get all records (pagination) - + + When we want to get all of the records in the catalog we can make the following query: ```bash @@ -90,6 +93,8 @@ curl --location --request POST '/csw?token=' \ 2025-12-31T10:17:16Z 2020-12-31T11:00:00Z /wcs?request=GetCapabilities + /wcs + /wfs?request=GetCapabilities /path/to/file.ext 2 6 @@ -102,8 +107,8 @@ curl --location --request POST '/csw?token=' \ 0.0004 40 -32768 - IDFMU - 81d2b9b0-a99f-45da-8dce-b83323d22d1c + PRODUCER + product_name_2 product_name_2 DSM 1 @@ -122,33 +127,102 @@ curl --location --request POST '/csw?token=' \ ``` + -Notice the attriutes `startPosition` and `maxRecords`, both of them help us to implement the `pagination` concept. In result, we get the following attributes in the response: - -- `numberOfRecordsMatched` indicating the total amount of records in the catalog matching our filters -- `numberOfRecordsReturned` indicating the amount of records returned for this request (may be less than `maxRecords` given in the request) -- `nextRecord` the value that should be passed for `startPosition` in the following request + +To fetch a specific layer you need the following values: +1. `productId` +2. `productType` -Our next request should look like this: +Usually you make this kind of request when you know there's a specific product that you want. +When you have these values in hand you can make a `POST` request to `/csw` with the following body (replace `productId` and `productType` with real values): ```bash curl --location --request POST '/csw?token=' \ --header 'Content-Type: application/xml' \ --data-raw ' - + full + + + + + mc:productId + product_name_2 + + + mc:productType + DSM + + + + ' ``` -### Get all records with productType DTM - +
+ Response + ```xml + + + + + + 2019-12-31T11:00:00Z + 2019-12-31T11:00:00Z + Area + 0 + FLOAT32 + + {"type":"Polygon","coordinates":[[[0,0],[10,0],[10,10],[0,0]]]} + egm96 + e2d812ba-40b7-4dfe-b3e7-869356467d3a + 2025-12-31T10:17:16Z + 2020-12-31T11:00:00Z + /wcs?request=GetCapabilities + /wcs + /wfs?request=GetCapabilities + /path/to/file.ext + 2 + 6 + 4 + 0.0004 + 40 + 1 + 5 + 3 + 0.0004 + 40 + -32768 + PRODUCER + product_name_2 + product_name_2 + DSM + 1 + region + sensors + srs_id + WGS84GEO + RECORD_DEM + 2020-12-31T11:00:00Z + + 0.0 0.0 + 10.0 10.0 + + + + + ``` +
+
+ ```bash curl --location --request POST '/csw?token=' \ --header 'Content-Type: application/xml' \ --data-raw ' - + full @@ -181,8 +255,10 @@ curl --location --request POST '/csw?token=' \ d2d812ba-40b7-4dfe-b3e7-869356467d3a 2025-12-31T09:55:51Z 2025-12-31T11:00:00Z - /wcs?request=GetCapabilities - /path/to/file.ext + /wcs?request=GetCapabilities + /wcs + /wfs?request=GetCapabilities + /path/to/file.ext 2 6 4 @@ -194,8 +270,8 @@ curl --location --request POST '/csw?token=' \ 0.0004 40 -32768 - IDFMU - 71d2b9b0-a99f-45da-8dce-b83323d22d1c + PRODUCER + product_name_1 product_name_1 DTM 1 @@ -214,13 +290,13 @@ curl --location --request POST '/csw?token=' \ ``` - -### Get all records with productType DTM and contained in a given BBOX - + + +Fetch all products with productType DTM and contained in a given BBOX. ```bash curl --location --request POST '/csw?token=' \ --data-raw ' - + full @@ -243,13 +319,16 @@ curl --location --request POST '/csw?token=' \ ' ``` - -### Get all records with productType DTM and contained in a given Polygon - + + +Fetch all products with productType DTM and contained in a given Polygon. +:::info +We can provide a polygon with as many points as we want as long as the first and last are the same point. +::: ```bash curl --location --request POST '/csw?token=' \ --data-raw ' - + full @@ -277,6 +356,27 @@ curl --location --request POST '/csw?token=' \ ' ``` + +
+ +Notice the attributes `startPosition` and `maxRecords`, both of them help us to implement the `pagination` concept. In result, we get the following attributes in the response: + +- `numberOfRecordsMatched` indicating the total amount of records in the catalog matching our filters +- `numberOfRecordsReturned` indicating the amount of records returned for this request (may be less than `maxRecords` given in the request) +- `nextRecord` the value that should be passed for `startPosition` in the following request + +In case we are fetching the full profile without any filters our next request should look like this: + +```bash +curl --location --request POST '/csw?token=' \ +--header 'Content-Type: application/xml' \ +--data-raw ' + + + full + +' +``` ## Get metadata (Step 2) @@ -295,7 +395,7 @@ Fields you may want to filter by: | ----------- | ----------- | | footprint | Specific geographical area | | ...Accuracy... | | -| ...Resolution... | | +| ...Resolution... | Mix and Max resolution | | productType | Specific product type (for example: only DTM) | | srsId / srsName | Wanted SRS | | ingestionDateUTC | Layers that were ingested before / after a given time | @@ -626,8 +726,11 @@ Read more [here](/docs/ogc/protocols/ogc-wcs#understanding-capabilities). Read more about this request [here](/docs/ogc/protocols/ogc-wcs#describecoverage). ::: +For this step we need the `coverageId` of a product we selected from the previous steps. The wanted ID should look like this: `-`. +Lets select the product `product_name_1`, this means our ID will be `product_name_1-DTM` and our request will be: + ```bash -curl --location --request GET '/wcs?request=DescribeCoverage&version=2.0.1&coverageId=srtm30&token=' +curl --location --request GET '/wcs?request=DescribeCoverage&version=2.0.1&coverageId=product_name_1-DTM&token=' ```
@@ -635,16 +738,16 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve ```xml - + Generated from GeoTIFF - srtm30 + product_name_1-DTM 32.16796875 34.716796875 32.958984375 35.68359375 - dem__srtm30 + dem__product_name_1-DTM Linear @@ -654,14 +757,14 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve - srtm30 + product_name_1-DTM WCS GeoTIFF - + 0 0 @@ -670,7 +773,7 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve i j - + 32.95881271362305 34.71696853637695 @@ -728,6 +831,9 @@ These parameters require additional calculations on the server-side which means **Any** use of these parameters is the sole responsibility of the user as we cannot know the resulting requests metadata. ::: +For all of the examples in this section we need the following parameters: +- coverageId - + ### Get Replace `` with the URL link that you got from **Step 2.1 (optional)**. diff --git a/docs/MapColonies/obligations.md b/docs/MapColonies/obligations.md index 5e87f7cb5..ada74ded1 100644 --- a/docs/MapColonies/obligations.md +++ b/docs/MapColonies/obligations.md @@ -7,7 +7,7 @@ tags: - obligations - recommendations - catalog - - catalogue + - catalog - raster - vector - 3d @@ -16,23 +16,33 @@ tags: Here we detail the must-haves for every application that wishes to work with our services. +## Common (for all services) + ### Application Startup -When your application is loaded or refreshed you are required make a request to our `catalogue` services in order to fetch **up-to-date information**. Caching the request may result in errors due to changed metadata and links, new products or even deleted products that don't exist anymore. +When your application is loaded or refreshed you are required make a request to our `catalog` services in order to fetch **up-to-date information**. Caching the request may result in errors due to changed metadata and links, new products or even deleted products that don't exist anymore. ### Catalog items -In order to use our services you are required to go through the catalogue. The `catalogue` is the gateway to many of our services, it details the available `products` and `product metadata` for a particular domain. +In order to use our services you are required to go through the catalog. The `catalog` is the gateway to many of our services, it details the available `products` and `product metadata` for a particular domain. ### Hardcoded Links -We require that you fetch and extract any link that is available in our `catalogue services` through your code.
-Any link that **isn't available** through the catalogue service may be held as an **easily configurable** parameter. +We require that you fetch and extract any link that is available in our `catalog services` through your code.
+Any link that **isn't available** through the catalog service may be held as an **easily configurable** parameter. :::warning -We hold the right to change any link that is available through our catalogue services at any time. +We hold the right to change any link that is available through our catalog services at any time. ::: +### Pagination + +Some of our services return multiple results per request, according to filter parameters, and due to geographic entities the returned payload may be very large. In order to solve this issue we implement `pagination` using special parameters. + +You should be using `pagination` in order to control the amount of results returned and easily split a request that yields a huge amount of data or records in to multiple requests. Read more in the documentation page for each service in order to understand how to use this feature. + +## Raster + ### Basemaps At application startup there is usually a set of default Raster layers that are displayed. @@ -41,8 +51,15 @@ in case you want to use different layers in the future. We also recommend that the layers are loaded in the same order as described in the list for easy swapping. -### Pagination +## DEM -Some of our services return multiple results per request, according to filter parameters, and due to geographic entities the returned payload may be very large. In order to solve this issue we implement `pagination` using special parameters. +### Using WCS specific parameters -You should be using `pagination` in order to control the amount of results returned and easily split a request that yields a huge amount of data or records in to multiple requests. Read more in the documentation page for each service in order to understand how to use this feature. +We recommend you don't use the following `query parameters` when making requests: +- bbox_width +- bbox_height +- subset +- scalesize + +These parameters require additional calculations on the server-side which means that the original data is changed on-the-fly resulting in new data with different attributes such as `resolution` or `accuracy`. +**Any** use of these parameters is the sole responsibility of the user as we cannot know the resulting requests metadata. From a3d5b0d553ab97b521ae335aca865d71a3f3f47e Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Mon, 16 Feb 2026 17:15:42 +0200 Subject: [PATCH 03/10] docs(dem): v2 WIP --- .../DEM/Guides/height_extraction.md | 83 +++++++++++++------ docs/MapColonies/obligations.md | 9 +- 2 files changed, 62 insertions(+), 30 deletions(-) diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index c2eec4f9d..b2f64a050 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -31,25 +31,20 @@ Please note the [obligations](/docs/MapColonies/obligations) you need to follow ## Flow diagram ```mermaid flowchart LR - subgraph Prerequisite + subgraph sub1 [Prerequisites] direction LR a1[Define filter] a2[Get Auth Token] end - a1 -- filter --> B[STEP 1
Query CSW catalog] - a2 -- token --> B - subgraph Metadata drill-down - direction LR - c1[STEP 2
Get DEM metadata] - c2[STEP 2.1 optional
Get terrain provider URI] - end - B -- xml --> c1 - B -- xml --> c2 - c1 -. IN DEVELOPMENT
metadata
of available for export data .-> E[STEP 3
Your system] - c2 -- terrain_URI --> D[STEP 3.1
Cesium] + c[Step 1
Catalog] --> d + d[Step 2
Get Capabilities] --> e + e[Step 2
Describe Coverage] --> f + f[Step 3
Get Coverage] - linkStyle 4 color:green,stroke:#f4cccc,stroke-width:5px %% Arrow + sub1 -- request --> c + c -- Metadata --> e + c -- Metadata --> f ``` ## Query the DEM catalog (Step 1) @@ -727,10 +722,10 @@ Read more about this request [here](/docs/ogc/protocols/ogc-wcs#describecoverage ::: For this step we need the `coverageId` of a product we selected from the previous steps. The wanted ID should look like this: `-`. -Lets select the product `product_name_1`, this means our ID will be `product_name_1-DTM` and our request will be: +Lets select the product `srtm30`, this means our ID will be `srtm30-DTM` and our request will be: ```bash -curl --location --request GET '/wcs?request=DescribeCoverage&version=2.0.1&coverageId=product_name_1-DTM&token=' +curl --location --request GET '/wcs?request=DescribeCoverage&version=2.0.1&coverageId=srtm30-DTM&token=' ```
@@ -738,16 +733,16 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve ```xml - + Generated from GeoTIFF - product_name_1-DTM + srtm30 32.16796875 34.716796875 32.958984375 35.68359375 - dem__product_name_1-DTM + dem__srtm30 Linear @@ -757,14 +752,14 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve - product_name_1-DTM + srtm30 WCS GeoTIFF - + 0 0 @@ -773,7 +768,7 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve i j - + 32.95881271362305 34.71696853637695 @@ -822,10 +817,11 @@ Now we can actually make a request for elevation data. :::danger We recommend you don't use the following `query parameters` when making requests: -- bbox_width -- bbox_height -- subset -- scalesize +- `bbox_width` +- `bbox_height` +- `subset` +- `scalesize` +- `outputCRS` These parameters require additional calculations on the server-side which means that the original data is changed on-the-fly resulting in new data with different attributes such as `resolution` or `accuracy`. **Any** use of these parameters is the sole responsibility of the user as we cannot know the resulting requests metadata. @@ -834,7 +830,42 @@ These parameters require additional calculations on the server-side which means For all of the examples in this section we need the following parameters: - coverageId - -### Get +In the examples we show the use of specific parameter values, in order to understand what other values you can you review the [service capabilities](#extraction-service-capabilities). + +### Get whole coverage + +:::warning +The service output size is limited on our side in order to avoid huge requests, you may get the following error: + +```bash + + + + This request is trying to generate too much data, the limit is 1500MB but the actual amount of bytes to be written in the output is 5000MB + + +``` +::: + +Here we request the whole coverage in the `geotiff` format. + +```bash +curl --location 'https://poc-geoserver-wcs-nginx-route-dem-dev.apps.j1lk3njp.eastus.aroapp.io//wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30-DTM&format=image%2Ftiff%3Bapplication%3Dgeotiff&token=' +``` + +### Convert to other CRS + +In some situations we will have data in a geographical area in a different CRS than we expect for our calculations. In this case we can ask the service to convert the output to the wanted CRS. + +Here we are making a request to a coverage in `EPSG:4326` and requesting it in `EPSG:3857`: + +```bash +curl --location 'https://poc-geoserver-wcs-nginx-route-dem-dev.apps.j1lk3njp.eastus.aroapp.io//wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30-DTM&format=image%2Ftiff%3Bapplication%3Dgeotiff&outputCRS=EPSG%3A3857&token=' +``` + +### Set pixel size + +### Change resolution Replace `` with the URL link that you got from **Step 2.1 (optional)**. diff --git a/docs/MapColonies/obligations.md b/docs/MapColonies/obligations.md index ada74ded1..a9f3b7bc4 100644 --- a/docs/MapColonies/obligations.md +++ b/docs/MapColonies/obligations.md @@ -56,10 +56,11 @@ We also recommend that the layers are loaded in the same order as described in t ### Using WCS specific parameters We recommend you don't use the following `query parameters` when making requests: -- bbox_width -- bbox_height -- subset -- scalesize +- `bbox_width` +- `bbox_height` +- `subset` +- `scalesize` +- `outputCRS` These parameters require additional calculations on the server-side which means that the original data is changed on-the-fly resulting in new data with different attributes such as `resolution` or `accuracy`. **Any** use of these parameters is the sole responsibility of the user as we cannot know the resulting requests metadata. From 463b18704ad1442dc1d680259ac23625614515e9 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Tue, 17 Feb 2026 16:16:00 +0200 Subject: [PATCH 04/10] docs(dem): v2 --- .../DEM/Guides/height_extraction.md | 51 +++++++++++++++---- docs/MapColonies/obligations.md | 5 +- 2 files changed, 45 insertions(+), 11 deletions(-) diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index b2f64a050..4aab14fc4 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -213,6 +213,7 @@ curl --location --request POST '/csw?token=' \
+Fetch all products with productType DTM. ```bash curl --location --request POST '/csw?token=' \ --header 'Content-Type: application/xml' \ @@ -396,7 +397,7 @@ Fields you may want to filter by: | ingestionDateUTC | Layers that were ingested before / after a given time | | updateDateUTC | Layers that were updated before / after a given time | -### Extraction service capabilities +### Extraction service capabilities {#capabilities} :::info Read more about this request [here](/docs/ogc/protocols/ogc-wcs#getcapabilities). @@ -817,11 +818,12 @@ Now we can actually make a request for elevation data. :::danger We recommend you don't use the following `query parameters` when making requests: -- `bbox_width` -- `bbox_height` - `subset` - `scalesize` +- `scaleFactor` +- `scaleAxes` - `outputCRS` +- `interpolation` These parameters require additional calculations on the server-side which means that the original data is changed on-the-fly resulting in new data with different attributes such as `resolution` or `accuracy`. **Any** use of these parameters is the sole responsibility of the user as we cannot know the resulting requests metadata. @@ -850,7 +852,15 @@ The service output size is limited on our side in order to avoid huge requests, Here we request the whole coverage in the `geotiff` format. ```bash -curl --location 'https://poc-geoserver-wcs-nginx-route-dem-dev.apps.j1lk3njp.eastus.aroapp.io//wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30-DTM&format=image%2Ftiff%3Bapplication%3Dgeotiff&token=' +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30-DTM&format=image/tiff;application=geotiff&token=' +``` + +### Get by BBOX + +In most cases, we know which geographical area is of significance to us. This means that we can request the specific `BBOX` as a subset of the selected `coverage`: + +```bash +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30&format=image/tiff;application=geotiff&subset=Lat(32.35306,32.49437)&subset=Long(35.13102,35.37051)&token=' ``` ### Convert to other CRS @@ -860,13 +870,36 @@ In some situations we will have data in a geographical area in a different CRS t Here we are making a request to a coverage in `EPSG:4326` and requesting it in `EPSG:3857`: ```bash -curl --location 'https://poc-geoserver-wcs-nginx-route-dem-dev.apps.j1lk3njp.eastus.aroapp.io//wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30-DTM&format=image%2Ftiff%3Bapplication%3Dgeotiff&outputCRS=EPSG%3A3857&token=' +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30-DTM&format=image/tiff;application=geotiff&outputCRS=EPSG:3857&token=' ``` -### Set pixel size +### Scale image size (pixels) -### Change resolution + + +Set the output image to be a fixed amount of pixels. +```bash +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30&format=image/tiff;application=geotiff&scaleSize=i(256),j(256)&token=' +``` + + +Set the output image size to be a certain factor from it's original size. +```bash +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30&format=image/tiff;application=geotiff&scaleFactor=0.1&token=' +``` + + +Set the output image size to be a certain factor from it's original size for each axes. +```bash +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30&format=image/tiff;application=geotiff&scaleAxes=i(0.1),j(0.2)&token=' +``` + + -Replace `` with the URL link that you got from **Step 2.1 (optional)**. +### Change interpolation method -Replace `` with the token you have. +There is an option to set the wanted interpolation method. +To see a full list of the available methods see the [capabilities](#capabilities). +```bash +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30&format=image/tiff;application=geotiff&interpolation=http://www.opengis.net/def/interpolation/OGC/1/linear&token=' +``` diff --git a/docs/MapColonies/obligations.md b/docs/MapColonies/obligations.md index a9f3b7bc4..81adf9377 100644 --- a/docs/MapColonies/obligations.md +++ b/docs/MapColonies/obligations.md @@ -56,11 +56,12 @@ We also recommend that the layers are loaded in the same order as described in t ### Using WCS specific parameters We recommend you don't use the following `query parameters` when making requests: -- `bbox_width` -- `bbox_height` - `subset` - `scalesize` +- `scaleFactor` +- `scaleAxes` - `outputCRS` +- `interpolation` These parameters require additional calculations on the server-side which means that the original data is changed on-the-fly resulting in new data with different attributes such as `resolution` or `accuracy`. **Any** use of these parameters is the sole responsibility of the user as we cannot know the resulting requests metadata. From 88f7eac06347de92dad4fe6040110310e5a1dc22 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Tue, 17 Feb 2026 16:27:48 +0200 Subject: [PATCH 05/10] docs(dem): fix broken links --- docs/MapColonies/3D/Guides/3D_getting_started.md | 2 +- docs/MapColonies/DEM/Guides/height_extraction.md | 2 +- docs/MapColonies/DEM/Services/CesiumTerrainProvider/README.md | 2 +- docs/MapColonies/DEM/Services/catalog/profile_v1_0.md | 2 +- docs/MapColonies/DEM/Services/catalog/profile_v2_0.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/MapColonies/3D/Guides/3D_getting_started.md b/docs/MapColonies/3D/Guides/3D_getting_started.md index f23a2d786..8ac31b2e7 100644 --- a/docs/MapColonies/3D/Guides/3D_getting_started.md +++ b/docs/MapColonies/3D/Guides/3D_getting_started.md @@ -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" diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index 4aab14fc4..03154912b 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -832,7 +832,7 @@ These parameters require additional calculations on the server-side which means For all of the examples in this section we need the following parameters: - coverageId - -In the examples we show the use of specific parameter values, in order to understand what other values you can you review the [service capabilities](#extraction-service-capabilities). +In the examples we show the use of specific parameter values, in order to understand what other values you can you review the [service capabilities](#capabilities). ### Get whole coverage diff --git a/docs/MapColonies/DEM/Services/CesiumTerrainProvider/README.md b/docs/MapColonies/DEM/Services/CesiumTerrainProvider/README.md index f5905dd6a..53d915637 100644 --- a/docs/MapColonies/DEM/Services/CesiumTerrainProvider/README.md +++ b/docs/MapColonies/DEM/Services/CesiumTerrainProvider/README.md @@ -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 diff --git a/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md b/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md index 929e2eb77..d403c62f8 100644 --- a/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md +++ b/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md @@ -45,7 +45,7 @@ New version [v2](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2) | 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**:
DTM / DSM / QuantizedMesh / QuantizedMeshDTMBest / QuantizedMeshDSMBest | +| mc:productType | enum | **Valid Values**:
DTM / DSM / QuantizedMesh / QuantizedMeshDTMBest / QuantizedMeshDSMBest | | mc:description | text | the product description | | mc:imagingTimeBeginUTC | date | start imaging date of raw product
supported format: **dd/mm/yyyy (not later than "End date")** | | mc:imagingTimeEndUTC | date | end imaging date of raw product
supported format: **dd/mm/yyyy (not earlier than "Begin date")** | diff --git a/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md b/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md index 520df8830..e8a28f8fb 100644 --- a/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md +++ b/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md @@ -47,7 +47,7 @@ supported format: **dd-mm-yyyyThh:mm:ssZ** | | 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**:
DTM / DSM | +| mc:productType | enum | **Valid Values**:
DTM / DSM | | mc:productVersion | int | the product version | | mc:description | text | the product description | | mc:footprint | geojson | geographical delineation of the product / model trace | From eba1ae0badd01f370a5638b0d3edb61c2249f931 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Thu, 19 Feb 2026 14:54:12 +0200 Subject: [PATCH 06/10] docs(dem): ogc-wcs add examples per-version --- docs/ogc/protocols/ogc-wcs.md | 744 ++++++++++++++++++++-------------- 1 file changed, 436 insertions(+), 308 deletions(-) diff --git a/docs/ogc/protocols/ogc-wcs.md b/docs/ogc/protocols/ogc-wcs.md index facf42092..452b82ce1 100644 --- a/docs/ogc/protocols/ogc-wcs.md +++ b/docs/ogc/protocols/ogc-wcs.md @@ -25,10 +25,12 @@ tags: ## GetCapabilities A WCS server responding to a **GetCapabilities** request returns metadata about the service, including supported operations and parameters, and a list of the available layers. +### Version 1.0.0 + ``` /ows? service=WCS& -version=2.0.1& +version=1.0.0& request=GetCapabilities ``` @@ -37,304 +39,417 @@ request=GetCapabilities ``` xml title="Response Example" - - - - - urn:ogc:service:wcs - 2.0.1 - 1.1.1 - 1.1.0 - http://www.opengis.net/spec/WCS/2.0/conf/core - http://www.opengis.net/spec/WCS_protocol-binding_get-kvp/1.0.1 - http://www.opengis.net/spec/WCS_protocol-binding_post-xml/1.0 - http://www.opengis.net/spec/WCS_service-extension_crs/1.0/conf/crs-gridded-coverage - http://www.opengis.net/spec/WCS_geotiff-coverages/1.0/conf/geotiff-coverage - http://www.opengis.net/spec/GMLCOV/1.0/conf/gml-coverage - http://www.opengis.net/spec/GMLCOV/1.0/conf/special-format - http://www.opengis.net/spec/GMLCOV/1.0/conf/multipart - http://www.opengis.net/spec/WCS_service-extension_scaling/1.0/conf/scaling - http://www.opengis.net/spec/WCS_service-extension_crs/1.0/conf/crs - http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/interpolation - http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/interpolation-per-axis - http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/nearest-neighbor - http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/linear - http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/cubic - http://www.opengis.net/spec/WCS_service-extension_range-subsetting/1.0/conf/record-subsetting - NONE - NONE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XML - - - - - application/gml+xml - application/x-gzip - image/jpeg - image/png - image/tiff - text/plain - - - http://www.opengis.net/def/crs/EPSG/0/2000 - http://www.opengis.net/def/crs/EPSG/0/100001 - http://www.opengis.net/def/crs/EPSG/0/100002 - http://www.opengis.net/def/crs/EPSG/0/100003 - http://www.opengis.net/def/crs/EPSG/0/900913 - - http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor - http://www.opengis.net/def/interpolation/OGC/1/linear - http://www.opengis.net/def/interpolation/OGC/1/cubic - - - - - 30n030e_20101117_gmted_min075 - Generated from GeoTIFF - - 30n030e_20101117_gmted_min075 - WCS - GeoTIFF - - dem__30n030e_20101117_gmted_min075 - RectifiedGridCoverage - - 29.999861111111112 29.99986111111111 - 59.999861111111116 49.99986111111111 - - - 29.999861111111112 29.99986111111111 - 59.999861111111116 49.99986111111111 - - - - gt30e020n40 - Generated from GeoTIFF - - gt30e020n40 - WCS - GeoTIFF - - dem__gt30e020n40 - RectifiedGridCoverage - - 20.000000000000004 -9.999999999980012 - 59.99999999998401 39.99999999999999 - - - 20.000000000000004 -9.999999999980012 - 59.99999999998401 39.99999999999999 - - - - n30_e034_1arc_v3 - Generated from GeoTIFF - - n30_e034_1arc_v3 - WCS - GeoTIFF - - dem__n30_e034_1arc_v3 - RectifiedGridCoverage - - 33.99986111111111 29.999861111111112 - 35.000138888888884 31.00013888888889 - - - 33.99986111111111 29.999861111111112 - 35.000138888888884 31.00013888888889 - - - - n30_e035_1arc_v3 - Generated from GeoTIFF - - n30_e035_1arc_v3 - WCS - GeoTIFF - - dem__n30_e035_1arc_v3 - RectifiedGridCoverage - - 34.99986111111111 29.999861111111112 - 36.000138888888884 31.00013888888889 - - - 34.99986111111111 29.999861111111112 - 36.000138888888884 31.00013888888889 - - - - - n31_e034_1arc_v3 - Generated from GeoTIFF - - n31_e034_1arc_v3 - WCS - GeoTIFF - - dem__n31_e034_1arc_v3 - RectifiedGridCoverage - - 33.99986111111111 30.999861111111112 - 35.000138888888884 32.00013888888889 - - - 33.99986111111111 30.999861111111112 - 35.000138888888884 32.00013888888889 - - - - n31_e035_1arc_v3 - Generated from GeoTIFF - - n31_e035_1arc_v3 - WCS - GeoTIFF - - dem__n31_e035_1arc_v3 - RectifiedGridCoverage - - 34.99986111111111 30.999861111111112 - 36.000138888888884 32.00013888888889 - - - 34.99986111111111 30.999861111111112 - 36.000138888888884 32.00013888888889 - - - - n31_e036_1arc_v3 - Generated from GeoTIFF - - n31_e036_1arc_v3 - WCS - GeoTIFF - - dem__n31_e036_1arc_v3 - RectifiedGridCoverage - - 35.99986111111111 30.999861111111112 - 37.000138888888884 32.00013888888889 - - - 35.99986111111111 30.999861111111112 - 37.000138888888884 32.00013888888889 - - - - n32_e034_1arc_v3 - Generated from GeoTIFF - - n32_e034_1arc_v3 - WCS - GeoTIFF - - dem__n32_e034_1arc_v3 - RectifiedGridCoverage - - 33.99986111111111 31.999861111111112 - 35.000138888888884 33.00013888888889 - - - 33.99986111111111 31.999861111111112 - 35.000138888888884 33.00013888888889 - - - - n32_e035_1arc_v3 - Generated from GeoTIFF - - n32_e035_1arc_v3 - WCS - GeoTIFF - - dem__n32_e035_1arc_v3 - RectifiedGridCoverage - - 34.99986111111111 31.999861111111112 - 36.000138888888884 33.00013888888889 - - - 34.99986111111111 31.999861111111112 - 36.000138888888884 33.00013888888889 - - - - n32_e036_1arc_v3 - Generated from GeoTIFF - - n32_e036_1arc_v3 - WCS - GeoTIFF - - dem__n32_e036_1arc_v3 - RectifiedGridCoverage - - 35.99986111111111 31.999861111111112 - 37.000138888888884 33.00013888888889 - - - 35.99986111111111 31.999861111111112 - 37.000138888888884 33.00013888888889 - - - - - + + + + WCS + + NONE + NONE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + application/vnd.ogc.se_xml + + + + + Generated from GeoTIFF + dem:mimad + mimad + + 32.70697763422942 29.149161895068794 + 37.071150249328454 34.62339561526329 + + + mimad + WCS + GeoTIFF + + + + Generated from GeoTIFF + dem:srtm30 + srtm30 + + 34.716796875 32.16796875 + 35.68359375 32.958984375 + + + srtm30 + WCS + GeoTIFF + + + + ```
+### Version 2.0.1 + +``` +/ows? +service=WCS& +version=2.0.1& +request=GetCapabilities +``` + +
+Response example + ``` xml title="Response Example" + + + + + + urn:ogc:service:wcs + 2.0.1 + 1.1.1 + 1.1.0 + http://www.opengis.net/spec/WCS/2.0/conf/core + http://www.opengis.net/spec/WCS_protocol-binding_get-kvp/1.0.1 + http://www.opengis.net/spec/WCS_protocol-binding_post-xml/1.0 + http://www.opengis.net/spec/WCS_service-extension_crs/1.0/conf/crs-gridded-coverage + + + + http://www.opengis.net/spec/GMLCOV/1.0/conf/gml-coverage + http://www.opengis.net/spec/GMLCOV/1.0/conf/special-format + http://www.opengis.net/spec/GMLCOV/1.0/conf/multipart + http://www.opengis.net/spec/WCS_service-extension_scaling/1.0/conf/scaling + http://www.opengis.net/spec/WCS_service-extension_crs/1.0/conf/crs + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/interpolation + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/interpolation-per-axis + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/nearest-neighbor + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/linear + http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/cubic + http://www.opengis.net/spec/WCS_service-extension_range-subsetting/1.0/conf/record-subsetting + NONE + NONE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XML + + + + + application/gml+xml + image/jpeg + image/png + image/tiff + image/tiff;application=geotiff + text/plain + + + ... + http://www.opengis.net/def/crs/EPSG/0/3857 + ... + http://www.opengis.net/def/crs/EPSG/0/4326 + ... + http://www.opengis.net/def/crs/EPSG/0/32600 + http://www.opengis.net/def/crs/EPSG/0/32601 + http://www.opengis.net/def/crs/EPSG/0/32602 + http://www.opengis.net/def/crs/EPSG/0/32603 + http://www.opengis.net/def/crs/EPSG/0/32604 + http://www.opengis.net/def/crs/EPSG/0/32605 + http://www.opengis.net/def/crs/EPSG/0/32606 + http://www.opengis.net/def/crs/EPSG/0/32607 + http://www.opengis.net/def/crs/EPSG/0/32608 + http://www.opengis.net/def/crs/EPSG/0/32609 + http://www.opengis.net/def/crs/EPSG/0/32610 + http://www.opengis.net/def/crs/EPSG/0/32611 + http://www.opengis.net/def/crs/EPSG/0/32612 + http://www.opengis.net/def/crs/EPSG/0/32613 + http://www.opengis.net/def/crs/EPSG/0/32614 + http://www.opengis.net/def/crs/EPSG/0/32615 + http://www.opengis.net/def/crs/EPSG/0/32616 + http://www.opengis.net/def/crs/EPSG/0/32617 + http://www.opengis.net/def/crs/EPSG/0/32618 + http://www.opengis.net/def/crs/EPSG/0/32619 + http://www.opengis.net/def/crs/EPSG/0/32620 + http://www.opengis.net/def/crs/EPSG/0/32621 + http://www.opengis.net/def/crs/EPSG/0/32622 + http://www.opengis.net/def/crs/EPSG/0/32623 + http://www.opengis.net/def/crs/EPSG/0/32624 + http://www.opengis.net/def/crs/EPSG/0/32625 + http://www.opengis.net/def/crs/EPSG/0/32626 + http://www.opengis.net/def/crs/EPSG/0/32627 + http://www.opengis.net/def/crs/EPSG/0/32628 + http://www.opengis.net/def/crs/EPSG/0/32629 + http://www.opengis.net/def/crs/EPSG/0/32630 + http://www.opengis.net/def/crs/EPSG/0/32631 + http://www.opengis.net/def/crs/EPSG/0/32632 + http://www.opengis.net/def/crs/EPSG/0/32633 + http://www.opengis.net/def/crs/EPSG/0/32634 + http://www.opengis.net/def/crs/EPSG/0/32635 + http://www.opengis.net/def/crs/EPSG/0/32636 + http://www.opengis.net/def/crs/EPSG/0/32637 + http://www.opengis.net/def/crs/EPSG/0/32638 + http://www.opengis.net/def/crs/EPSG/0/32639 + http://www.opengis.net/def/crs/EPSG/0/32640 + http://www.opengis.net/def/crs/EPSG/0/32641 + http://www.opengis.net/def/crs/EPSG/0/32642 + http://www.opengis.net/def/crs/EPSG/0/32643 + http://www.opengis.net/def/crs/EPSG/0/32644 + http://www.opengis.net/def/crs/EPSG/0/32645 + http://www.opengis.net/def/crs/EPSG/0/32646 + http://www.opengis.net/def/crs/EPSG/0/32647 + http://www.opengis.net/def/crs/EPSG/0/32648 + http://www.opengis.net/def/crs/EPSG/0/32649 + http://www.opengis.net/def/crs/EPSG/0/32650 + http://www.opengis.net/def/crs/EPSG/0/32651 + http://www.opengis.net/def/crs/EPSG/0/32652 + http://www.opengis.net/def/crs/EPSG/0/32653 + http://www.opengis.net/def/crs/EPSG/0/32654 + http://www.opengis.net/def/crs/EPSG/0/32655 + http://www.opengis.net/def/crs/EPSG/0/32656 + http://www.opengis.net/def/crs/EPSG/0/32657 + http://www.opengis.net/def/crs/EPSG/0/32658 + http://www.opengis.net/def/crs/EPSG/0/32659 + http://www.opengis.net/def/crs/EPSG/0/32660 + http://www.opengis.net/def/crs/EPSG/0/32661 + http://www.opengis.net/def/crs/EPSG/0/32662 + http://www.opengis.net/def/crs/EPSG/0/32663 + http://www.opengis.net/def/crs/EPSG/0/32664 + http://www.opengis.net/def/crs/EPSG/0/32665 + http://www.opengis.net/def/crs/EPSG/0/32666 + http://www.opengis.net/def/crs/EPSG/0/32667 + http://www.opengis.net/def/crs/EPSG/0/32700 + http://www.opengis.net/def/crs/EPSG/0/32701 + http://www.opengis.net/def/crs/EPSG/0/32702 + http://www.opengis.net/def/crs/EPSG/0/32703 + http://www.opengis.net/def/crs/EPSG/0/32704 + http://www.opengis.net/def/crs/EPSG/0/32705 + http://www.opengis.net/def/crs/EPSG/0/32706 + http://www.opengis.net/def/crs/EPSG/0/32707 + http://www.opengis.net/def/crs/EPSG/0/32708 + http://www.opengis.net/def/crs/EPSG/0/32709 + http://www.opengis.net/def/crs/EPSG/0/32710 + http://www.opengis.net/def/crs/EPSG/0/32711 + http://www.opengis.net/def/crs/EPSG/0/32712 + http://www.opengis.net/def/crs/EPSG/0/32713 + http://www.opengis.net/def/crs/EPSG/0/32714 + http://www.opengis.net/def/crs/EPSG/0/32715 + http://www.opengis.net/def/crs/EPSG/0/32716 + http://www.opengis.net/def/crs/EPSG/0/32717 + http://www.opengis.net/def/crs/EPSG/0/32718 + http://www.opengis.net/def/crs/EPSG/0/32719 + http://www.opengis.net/def/crs/EPSG/0/32720 + http://www.opengis.net/def/crs/EPSG/0/32721 + http://www.opengis.net/def/crs/EPSG/0/32722 + http://www.opengis.net/def/crs/EPSG/0/32723 + http://www.opengis.net/def/crs/EPSG/0/32724 + http://www.opengis.net/def/crs/EPSG/0/32725 + http://www.opengis.net/def/crs/EPSG/0/32726 + http://www.opengis.net/def/crs/EPSG/0/32727 + http://www.opengis.net/def/crs/EPSG/0/32728 + http://www.opengis.net/def/crs/EPSG/0/32729 + http://www.opengis.net/def/crs/EPSG/0/32730 + http://www.opengis.net/def/crs/EPSG/0/32731 + http://www.opengis.net/def/crs/EPSG/0/32732 + http://www.opengis.net/def/crs/EPSG/0/32733 + http://www.opengis.net/def/crs/EPSG/0/32734 + http://www.opengis.net/def/crs/EPSG/0/32735 + http://www.opengis.net/def/crs/EPSG/0/32736 + http://www.opengis.net/def/crs/EPSG/0/32737 + http://www.opengis.net/def/crs/EPSG/0/32738 + http://www.opengis.net/def/crs/EPSG/0/32739 + http://www.opengis.net/def/crs/EPSG/0/32740 + http://www.opengis.net/def/crs/EPSG/0/32741 + http://www.opengis.net/def/crs/EPSG/0/32742 + http://www.opengis.net/def/crs/EPSG/0/32743 + http://www.opengis.net/def/crs/EPSG/0/32744 + http://www.opengis.net/def/crs/EPSG/0/32745 + http://www.opengis.net/def/crs/EPSG/0/32746 + http://www.opengis.net/def/crs/EPSG/0/32747 + http://www.opengis.net/def/crs/EPSG/0/32748 + http://www.opengis.net/def/crs/EPSG/0/32749 + http://www.opengis.net/def/crs/EPSG/0/32750 + http://www.opengis.net/def/crs/EPSG/0/32751 + http://www.opengis.net/def/crs/EPSG/0/32752 + http://www.opengis.net/def/crs/EPSG/0/32753 + http://www.opengis.net/def/crs/EPSG/0/32754 + http://www.opengis.net/def/crs/EPSG/0/32755 + http://www.opengis.net/def/crs/EPSG/0/32756 + http://www.opengis.net/def/crs/EPSG/0/32757 + http://www.opengis.net/def/crs/EPSG/0/32758 + http://www.opengis.net/def/crs/EPSG/0/32759 + http://www.opengis.net/def/crs/EPSG/0/32760 + http://www.opengis.net/def/crs/EPSG/0/32761 + http://www.opengis.net/def/crs/EPSG/0/32762 + http://www.opengis.net/def/crs/EPSG/0/32763 + http://www.opengis.net/def/crs/EPSG/0/32764 + http://www.opengis.net/def/crs/EPSG/0/32765 + http://www.opengis.net/def/crs/EPSG/0/32766 + ... + + + http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor + http://www.opengis.net/def/interpolation/OGC/1/linear + http://www.opengis.net/def/interpolation/OGC/1/cubic + + + + + + mimad + + mimad + WCS + GeoTIFF + + dem__mimad + RectifiedGridCoverage + + 473139.25219177455 3230615.3954787063 + 873608.5831505858 3831319.391916923 + + + 32.70697763422942 29.149161895068794 + 37.071150249328454 34.62339561526329 + + + + mimad + + mimad + WCS + GeoTIFF + + dem__mimad + RectifiedGridCoverage + + 473139.25219177455 3230615.3954787063 + 873608.5831505858 3831319.391916923 + + + 32.70697763422942 29.149161895068794 + 37.071150249328454 34.62339561526329 + + + + srtm30 + + srtm30 + WCS + GeoTIFF + + dem__srtm30 + RectifiedGridCoverage + + 34.716796875 32.16796875 + 35.68359375 32.958984375 + + + 34.716796875 32.16796875 + 35.68359375 32.958984375 + + + + + + ``` +
+ This request shows an XML file containing the WCS 2.0.1 ***GetCapabilities*** response (the following pictures contains the **dem__gt30e020n40** layer related sub-section).
@@ -463,7 +578,7 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve Response ```xml - + Generated from GeoTIFF srtm30 @@ -536,7 +651,7 @@ curl --location --request GET '/wcs?request=DescribeCoverage&ve ``` -#### Understanding the describe coverage response {#understanding-describe-coverage} +### Understanding the describe coverage response {#understanding-describe-coverage} Notice the tag `boundedBy`, it describes the geographic extent of the coverage, It includes the following attributes: | **Attribute name** | **Details** | **Example** | @@ -550,17 +665,30 @@ The **GetCoverage** operation requests the actual spatial data. It can retrieve Detailed explanation about params might be found [here](https://www.mapserver.org/ogc/wcs_server.html) 🌐 +### Version 1.0.0 + ``` -/ows? -SERVICE=WCS& -VERSION=1.0.0& -REQUEST=GetCoverage& -coverage=n30_e034_1arc_v3& -CRS=EPSG:4326& -BBOX=33.99986111111111,29.999861111111112,35.000138888888884,31.00013888888889& -WIDTH=3199& -HEIGHT=2833& -FORMAT=PNG +/wcs? +request=GetCoverage& +version=1.0.0& +coverage=srtm30& +format=image/tiff;application=geotiff& +crs=EPSG%3A4326& +bbox=35.13102,32.35306,35.37051,32.49437& +width=1000& +height=1000 +``` + +### Version 2.0.1 + +``` +/wcs? +request=GetCoverage& +version=2.0.1& +coverageId=srtm30& +format=image/tiff;application=geotiff& +subset=Lat(32.35306,32.49437)& +subset=Long(35.13102,35.37051) ``` With this request we have successfully fetched data/image for **n30_e034_1arc_v3** layer for **EPSG:4326** projection and for defined **BBOX**! :tada: From a71cce347fea7f738da3a2362610de1d32c2d916 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Thu, 19 Feb 2026 14:57:23 +0200 Subject: [PATCH 07/10] docs(dem): note default interpolation method --- docs/MapColonies/DEM/Guides/height_extraction.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index 03154912b..0fa45a22f 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -900,6 +900,11 @@ curl --location '/wcs?request=GetCoverage&version=2.0.1&coverag There is an option to set the wanted interpolation method. To see a full list of the available methods see the [capabilities](#capabilities). + +:::note +The default method is `linear`. +::: + ```bash -curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30&format=image/tiff;application=geotiff&interpolation=http://www.opengis.net/def/interpolation/OGC/1/linear&token=' +curl --location '/wcs?request=GetCoverage&version=2.0.1&coverageId=srtm30&format=image/tiff;application=geotiff&interpolation=http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor&token=' ``` From fd6771285c6a1a07eed63967164d20beb2b72707 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Thu, 19 Feb 2026 15:01:19 +0200 Subject: [PATCH 08/10] docs(dem): remove subset from un-recommended parameter list --- docs/MapColonies/DEM/Guides/height_extraction.md | 3 +-- docs/MapColonies/obligations.md | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index 0fa45a22f..8b78fe950 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -818,7 +818,6 @@ Now we can actually make a request for elevation data. :::danger We recommend you don't use the following `query parameters` when making requests: -- `subset` - `scalesize` - `scaleFactor` - `scaleAxes` @@ -830,7 +829,7 @@ These parameters require additional calculations on the server-side which means ::: For all of the examples in this section we need the following parameters: -- coverageId - +- `coverageId` In the examples we show the use of specific parameter values, in order to understand what other values you can you review the [service capabilities](#capabilities). diff --git a/docs/MapColonies/obligations.md b/docs/MapColonies/obligations.md index 81adf9377..0fd731262 100644 --- a/docs/MapColonies/obligations.md +++ b/docs/MapColonies/obligations.md @@ -56,7 +56,6 @@ We also recommend that the layers are loaded in the same order as described in t ### Using WCS specific parameters We recommend you don't use the following `query parameters` when making requests: -- `subset` - `scalesize` - `scaleFactor` - `scaleAxes` From 3fa291baa47188eaf0e136ad3bb6d5f11de6f63d Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Sun, 22 Feb 2026 13:55:49 +0200 Subject: [PATCH 09/10] docs(dem): add download guide --- .../DEM/Guides/height_extraction.md | 54 ++++----- .../DEM/Services/download/README.md | 108 ++++++++++++++++++ 2 files changed, 136 insertions(+), 26 deletions(-) create mode 100644 docs/MapColonies/DEM/Services/download/README.md diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index 8b78fe950..cff0c6c57 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -17,7 +17,7 @@ import TabItem from '@theme/TabItem'; The following guide will help you understand ***Step-by-step*** how to work with the Map Colonies Height Extraction service, from the [Catalog](/docs/MapColonies/DEM/Services/catalog/dem-catalog) to the WCS protocol. :::warning -This guide is for using height extraction for algorithm usage and **not for viewing purposes**. +This guide is **not** for viewing purposes. ::: :::note @@ -87,10 +87,10 @@ curl --location --request POST '/csw?token=' \ e2d812ba-40b7-4dfe-b3e7-869356467d3a 2025-12-31T10:17:16Z 2020-12-31T11:00:00Z - /wcs?request=GetCapabilities - /wcs - /wfs?request=GetCapabilities - /path/to/file.ext + /wcs?request=GetCapabilities + /wcs + /wfs?request=GetCapabilities + /path/to/file.ext 2 6 4 @@ -103,8 +103,8 @@ curl --location --request POST '/csw?token=' \ 40 -32768 PRODUCER - product_name_2 - product_name_2 + mimad + mimad DSM 1 region @@ -144,7 +144,7 @@ curl --location --request POST '/csw?token=' \ mc:productId - product_name_2 + mimad mc:productType @@ -176,10 +176,10 @@ curl --location --request POST '/csw?token=' \ e2d812ba-40b7-4dfe-b3e7-869356467d3a 2025-12-31T10:17:16Z 2020-12-31T11:00:00Z - /wcs?request=GetCapabilities - /wcs - /wfs?request=GetCapabilities - /path/to/file.ext + /wcs?request=GetCapabilities + /wcs + /wfs?request=GetCapabilities + /path/to/file.ext 2 6 4 @@ -192,8 +192,8 @@ curl --location --request POST '/csw?token=' \ 40 -32768 PRODUCER - product_name_2 - product_name_2 + mimad + mimad DSM 1 region @@ -251,10 +251,10 @@ curl --location --request POST '/csw?token=' \ d2d812ba-40b7-4dfe-b3e7-869356467d3a 2025-12-31T09:55:51Z 2025-12-31T11:00:00Z - /wcs?request=GetCapabilities - /wcs - /wfs?request=GetCapabilities - /path/to/file.ext + /wcs?request=GetCapabilities + /wcs + /wfs?request=GetCapabilities + /path/to/file.ext 2 6 4 @@ -267,8 +267,8 @@ curl --location --request POST '/csw?token=' \ 40 -32768 PRODUCER - product_name_1 - product_name_1 + srtm30 + srtm30 DTM 1 region @@ -383,7 +383,7 @@ For the next steps you may want to examine the information returned from the `ca ### Catalog service :::info -For details about each filed read more [here](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2). +For details about each field read more [here](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2). ::: Fields you may want to filter by: @@ -659,7 +659,7 @@ Read more about this request [here](/docs/ogc/protocols/ogc-wcs#getcapabilities) WCS GeoTIFF - dem__mimad + dem__mimad-DTM RectifiedGridCoverage 473139.25219177455 3230615.3954787063 @@ -677,7 +677,7 @@ Read more about this request [here](/docs/ogc/protocols/ogc-wcs#getcapabilities) WCS GeoTIFF - dem__mimad + dem__mimad-DSM RectifiedGridCoverage 473139.25219177455 3230615.3954787063 @@ -695,7 +695,7 @@ Read more about this request [here](/docs/ogc/protocols/ogc-wcs#getcapabilities) WCS GeoTIFF - dem__srtm30 + dem__srtm30-DTM RectifiedGridCoverage 34.716796875 32.16796875 @@ -836,9 +836,9 @@ In the examples we show the use of specific parameter values, in order to unders ### Get whole coverage :::warning -The service output size is limited on our side in order to avoid huge requests, you may get the following error: +To maintain system stability and prevent oversized payloads, the service enforces a **maximum output size limit**. Exceeding this limit will trigger the following error: -```bash +```xml @@ -846,6 +846,8 @@ The service output size is limited on our side in order to avoid huge requests, ``` + +Most coverages will be larger than the limit so we suggest you [directly download](/docs/MapColonies/DEM/Services/download/dem-download) the source file. ::: Here we request the whole coverage in the `geotiff` format. diff --git a/docs/MapColonies/DEM/Services/download/README.md b/docs/MapColonies/DEM/Services/download/README.md new file mode 100644 index 000000000..50af6da3f --- /dev/null +++ b/docs/MapColonies/DEM/Services/download/README.md @@ -0,0 +1,108 @@ +--- +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 '/csw?token=' \ +--header 'Content-Type: application/xml' \ +--data-raw ' + + + full + +' +``` + +Response: + +```xml + + + + + + 2019-12-31T11:00:00Z + 2019-12-31T11:00:00Z + Area + 0 + FLOAT32 + + {"type":"Polygon","coordinates":[[[0,0],[10,0],[10,10],[0,0]]]} + egm96 + e2d812ba-40b7-4dfe-b3e7-869356467d3a + 2025-12-31T10:17:16Z + 2020-12-31T11:00:00Z + /wcs?request=GetCapabilities + /wcs + /wfs?request=GetCapabilities + /path/to/file.ext + 2 + 6 + 4 + 0.0004 + 40 + 1 + 5 + 3 + 0.0004 + 40 + -32768 + PRODUCER + mimad + mimad + DSM + 1 + region + sensors + 4326 + WGS84GEO + RECORD_DEM + 2020-12-31T11:00:00Z + + 0.0 0.0 + 10.0 10.0 + + + + +``` + +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 '/path/to/file.ext?token=' +``` + +:::note +Materials may be very large so we suggest you implement a fail-safe strategy and prepare for long download times. +::: From e1cb1c1baccc54aa3dfdd00304120ac314890a5f Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Mon, 23 Feb 2026 17:01:03 +0200 Subject: [PATCH 10/10] docs(dem): change download example to be for specific layer --- .../DEM/Guides/height_extraction.md | 36 ++++++++++++++++--- .../DEM/Services/catalog/profile_v1_0.md | 2 +- .../DEM/Services/catalog/profile_v2_0.md | 3 +- .../DEM/Services/download/README.md | 20 +++++++++-- 4 files changed, 51 insertions(+), 10 deletions(-) diff --git a/docs/MapColonies/DEM/Guides/height_extraction.md b/docs/MapColonies/DEM/Guides/height_extraction.md index cff0c6c57..844f8fb15 100644 --- a/docs/MapColonies/DEM/Guides/height_extraction.md +++ b/docs/MapColonies/DEM/Guides/height_extraction.md @@ -311,13 +311,13 @@ curl --location --request POST '/csw?token=' \ - + ' ``` -Fetch all products with productType DTM and contained in a given Polygon. +Fetch all products with productType DTM and intersect with a given Polygon. :::info We can provide a polygon with as many points as we want as long as the first and last are the same point. ::: @@ -336,7 +336,7 @@ curl --location --request POST '/csw?token=' \ ows:BoundingBox - + @@ -348,7 +348,35 @@ curl --location --request POST '/csw?token=' \ - + + +' +``` + + +Fetch all products with productType DTM that intersect with a given Point. +```bash +curl --location '/csw?token=' \ +--data ' + + + full + + + + + mc:productType + DTM + + + ows:BoundingBox + + 5 5 + + + + + ' ``` diff --git a/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md b/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md index d403c62f8..1cc327164 100644 --- a/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md +++ b/docs/MapColonies/DEM/Services/catalog/profile_v1_0.md @@ -18,7 +18,7 @@ tags: :::warning New version [v2](/docs/MapColonies/DEM/Services/catalog/dem-catalog-profile-v2) is coming! -

The following parameters are depracted an will be removed in v2

+

The following parameters are depracted an will be removed in v2:

| **PYCSW Queryable/XML
Element Name** | **Type** | **Description** | | ----------- | ----------- | ----------- | diff --git a/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md b/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md index e8a28f8fb..9c72a65cb 100644 --- a/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md +++ b/docs/MapColonies/DEM/Services/catalog/profile_v2_0.md @@ -16,7 +16,7 @@ tags: 3. The **DEM** sub-system Catalog profile fields with information of each of them: :::info - +The following parameters were added v2: | **PYCSW Queryable/XML
Element Name** | **Type** | **Description** | | ----------- | ----------- | ----------- | | mc:productVersion | int | the product version | @@ -39,7 +39,6 @@ supported format: **dd-mm-yyyyThh:mm:ssZ** | | 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
Element Name** | **Type** | **Description** | diff --git a/docs/MapColonies/DEM/Services/download/README.md b/docs/MapColonies/DEM/Services/download/README.md index 50af6da3f..f4e1511c1 100644 --- a/docs/MapColonies/DEM/Services/download/README.md +++ b/docs/MapColonies/DEM/Services/download/README.md @@ -36,6 +36,20 @@ curl --location --request POST '/csw?token=' \ full + + + + + mc:productId + mimad + + + mc:productType + DSM + + + + ' ``` @@ -45,8 +59,8 @@ Response: ```xml - - + + 2019-12-31T11:00:00Z 2019-12-31T11:00:00Z @@ -81,7 +95,7 @@ Response: 1 region sensors - 4326 + srs_id WGS84GEO RECORD_DEM 2020-12-31T11:00:00Z