Skip to content

Django raster for panorama view of big images #48

@al-muammar

Description

@al-muammar

I'm trying to implement panoramic view of big images (not geo-related).
This is an example of what I would like to do: http://www.precipoint.com/o8-oil-microscope-scanner/

From the example above I see that they use leaflet.js and images with .gtif format.
It seems that all of the machinery from django-raster could be reused.
The first question: is it the right choice to use django raster for this?

The second question. When uploading an image via the admin website (I set up srid to 3857), the following exception occurs:

  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/raster/models.py", line 241, in parse_raster_layer_if_status_is_unparsed
    parse(instance.id)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/raster/tasks.py", line 129, in parse
    all_in_one(rasterlayer_id, zoom_range)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/celery/local.py", line 191, in __call__
    return self._get_current_object()(*a, **kw)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/celery/app/task.py", line 392, in __call__
    return self.run(*args, **kwargs)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/raster/tasks.py", line 75, in all_in_one
    create_tiles(rasterlayer_id, zoom_range, True)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/celery/local.py", line 191, in __call__
    return self._get_current_object()(*a, **kw)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/celery/app/task.py", line 392, in __call__
    return self.run(*args, **kwargs)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/raster/tasks.py", line 39, in create_tiles
    parser.create_tiles(zoom)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/raster/tiles/parser.py", line 286, in create_tiles
    self.populate_tile_level(zoom)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/raster/tiles/parser.py", line 309, in populate_tile_level
    self.process_quadrant(indexrange, zoom)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/raster/tiles/parser.py", line 348, in process_quadrant
    'height': (indexrange[3] - indexrange[1] + 1) * self.tilesize,
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/source.py", line 413, in warp
    c_void_p(), c_void_p(), c_void_p()
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/errcheck.py", line 118, in check_errcode
    check_err(result, cpl=cpl)
  File "~/.virtualenvs/testsite/lib/python3.7/site-packages/django/contrib/gis/gdal/error.py", line 59, in check_err
    raise e(msg)
django.contrib.gis.gdal.error.GDALException: FileIO

Before that I usually see:

GDAL_ERROR 1: b'The transformation is already "north up" or a transformation between pixel/line and georeferenced coordinates cannot be computed for /tmp/tmpb3y4vimd/almost-there_XFSV2t1.tiff. There is no affine transformation and no GCPs
. Specify transformation option SRC_METHOD=NO_GEOTRANSFORM to bypass this check.'

And after the server returns 500 I see sometimes (probably, because the directory is deleted):

GDAL_ERROR 1: b'Unable to save auxiliary information in /tmp/abcdef/almost-there_2mg1OYo.tif.aux.xml.'

How to overcome that?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions