import json
import math
from abc import abstractmethod
-from collections import namedtuple
from typing import Optional, Tuple
-import fiona.crs
+import fiona.crs # pip install Fiona
import fiona.transform
import owslib.crs
import owslib.wms
class DemSwitzerland(DemRasterBase):
def __init__(self):
- filename = '/home/philipp/daten/GeoData/dem/schweiz_200m/data/DHM200.xyz'
- filename = '/home/philipp/daten/GeoData/dem/schweiz_200m/data/DHM200.asc'
- # https://www.swisstopo.admin.ch/de/swisstopo/kostenlose-geobasisdaten.html
+ filename = 'zip:///home/philipp/daten/GeoData/dem/schweiz_200m/dem_schweiz_200m.zip!data/DHM200.asc'
super().__init__(filename, crs='EPSG:21781')
+class DemBavaria(DemRasterBase):
+ def __init__(self):
+ filename = 'zip:///home/philipp/daten/GeoData/dem/bayern_50m/dgm50_epsg25832.tif.zip!dgm50_epsg25832.tif'
+ super().__init__(filename)
+
+
class DemWmsBase(DemBase):
def __init__(self, url: str, wms_version: str, layer_name: str):
self.url = url
class MultiDem:
def __init__(self):
- self.dems = [DemBasemap(), DemSouthTyrol(), DemSwitzerland()]
+ self.dems = [
+ DemBasemap(),
+ DemSouthTyrol(),
+ # DemBavaria(), # too coarse - we should have a 25 m grid or denser - this is 50 m
+ # DemSwitzerland(), # too coarse - we should have a 25 m grid or denser - this is 200 m
+ ]
def close(self):
for dem in self.dems: