【问题标题】:How can I retrieve my raster data from PostGIS database in Django project and calculate my value of the raster at Given location如何从 Django 项目中的 PostGIS 数据库中检索栅格数据并计算给定位置的栅格值
【发布时间】:2021-10-29 02:43:25
【问题描述】:

我将栅格数据存储在我的数据库中。我想在我的 Django 中取回该栅格数据,并尝试在该特定像素处找到值。 我的代码

class dataviewView(views.View):
    def post(self, request):
        data = json.loads(request.body)
        name = data['name']
        lat = data['lat']
        long = data['long']
        point = ogr.Geometry(ogr.wkbPoint)
        point.AddPoint(lat,long)
        if ndvimodel.objects.filter(name = name).exists():
            p1 = ndvimodel.objects.all()
            for raster_data in p1:
                rasterdata = raster_data.rast
                print(type(rasterdata))

但我无法获得该光栅内容。我该如何解决这些问题

【问题讨论】:

    标签: django postgis raster geodjango


    【解决方案1】:

    访问 raster.bands[0].data() 将从第一个波段返回 numpy 数组,然后访问 raster.geotransform。之后就可以使用了

    mx, my = geom.GetX(), geom.GetY() 
    px = int((mx - gt[0]) / gt[1]) 
    py = int((my - gt[3]) / gt[5]) 
    intval = raster.bands[0].data()[px, py]
    

    【讨论】:

      猜你喜欢
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      相关资源
      最近更新 更多