Django / Geodjango / Raster / geotiff:练习任务的问题

时间:2017-12-10 09:15:23

标签: python django raster gdal geodjango

我有一个练习任务,我无法进一步了解。
任务如下:

  

项目描述项目的目标是创建地图视图   类似于Google地图,用户可以在其中查看一些图像数据   被无人机捕获。

     

用户应该可以自由地在地图上移动,也可以放大   并缩小以仔细查看捕获的图像数据。

     

强烈希望所提供的图像数据能够支持   透明度,同时最小化文件大小和带宽使用。这个   不必实施,但欢迎解决方案的想法。

     

原始图像数据将作为GeoTIFF文件提供。意象   可以通过将文件放在目录中来添加地图上可见的内容   这是由服务器读取的。项目交付方式

     

项目应作为带有文档的Git存储库提供   需要设置和运行项目。

     

要求   1. Python 3.5+中的服务器实现   2.项目必须能够在Ubuntu Server 16.04上运行   3.显示给用户的图像数据的最佳磁盘空间使用量(因为应用程序可能正在处理数TB的卫星图像数据)   4.相对保守的带宽使用

     

注意:   1.该项目将部署在已经运行其他Python软件的计算机上。必须避免依赖冲突。   (virtualenv,Docker)   2. UI可以是一个带有嵌入式库和内联脚本的简单HTML页面。

此外,它在电子邮件中指定:

  

“测试任务不是代码,只是方法和粗略的应用程序   体系结构

     

```我附加了坦克规格。就像我提到的那样。我更感兴趣   在解决问题和你的想法。我希望工作原型很难。

     

使用您想要使用的任何库。营造优雅,轻松   了解解决方案。您可以根据需要使用尽可能多的时间。将会   如果你能通过git传递代码那就很好....````

到目前为止,我已经完成了:

  1. Ubuntu as VM
  2. Venv
  3. 安装Postgres和PostGIS(Django在数据库中写入错误)
  4. 创建了Django项目和应用
  5. 到目前为止的文档
  6. 我现在已经通过控制台集成了geotiff,这似乎也有效:

    from django.contrib.gis.gdal import GDALRaster
    raster = GDALRaster('base/static/base/geotiff/xto-site3-rgb.tif')
    raster.name
    Out[4]: 'base/static/base/geotiff/xto-site3-rgb.tif'
    raster.width, raster.height
    Out[5]: (23001, 9668)
    

    到目前为止,models.py中是:

    from django.contrib.gis.db import models
    
    
    class RasterBase(models.Model):
        raster = models.RasterField()
        name = models.TextField()
    

    我如何安装网格,以便我可以在类似谷歌地图的HTML中描绘它?如果我理解正确,我现在必须在数据库中写入geotiff,并从那里继续阅读,对吗?

    不幸的是,我在网络中发现很大程度上只是过时的东西,或者通常是shapefile所假设的例子。我应该将网格转换为shapefile并继续这样吗?

    到目前为止,我只在Django中制作小东西,比如我自己的博客和一些统计数据,但这与Geodjango有点激烈,因为我必须放弃它,就像明天一样。最新的周二早上。

    如果有人能给我一些提示,我将非常感激。总而言之,这对我来说非常重要,如果我搞砸了任务的一半(或最后三分之一),那将是一种耻辱。

    • Django是版本2.0
    • GeoTIFF~900mb

    谢谢大家。 : - )

0 个答案:

没有答案