|
1 | | -## Summary |
2 | 1 |
|
3 | | -## Changelog |
| 2 | +## 1.6.0 |
| 3 | + |
| 4 | +Lecture par système de fichier virtuel avec GDAL |
4 | 5 |
|
5 | | -<!-- |
6 | 6 | ### [Added] |
7 | 7 |
|
| 8 | +* Storage |
| 9 | + * 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 |
| 10 | + |
8 | 11 | ### [Changed] |
9 | 12 |
|
10 | | -### [Deprecated] |
| 13 | +* Storage |
| 14 | + * 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 |
| 15 | + |
| 16 | +### [Fixed] |
| 17 | + |
| 18 | +* Storage |
| 19 | + * Lecture binaire S3 : mauvaise configuration du nom du bucket et de l'objet et mauvaise lecture partielle |
11 | 20 |
|
12 | 21 | ### [Removed] |
13 | 22 |
|
14 | | -### [Fixed] |
| 23 | +* Exceptions |
| 24 | + * `NotImplementedError` est une exceptions native |
| 25 | + |
| 26 | + |
| 27 | +## 1.5.0 |
| 28 | + |
| 29 | +### [Added] |
| 30 | + |
| 31 | +* Level |
| 32 | + * Fonction de test d'une tuile `is_in_limits` : ses indices sont ils dans les limites du niveau ? |
| 33 | +* Pyramid |
| 34 | + * La lecture d'une tuile vérifie avant que les indices sont bien dans les limites du niveau |
| 35 | + * Les exceptions levées lors du décodage de la tuile raster emettent une exception `FormatError` |
| 36 | + * `get_tile_indices` accepte en entrée un système de coordonnées : c'est celui des coordonnées fournies et permet de faire une reprojection si celui ci n'est pas le même que celui des données dans la pyramide |
| 37 | +* Utils |
| 38 | + * Meilleure gestion de reprojection par `reproject_bbox` : on détecte des systèmes identiques en entrée ou quand seul l'ordre des axes changent, pour éviter le calcul |
| 39 | + * Ajout de la fonction de reprojection d'un point `reproject_point` : on détecte des systèmes identiques en entrée ou quand seul l'ordre des axes changent, pour éviter le calcul |
| 40 | + |
| 41 | +### [Changed] |
| 42 | + |
| 43 | +* Utils : |
| 44 | + * `bbox_to_geometry` : on ne fournit plus de système de coordonnées, la fonction se content de créer la géométrie OGR à partir de la bbox, avec éventuellement une densification en points des bords |
| 45 | +* Pyramid : |
| 46 | + * Renommage de fonction : `update_limits` -> `set_limits_from_bbox`. Le but est d'être plus explicite sur le fonctionnement de la fonction (on écrase les limites, on ne les met pas juste à jour par union avec la bbox fournie) |
| 47 | + |
| 48 | + |
| 49 | +## 1.4.4 |
| 50 | + |
| 51 | +Ajout de fonctionnalités de lecture de donnée d'une pyramide et suivi des recommandations PyPA pour la gestion du projet. |
| 52 | + |
| 53 | +### [Added] |
| 54 | + |
| 55 | +* TileMatrix : |
| 56 | + * Fonction de calcul des indices de tuile et de pixel dans la tuile à partir d'un point dans le système de coordonnées du TMS |
| 57 | +* Pyramid : |
| 58 | + * Fonction de calcul des indices de tuile et de pixel dans la tuile à partir d'un point dans le système de coordonnées du TMS et éventuellement un niveau |
| 59 | + * Fonctions de lecture d'une tuile : au format binaire source ou au format tableau à 3 dimensions pour les tuiles raster |
| 60 | +* Storage : |
| 61 | + * Fonction de lecture binaire, complète ou partielle, d'un fichier ou objet S3 ou CEPH |
| 62 | +* Exceptions : NotImplementedError permet de préciser qu'une fonctionnalité n'a pas été implémentée pour tous les cas. Ici, on ne gère pas la décompression des données raster pour les compressions packbit et LZW |
| 63 | + |
| 64 | +* Ajout de la publication PyPI dans la CI GitHub |
| 65 | + |
| 66 | +### [Changed] |
| 67 | + |
| 68 | +* Storage : |
| 69 | + * La lecture sous forme de chaîne s'appuie sur la lecture complète binaire. Aucun changement à l'usage. |
| 70 | +* TileMatrixSet : quelque soit le système de coordonnées, on ne gère que un ordre des axes X,Y ou Lon,Lat. Cependant, les fonctions de calcul de ou à partir de bbox respectent l'ordre du système dans ces dernières. |
| 71 | + |
| 72 | +* Passage de la configuration du projet dans le fichier `pyproject.toml` |
| 73 | + |
| 74 | + |
| 75 | +## 1.3.0 |
| 76 | + |
| 77 | +Ajout de la librairie de lecture de données vecteur, de tests unitaires et ajout de fonctionnalité pour le stockage. Amélioration de la gestion du projet et de l'intégration continue. |
| 78 | + |
| 79 | +### [Added] |
| 80 | + |
| 81 | +* Librairie de lecture de données vecteur : |
| 82 | + * Chargement de données vecteur pour des fichiers shapefile, Geopackage, CSV et GeoJSON |
| 83 | + * Ecriture des tests unitaires |
| 84 | +* Librairie Pyramid : complétion des tests unitaires |
| 85 | +* Librairie Storage : prise en charge de la copie CEPH -> S3 |
| 86 | +* Gestion du projet (compilations, dépendances...) via poetry |
| 87 | +* Injection de la version dans le fichier `pyproject.toml` et `__init__.py` (définition de la variable `__version__`) |
| 88 | +* Évolution de la CI github |
| 89 | + * Vérification des installations et tests unitaires sous ubuntu 20.04 python 3.8 et ubuntu 22.04 python 3.10 |
| 90 | + * Publication de l'artefact avec les résultats des tests unitaires |
| 91 | + * Nettoyage de la release en cas d'erreur |
| 92 | + * Compilation de la documentation et publication sur la branche gh-pages |
| 93 | + |
| 94 | + |
| 95 | +## 1.2.0 |
| 96 | + |
| 97 | +Ajout des librairies pour l'utilitaire make-layer.py |
| 98 | + |
| 99 | +### [Added] |
| 100 | + |
| 101 | +* Librairie Storage : complétion des tests unitaires |
| 102 | + |
| 103 | +* Librairie Pyramid : |
| 104 | + * Ajout de getter sur les niveaux du haut et du bas |
| 105 | + |
| 106 | +* Ajout de la librairie de gestion d'une couche Layer : |
| 107 | + * Chargement d'une couche depuis des paramètres |
| 108 | + * Chargement d'une couche depuis un descripteur |
| 109 | + * Écriture du descripteur au format attendu par le serveur |
| 110 | + * Écriture des tests unitaires |
| 111 | + |
| 112 | +* Ajout d'une librairie d'utilitaires Utils |
| 113 | + * Conversion d'un SRS en objet OSR SpatialReference |
| 114 | + * Conversion d'une bbox en objet OGR Geometry |
| 115 | + * Reprojection d'une bbox avec densification des côtés et reprojection partielle |
| 116 | + * Écriture des tests unitaires |
| 117 | + |
| 118 | +* Configuration de l'outil coverage pour voir la couverture des tests unitaires |
| 119 | + |
| 120 | + |
| 121 | +## 1.1.0 |
| 122 | + |
| 123 | +Prise en charge de plusieurs clusters S3 de stockage. |
| 124 | + |
| 125 | +### [Added] |
| 126 | + |
| 127 | +* Librairie d'abstraction du stockage : |
| 128 | + * Prise en charge de plusieurs clusters S3. Les variables d'environnement pour le stockage S3 précisent plusieurs valeurs séparées par des virgules, et les noms des buckets peuvent être suffixés par "@{S3 cluster host}". Par défaut, le premier cluster défini est utilisé. L'hôte du cluster n'est jamais écrit dans le descripteur de pyramide ou le fichier liste (puisque stockés sur le cluster, on sait sur lequel sont les objets). Les objets symboliques ne le précisent pas non plus et ne peuvent être qu'au sein d'un cluster S3 |
| 129 | + |
| 130 | + |
| 131 | +## 1.0.0 |
| 132 | + |
| 133 | +Initialisation des librairies Python utilisées par les outils python à venir du dépôt [pytools](https://github.com/rok4/pytools). |
| 134 | + |
| 135 | +### [Added] |
15 | 136 |
|
16 | | -### [Security] |
17 | | ---> |
| 137 | +* Librairie d'abstraction du stockage (S3, CEPH ou FILE) |
| 138 | + * récupération du contenu sous forme de string |
| 139 | + * écriture d'un contenu string |
| 140 | + * création d'un lien symbolique |
| 141 | + * copie fichier/objet <-> fichier/objet |
| 142 | +* Librairie de chargement d'un Tile Matrix Set |
| 143 | +* Librairie de gestion d'un descripteur de pyramide |
| 144 | + * chargement depuis un descripteur ou par clone (avec changement de stockage) |
| 145 | + * écriture du descripteur |
| 146 | +* Tests unitaires couvrant ces librairies |
0 commit comments