def __init__(self, request):
     self.request = request
     if "geom" in self.request.params:
         geoms = self.request.params["geom"]
         self.valid_request = True
         geom = geojson.loads(geoms, object_hook=geojson.GeoJSON.to_instance)
         if geom.type not in ["MultiLineString", "LineString"]:
             self.valid_request = False
         Raster.__init__(self, request)
Example #2
0
 def __init__(self, request):
     self.request = request
     if "geom" in self.request.params:
         geoms = self.request.params["geom"]
         self.valid_request = True
         geom = geojson.loads(geoms,
                              object_hook=geojson.GeoJSON.to_instance)
         if geom.type not in ["MultiLineString", "LineString"]:
             self.valid_request = False
         Raster.__init__(self, request)
Example #3
0
    def test_raster(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.raster import Raster

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem1": {
                    "file": "c2cgeoportal/tests/data/dem.shp",
                    "round": 0.1
                },
                "dem2": {
                    "file": "c2cgeoportal/tests/data/dem.shp",
                    "round": 1
                },
                "dem3": {
                    "file": "c2cgeoportal/tests/data/dem.shp"
                }
            }
        }
        raster = Raster(request)

        request.params['lon'] = '565000'
        request.params['lat'] = '218000'
        result = raster.raster()
        self.assertEqual(result['dem1'], None)
        self.assertEqual(result['dem2'], None)
        self.assertEqual(result['dem3'], None)

        request.params['lon'] = '548000'
        request.params['lat'] = '216000'
        result = raster.raster()
        self.assertAlmostEqual(result['dem1'], Decimal('1168.9'))
        self.assertAlmostEqual(result['dem2'], Decimal('1169'))
        self.assertAlmostEqual(result['dem3'], Decimal('1168.85998535'))

        request.params['layers'] = 'dem2'
        result = raster.raster()
        self.assertFalse('dem1' in result)
        self.assertFalse('dem3' in result)
        self.assertAlmostEqual(result['dem2'], Decimal('1169'))

        # test wrong layer name
        request.params['layers'] = 'wrong'
        self.assertRaises(HTTPNotFound, raster.raster)
Example #4
0
    def test_raster(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.raster import Raster

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem1": {
                    "file": "/src/tests/data/dem.shp",
                    "round": 0.1
                },
                "dem2": {
                    "file": "/src/tests/data/dem.shp",
                    "round": 1
                },
                "dem3": {
                    "file": "/src/tests/data/dem.shp"
                }
            }
        }
        raster = Raster(request)

        request.params["lon"] = "565000"
        request.params["lat"] = "218000"
        result = raster.raster()
        self.assertEqual(result["dem1"], None)
        self.assertEqual(result["dem2"], None)
        self.assertEqual(result["dem3"], None)

        request.params["lon"] = "548000"
        request.params["lat"] = "216000"
        result = raster.raster()
        self.assertAlmostEqual(result["dem1"], Decimal("1168.9"))
        self.assertAlmostEqual(result["dem2"], Decimal("1169"))
        self.assertAlmostEqual(result["dem3"], Decimal("1168.85998535"))

        request.params["layers"] = "dem2"
        result = raster.raster()
        self.assertFalse("dem1" in result)
        self.assertFalse("dem3" in result)
        self.assertAlmostEqual(result["dem2"], Decimal("1169"))

        # test wrong layer name
        request.params["layers"] = "wrong"
        self.assertRaises(HTTPNotFound, raster.raster)
Example #5
0
    def test_raster(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.raster import Raster

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem1": {"file": "c2cgeoportal/tests/data/dem.shp",
                         "round": 0.1},
                "dem2": {"file": "c2cgeoportal/tests/data/dem.shp",
                         "round": 1},
                "dem3": {"file": "c2cgeoportal/tests/data/dem.shp"}
            }
        }
        raster = Raster(request)

        request.params["lon"] = "565000"
        request.params["lat"] = "218000"
        result = raster.raster()
        self.assertEqual(result["dem1"], None)
        self.assertEqual(result["dem2"], None)
        self.assertEqual(result["dem3"], None)

        request.params["lon"] = "548000"
        request.params["lat"] = "216000"
        result = raster.raster()
        self.assertAlmostEqual(result["dem1"], Decimal("1168.9"))
        self.assertAlmostEqual(result["dem2"], Decimal("1169"))
        self.assertAlmostEqual(result["dem3"], Decimal("1168.85998535"))

        request.params["layers"] = "dem2"
        result = raster.raster()
        self.assertFalse("dem1" in result)
        self.assertFalse("dem3" in result)
        self.assertAlmostEqual(result["dem2"], Decimal("1169"))

        # test wrong layer name
        request.params["layers"] = "wrong"
        self.assertRaises(HTTPNotFound, raster.raster)
Example #6
0
    def test_raster(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.raster import Raster

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem1": {"file": "c2cgeoportal/tests/data/dem.shp",
                         "round": 0.1},
                "dem2": {"file": "c2cgeoportal/tests/data/dem.shp",
                         "round": 1},
                "dem3": {"file": "c2cgeoportal/tests/data/dem.shp"}
            }
        }
        raster = Raster(request)

        request.params['lon'] = '565000'
        request.params['lat'] = '218000'
        result = raster.raster()
        self.assertEqual(result['dem1'], None)
        self.assertEqual(result['dem2'], None)
        self.assertEqual(result['dem3'], None)

        request.params['lon'] = '548000'
        request.params['lat'] = '216000'
        result = raster.raster()
        self.assertAlmostEqual(result['dem1'], Decimal('1168.9'))
        self.assertAlmostEqual(result['dem2'], Decimal('1169'))
        self.assertAlmostEqual(result['dem3'], Decimal('1168.85998535'))

        request.params['layers'] = 'dem2'
        result = raster.raster()
        self.assertFalse('dem1' in result)
        self.assertFalse('dem3' in result)
        self.assertAlmostEqual(result['dem2'], Decimal('1169'))

        # test wrong layer name
        request.params['layers'] = 'wrong'
        self.assertRaises(HTTPNotFound, raster.raster)
Example #7
0
 def __init__(self, request):
     self.request = request
     request.response.cache_control = "no-cache"
     Raster.__init__(self, request)
Example #8
0
 def __init__(self, request):
     self.request = request
     Raster.__init__(self, request)
Example #9
0
 def __init__(self, request):
     self.request = request
     request.response.cache_control = "no-cache"
     Raster.__init__(self, request)
Example #10
0
 def __init__(self, request):
     self.request = request
     Raster.__init__(self, request)