我有一个练习任务,我无法进一步了解。
任务如下:
项目描述项目的目标是创建地图视图 类似于Google地图,用户可以在其中查看一些图像数据 被无人机捕获。
用户应该可以自由地在地图上移动,也可以放大 并缩小以仔细查看捕获的图像数据。
强烈希望所提供的图像数据能够支持 透明度,同时最小化文件大小和带宽使用。这个 不必实施,但欢迎解决方案的想法。
原始图像数据将作为GeoTIFF文件提供。意象 可以通过将文件放在目录中来添加地图上可见的内容 这是由服务器读取的。项目交付方式
项目应作为带有文档的Git存储库提供 需要设置和运行项目。
要求 1. Python 3.5+中的服务器实现 2.项目必须能够在Ubuntu Server 16.04上运行 3.显示给用户的图像数据的最佳磁盘空间使用量(因为应用程序可能正在处理数TB的卫星图像数据) 4.相对保守的带宽使用
注意: 1.该项目将部署在已经运行其他Python软件的计算机上。必须避免依赖冲突。 (virtualenv,Docker) 2. UI可以是一个带有嵌入式库和内联脚本的简单HTML页面。
此外,它在电子邮件中指定:
“测试任务不是代码,只是方法和粗略的应用程序 体系结构
```我附加了坦克规格。就像我提到的那样。我更感兴趣 在解决问题和你的想法。我希望工作原型很难。
使用您想要使用的任何库。营造优雅,轻松 了解解决方案。您可以根据需要使用尽可能多的时间。将会 如果你能通过git传递代码那就很好....````
到目前为止,我已经完成了:
我现在已经通过控制台集成了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有点激烈,因为我必须放弃它,就像明天一样。最新的周二早上。
如果有人能给我一些提示,我将非常感激。总而言之,这对我来说非常重要,如果我搞砸了任务的一半(或最后三分之一),那将是一种耻辱。
谢谢大家。 : - )