OpenDroneMap-WebODM/app/tests/test_postgis.py

39 wiersze
1.3 KiB
Python

from django.contrib.gis.gdal import GDALRaster
from .classes import BootTestCase
from app.postgis import from_pgraster, to_pgraster
import os
class TestApi(BootTestCase):
def setUp(self):
pass
def tearDown(self):
pass
def test_pgraster_functions(self):
# Make sure conversion from PostGIS <---> GDALRaster works
# for out-of-db
raster = GDALRaster(os.path.join("app", "fixtures", "orthophoto.tif"))
self.assertTrue(raster.srid == 32615)
self.assertTrue(raster.width == 212)
# Classic
hexwkb = to_pgraster(raster)
deserialized_raster = GDALRaster(from_pgraster(hexwkb))
self.assertTrue(len(deserialized_raster.bands) == 4)
self.assertTrue(deserialized_raster.srid == raster.srid)
self.assertTrue(deserialized_raster.width == raster.width)
self.assertTrue(deserialized_raster.height == raster.height)
# Off-db
hexwkb = to_pgraster(raster, True)
deserialized_raster = GDALRaster(from_pgraster(hexwkb, True))
self.assertTrue(deserialized_raster.name == raster.name)
self.assertTrue(deserialized_raster.srid == raster.srid)
self.assertTrue(deserialized_raster.width == raster.width)
self.assertTrue(deserialized_raster.height == raster.height)