Skip to content

Commit dff3232

Browse files
committed
Adds Canada HRDEM data provider
Introduces a new data provider for Canada's high-resolution digital elevation model (HRDEM) using the WCS and DTM provider classes.
1 parent f0e8c6c commit dff3232

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

maps4fs/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from maps4fs.generator.dtm.niedersachsen import NiedersachsenProvider
88
from maps4fs.generator.dtm.hessen import HessenProvider
99
from maps4fs.generator.dtm.england import England1MProvider
10+
from maps4fs.generator.dtm.canada import CanadaProvider
1011
from maps4fs.generator.game import Game
1112
from maps4fs.generator.map import Map
1213
from maps4fs.generator.settings import (

maps4fs/generator/dtm/canada.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
"""This module contains provider of Canada data."""
2+
3+
from maps4fs.generator.dtm.base.wcs import WCSProvider
4+
from maps4fs.generator.dtm.dtm import DTMProvider
5+
6+
7+
class CanadaProvider(WCSProvider, DTMProvider):
8+
"""Provider of Canada data."""
9+
10+
_code = "canada"
11+
_name = "Canada HRDEM"
12+
_region = "CN"
13+
_icon = "🇨🇦"
14+
_resolution = 1
15+
_author = "[kbrandwijk](https://github.com/kbrandwijk)"
16+
_is_community = True
17+
_is_base = False
18+
_extents = (76.49491845750764, 33.66564101989275, -26.69697497450798, -157.7322455868316)
19+
_instructions = "HRDEM coverage for Canada is limited. Make sure to check the [coverage map](https://geo.ca/imagery/high-resolution-digital-elevation-model-hrdem-canelevation-series/)."
20+
21+
_url = "https://datacube.services.geo.ca/ows/elevation"
22+
_wcs_version = "1.1.1"
23+
_source_crs = "EPSG:3979"
24+
_tile_size = 1000
25+
26+
def get_wcs_parameters(self, tile: tuple[float, float, float, float]) -> dict:
27+
print(f"{tile[1]},{tile[0]},{tile[3]},{tile[2]},urn:ogc:def:crs:EPSG::3979")
28+
return {
29+
"identifier": "dtm",
30+
"gridbasecrs": "urn:ogc:def:crs:EPSG::3979",
31+
"boundingbox": f"{tile[1]},{tile[0]},{tile[3]},{tile[2]},urn:ogc:def:crs:EPSG::3979",
32+
"format": "image/geotiff",
33+
"timeout": 600,
34+
}

0 commit comments

Comments
 (0)