kopia lustrzana https://github.com/OpenDroneMap/WebODM
47 wiersze
1.4 KiB
Python
47 wiersze
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.11.1 on 2017-07-07 14:14
|
|
from __future__ import unicode_literals
|
|
|
|
from django.contrib.gis.gdal import GDALRaster, OGRGeometry
|
|
from django.contrib.gis.geos import GEOSGeometry
|
|
from django.db import migrations
|
|
import os
|
|
|
|
from webodm import settings
|
|
|
|
|
|
def assets_path(project_id, task_id, *args):
|
|
return os.path.join(settings.MEDIA_ROOT,
|
|
"project",
|
|
str(project_id),
|
|
"task",
|
|
str(task_id),
|
|
"assets",
|
|
*args)
|
|
|
|
def transfer_existing_orthophoto_extent_values(apps, schema_editor):
|
|
Task = apps.get_model('app', 'Task')
|
|
|
|
for t in Task.objects.all():
|
|
print("Checking {}".format(t))
|
|
orthophoto_path = assets_path(t.project.id, t.id, "odm_orthophoto", "odm_orthophoto_4326.tif")
|
|
if os.path.exists(orthophoto_path):
|
|
print("Migrating {}".format(orthophoto_path))
|
|
|
|
raster = GDALRaster(orthophoto_path)
|
|
geom = OGRGeometry.from_bbox(raster.extent)
|
|
t.orthophoto_extent = GEOSGeometry(geom.wkt)
|
|
t.save()
|
|
|
|
os.remove(orthophoto_path)
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('app', '0004_auto_20170707_1014'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(transfer_existing_orthophoto_extent_values),
|
|
]
|