Skip to content

Classe RasterSet : chargement d'un jeu de données raster #20

@Dolite

Description

@Dolite

RasterSet

Classe : RasterSet

Fichier concerné : Raster.py

Le but est de charger des informations sur un jeu de données raster et de la manipuler. Il y aura deux constructeurs

Constructeur from_list

Prend en entrée un chemin (fichier ou objet) vers une liste et un SRS (string) : la liste en entrée contient des chemins (fichier ou objet) vers des images. La fonction va récupérer pour chaque image de la liste les informations suivantes (a priori fait par la classe Raster) :

  • les caractéristiques des canaux : le nombres et leur format
  • la bounding box
  • la taille en pixel

Elle tiendra à jour la liste des caractéristiques distinctes rencontrées (si toutes les images ont les mêmes, un seul élément) et la bbox globale.

Constructeur from_descriptor

Juste à partir du descripteur qui est écrit par la méthode d'instance, recharge toutes les informations. Il faut ajouter un constructeur de Raster à partir des informations sans lire le fichier source (si plusieurs descripteur, respecter la logique mise en place dans Pyramid ou Layer : from_descriptor, from_path, from_parameters, from_other pour un clone...)

Attributs

  • Liste de Raster
  • la bbox globale (attention, en 4326 on veut les latitudes en premier, ce que GDAL retourne de toute manière)
  • le tableau des caractéristiques des canaux
  • le SRS

Méthode d'instance

  • write_descriptor (chemin) : écrit un JSON qui consigne toutes les informations, globales et par image. Passer par une propriété serializable (voir Pyramid)
  • optionnel : write_vrt : écrit le fichier XML en respectant le format VRT : uniquement si une seule caractéristique de canaux
<VRTDataset rasterXSize="310000" rasterYSize="450000">
  <GeoTransform>  9.8100000000000000e+05,  1.0000000000000028e-01,  0.0000000000000000e+00,  6.7550000000000000e+06,  0.0000000000000000e+00, -1.0000000000000028e-01</GeoTransform>
  <VRTRasterBand dataType="Byte" band="1">
    <SimpleSource>
      <SourceFilename relativeToVRT="1">BDP_14_1011_6720_010_L93.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="10000" RasterYSize="10000" DataType="Byte" BlockXSize="10000" BlockYSize="16" />
      <SrcRect xOff="0" yOff="0" xSize="10000" ySize="10000" />
      <DstRect xOff="300000" yOff="350000" xSize="10000" ySize="10000" />
    </SimpleSource>
    <SimpleSource>
      <SourceFilename relativeToVRT="1">BDP_14_1011_6721_010_L93.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="10000" RasterYSize="10000" DataType="Byte" BlockXSize="10000" BlockYSize="16" />
      <SrcRect xOff="0" yOff="0" xSize="10000" ySize="10000" />
      <DstRect xOff="300000" yOff="340000" xSize="10000" ySize="10000" />
    </SimpleSource>
  </VRTRasterBand>
</VRTDataset>

Enrichissement

  • Documentation
  • Tests unitaires

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions