From 77fb4ae2e17116ab1b2d33a1d04935c63987feb0 Mon Sep 17 00:00:00 2001 From: Theo Satabin Date: Fri, 17 Mar 2023 11:24:44 +0100 Subject: [PATCH 1/2] Comparaison de float dans les tests unitaires via math.isclose --- tests/test_Utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_Utils.py b/tests/test_Utils.py index f5dfe6a..075e7d9 100644 --- a/tests/test_Utils.py +++ b/tests/test_Utils.py @@ -3,6 +3,7 @@ import pytest import os +import math from unittest.mock import * from unittest import mock @@ -52,7 +53,10 @@ def test_reproject_point_ok(): sr_3857 = srs_to_spatialreference("EPSG:3857") sr_ignf = srs_to_spatialreference("IGNF:WGS84G") x,y = reproject_point((43, 3), sr_4326, sr_3857) - assert (x,y) == (333958.4723798207, 5311971.846945471) + + assert math.isclose(x, 333958.4723798207, rel_tol=1e-5) + assert math.isclose(y, 5311971.846945471, rel_tol=1e-5) + x,y = reproject_point((43, 3), sr_4326, sr_ignf) assert (x,y) == (3, 43) From 57b759bf827871c908b656963b622bb38064e480 Mon Sep 17 00:00:00 2001 From: Theo Satabin Date: Thu, 23 Mar 2023 15:39:00 +0100 Subject: [PATCH 2/2] Ajout de fonction de lecture de la liste d'une pyramide --- CHANGELOG.md | 22 +-- README.md | 6 +- README.pypi.md | 8 +- src/rok4/Pyramid.py | 294 ++++++++++++++++++++++++++++++- src/rok4/Storage.py | 2 +- tests/fixtures/TIFF_PBF_MVT.list | 3 + tests/test_Pyramid.py | 36 +++- tests/test_Storage.py | 2 +- 8 files changed, 341 insertions(+), 32 deletions(-) create mode 100644 tests/fixtures/TIFF_PBF_MVT.list diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dd332d..0a24c5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,20 @@ ## Summary -Lecture par système de fichier virtuel avec GDAL +Lecture facilitée de la liste d'une pyramide. ## Changelog ### [Added] -* Storage - * Fonction `get_osgeo_path` permettant de configurer le bon sytème de fichier virtuel en fonction du chemin fourni, et retourne celui à utiliser dans le Open de gdal ou ogr - -### [Changed] - -* Storage - * la récupération d'un client S3 (`__get_s3_client`) permet de récupérer le client, l'hôte, les clés d'accès et secrète, ainsi que le nom du bucket sans l'éventuel hôte du cluster - +* Pyramid + * Fonctions de gestion de la liste : chargement et lecture (via un generator) + * Taille du header d'une dalle stockée dans la variable `ROK4_IMAGE_HEADER_SIZE` + * La proriété `tile_extension` : retourne l'extension d'une tuile de la pyramide en fonction du format + * Des exemples d'utilisation des fonctions principales ### [Fixed] * Storage - * Lecture binaire S3 : mauvaise configuration du nom du bucket et de l'objet et mauvaise lecture partielle - -### [Removed] - -* Exceptions - * `NotImplementedError` est une exceptions native + * Lecture de la taille d'un objet S3 : pas besoin d'enlever des quotes dans le header `Content-Length`