Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 28 additions & 42 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,88 +1,74 @@
# Changelog

Tous les changements sont consignés dans ce fichier.

Le format est basé sur [Keep a Changelog](https://keepachangelog.com/) et ce projet respecte le [Semantic Versioning](https://semver.org/).

## [Unreleased]

### Added

* Outil TMSIZER : ajout de la conversion GETTILE_PARAMS -> SLAB, pour avoir les informations sur la dalle contenant la tuile (indices et chemin de stockage)

- Outil TMSIZER :
* ajout de la conversion GETTILE_PARAMS -> SLAB, pour avoir les informations sur la dalle contenant la tuile (indices et chemin de stockage)
* ajout des conversions PYRAMID_LIST -> SLAB et PYRAMID_LIST -> HEATMAP pour avoir des informations de dalle ou une carte de chaleur à partir du fichier liste d'une pyramide
### Changed
### Deprecated
### Removed
### Fixed
### Security
- Refonte du CHANGELOG au format [Keep a Changelog](https://keepachangelog.com/)

## [1.5.2] - 2024-11-06

### Added

* Outil TMSIZER : possibilité de préciser une aire prédéinie à la place de la bbox et un niveau à la place des dimensions pour l'écriture d'une heatmap (une tuile du niveau correspondra à un pixel)
- Outil TMSIZER : possibilité de préciser une aire prédéinie à la place de la bbox et un niveau à la place des dimensions pour l'écriture d'une heatmap (une tuile du niveau correspondra à un pixel)

## [1.5.1] - 2024-09-18

### Added

* Outil TMSIZER : ajout d'une option pour filtrer sur la couche pour le format en entrée GETTILE_PARAMS : fourniture d'une liste de couches avec l'option `layers`
- Outil TMSIZER : ajout d'une option pour filtrer sur la couche pour le format en entrée GETTILE_PARAMS : fourniture d'une liste de couches avec l'option `layers`

### Changed

* Outil TMSIZER : modification de l'option pour filtrer sur le niveau pour le format en entrée GETTILE_PARAMS : fourniture d'une liste de niveaux et l'option `level` devient `levels`

- Outil TMSIZER : modification de l'option pour filtrer sur le niveau pour le format en entrée GETTILE_PARAMS : fourniture d'une liste de niveaux et l'option `level` devient `levels`

## [1.5.0] - 2024-04-30

### Added

* Outil TMSIZER : convertit des informations en d'autres en s'appuyant sur un TMS pivot. Conversions implémentées :
- Outil TMSIZER : convertit des informations en d'autres en s'appuyant sur un TMS pivot. Conversions implémentées :
* GETTILE_PARAMS -> HEATMAP
* GETTILE_PARAMS -> COUNT
* GEOMETRY -> GETTILE_PARAMS
* Outil PYROLYSE : compile des statistiques (nombre de dalles / tuile, taille, temps d'accès) sur une pyramide de données, au global et par niveau
- Outil PYROLYSE : compile des statistiques (nombre de dalles / tuile, taille, temps d'accès) sur une pyramide de données, au global et par niveau

## [1.3.2] - 2024-01-31

### Added

* Outil JOINCACHE génèrent une pyramide à partir d'autres pyramides raster compatibles. Fonctionne en plusieurs modes :
- Outil JOINCACHE génèrent une pyramide à partir d'autres pyramides raster compatibles. Fonctionne en plusieurs modes :
* 3 pour la génération : master, agent et finisher
* 2 pour l'aide : example et check
* Création de la classe "source" pour charger des sources de données
- Création de la classe "source" pour charger des sources de données

### Changed

* Division de l'outil PYR2PYR en un fichier principal (pyr2pyr.py) et des fichier par rôles (pyr2pyr_utils/agent.py, pyr2pyr_utils.master.py, pyr2pyr_utils.finisher.py)
* Gestion des documentations des différentes versions avec l'outil [mike](https://github.com/jimporter/mike)
- Division de l'outil PYR2PYR en un fichier principal (pyr2pyr.py) et des fichier par rôles (pyr2pyr_utils/agent.py, pyr2pyr_utils.master.py, pyr2pyr_utils.finisher.py)
- Gestion des documentations des différentes versions avec l'outil [mike](https://github.com/jimporter/mike)

## [1.2.1] - 2023-03-10

### Added

* Outil MAKE-LAYER : génère un descripteur de couche compatible avec le serveur à partir des pyramides de données à utiliser
* Ajout de la publication PyPI dans la CI GitHub
- Outil MAKE-LAYER : génère un descripteur de couche compatible avec le serveur à partir des pyramides de données à utiliser
- Ajout de la publication PyPI dans la CI GitHub

### Changed

* Renommage pour plus de cohérence avec les pratiques :
- Renommage pour plus de cohérence avec les pratiques :
* Le module rok4 est renommé : rok4lib -> rok4
* Le module d'outil est renommé : rok4tools -> rok4_tools. Le package a le nom rok4-tools
* Le script make-layer.py -> make_layer.py
* Passage de la configuration du projet dans le fichier `pyproject.toml`
- Passage de la configuration du projet dans le fichier `pyproject.toml`

## [1.1.0] - 2023-01-13

### Changed

* Outil PYR2PYR :
- Outil PYR2PYR :
* Les pyramides source et destination peuvent être sur des clusters S3 différents. Ils sont précisés lors de la recopie des dalles. Pour préciser le cluster dans le chemin vers le descripteur de la pyramide source (ou l'emplacement de la pyramide destination), il suffit de suffixer le nom du bucket avec `@{hôte du cluster}`.

## [1.0.0] - 2022-11-28

### Added

* Outil PYR2PYR de copie de pyramide : copie d'une pyramide d'un stockage à une autre. Contrôle les signatures MD5 si présente dans le fichier liste. Fonctionne en plusieurs modes :
- Outil PYR2PYR de copie de pyramide : copie d'une pyramide d'un stockage à une autre. Contrôle les signatures MD5 si présente dans le fichier liste. Fonctionne en plusieurs modes :
* 3 pour la recopie : master, agent et finisher
* 2 pour l'aide : example et check

[Unreleased]: https://github.com/rok4/pytools/compare/v1.5.2...HEAD
[1.5.2]: https://github.com/rok4/pytools/compare/v1.5.1...v1.5.2
[1.5.1]: https://github.com/rok4/pytools/compare/v1.5.0...v1.5.1
[1.5.0]: https://github.com/rok4/pytools/compare/v1.3.2...v1.5.0
[1.3.2]: https://github.com/rok4/pytools/compare/v1.2.1...v1.3.2
[1.2.1]: https://github.com/rok4/pytools/compare/v1.1.0...v1.2.1
[1.1.0]: https://github.com/rok4/pytools/compare/v1.0.0...v1.1.0
[1.0.0]: https://github.com/rok4/pytools/releases/tag/v1.0.0
23 changes: 13 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,41 @@ Merci d'envisager de contribuer à ce projet !

## Git hooks

Nous utilisons les git hooks via [pre-commit](https://pre-commit.com/) pour appliquer et vérifier automatiquement certaines "règles". Veuillez l'installer avant de pousser un commit.
Nous utilisons les git hooks via [pre-commit](https://pre-commit.com/) pour appliquer et vérifier automatiquement certaines conventions. Veuillez l'installer avant de pousser un commit :

```
pip install pre-commit
pre-commit install
```

Voir le fichier de configuration correspondant : `.pre-commit-config.yaml`.

## Pull request

Le titre de la PR est utilisé pour constituer automatiquement les notes de release. Vous pouvez préciser en commentaire de votre PR des détails qui seront ajoutés dans le fichier `CHANGELOG.md` par les mainteneurs du projet.

Le formalisme du changelog est le suivant, en markdown :
Complétez le fichier `CHANGELOG.md`, dans la partie `[Unreleased]`, en précisant les modifications fonctionnelles apportées. Celles ci seront utilisées pour rédiger le message de release sur GitHub. Le format est basé sur [Keep a Changelog](https://keepachangelog.com/). Les sections sont les suivantes :

```md
### [Added]
### Added

Liste de nouvelles fonctionnalités.

### [Changed]
### Changed

Liste de fonctionnalités existantes modifiées.

### [Deprecated]
### Deprecated

Liste de fonctionnalités dépréciées.

### [Removed]
### Removed

Liste de foncitonnalités retirées.

### [Fixed]
### Fixed

Liste de corrections fonctionnelles.

### [Security]
### Security

Liste de corrections de sécurité.
```
Expand Down
22 changes: 16 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,17 +163,23 @@ Utilisation : `tmsizer [-h] [--version] --tms <TMS identifier> [-i storage://pat

Conversions possibles (paramètres obligatoires en gras, paramètres facultatifs en italique) :

| Format en entrée | Options d'entrée | Format en sortie | Options de sortie | Description |
|------------------|-------------------------------------------------------|------------------|------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| GETTILE_PARAMS | *`levels=<id>[,<id> ...]`*,*`layers=<id>[,<id> ...]`* | COUNT | | Compte le nombre de GetTile dans les URLs en entrée utilisant le TMS pivot et les éventuels niveaux et couches fournies |
| GETTILE_PARAMS | | SLAB | **`size=<widthwise>x<heightwise`**, **`storage=(FILE\|S3)`** | Génère les informations de la dalle contenant chaque tuile requêtée (indices et chemin de stockage) |
| GETTILE_PARAMS | *`levels=<id>[,<id> ...]`*,*`layers=<id>[,<id> ...]`* | HEATMAP | **`bbox=<xmin>,<ymin>,<xmax>,<ymax> or area=<id>`**, **`dimensions=<width>x<height> or level=<id>`** | Génère une carte de chaleur des tuiles interrogées sur la zone demandée et sur les éventuels niveaux et couches fournies. Si un niveau est fourni en sortie, on calera la bbox et les résolutions pour avoir un pixel correpondant à l'étendue d'une tuile du niveau. Certaines aires sont prédéfinies pour certaines projections du TMS |
| GEOMETRY | **`format=<WKT\|GeoJSON\|WKB>`**,**`level=<id>`** | GETTILE_PARAMS | | Génére les paramètres de requête GetTile des tuiles du niveau fourni intersectant les géométries en entrée |
| Format en entrée | Options d'entrée | Format en sortie | Options de sortie | Description |
|------------------|-----------------------------------------------------------------------------------------------------------|------------------|------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| GETTILE_PARAMS | *`levels=<id>[,<id> ...]`*,*`layers=<id>[,<id> ...]`* | COUNT | | Compte le nombre de GetTile dans les URLs en entrée utilisant le TMS pivot et les éventuels niveaux et couches fournies |
| GETTILE_PARAMS | | SLAB | **`size=<widthwise>x<heightwise>`**, **`storage=(FILE\|S3)`** | Génère les informations de la dalle contenant chaque tuile requêtée (indices et chemin de stockage) |
| GETTILE_PARAMS | *`levels=<id>[,<id> ...]`*,*`layers=<id>[,<id> ...]`* | HEATMAP | **`bbox=<xmin>,<ymin>,<xmax>,<ymax> or area=<id>`**, **`dimensions=<width>x<height> or level=<id>`** | Génère une carte de chaleur des tuiles interrogées sur la zone demandée et sur les éventuels niveaux et couches fournies. Si un niveau est fourni en sortie, on calera la bbox et les résolutions pour avoir un pixel correpondant à l'étendue d'une tuile du niveau. Certaines aires sont prédéfinies pour certaines projections du TMS |
| GEOMETRY | **`format=<WKT\|GeoJSON\|WKB>`**,**`level=<id>`** | GETTILE_PARAMS | | Génére les paramètres de requête GetTile des tuiles du niveau fourni intersectant les géométries en entrée |
| PYRAMID_LIST | **`storage=(FILE\|S3)`**, `depth=<int>` | SLAB | | Génère les informations de la dalle à partir d'une ligne de fichier liste de pyramide |
| PYRAMID_LIST | **`storage=(FILE\|S3)`**, *`depth=<int>`*, **`size=<widthwise>x<heightwise>`**, *`levels=<id>[,<id> ...]`* | HEATMAP | **`bbox=<xmin>,<ymin>,<xmax>,<ymax> or area=<id>`**, **`dimensions=<width>x<height> or level=<id>`** | Génère une carte de chaleur des dalles à partir des lignes d'un fichier liste de pyramide |

Aires prédéfinies pour une carte de chaleur :

* `EPSG:3857`
* `FXX` (France métropolitaine)
* `EPSG:2154`
* `FXX` (France métropolitaine)
* `IGNF:LAMB93`
* `FXX` (France métropolitaine)

Exemple (GETTILE_PARAMS -> HEATMAP) :

Expand All @@ -187,6 +193,10 @@ Exemple (GETTILE_PARAMS -> SLAB) pour une tuile :

`echo "/?TILEMATRIXSET=LAMB93_5cm&TILEMATRIX=18&TILECOL=4158&TILEROW=27790" | tmsizer --tms LAMB93_5cm -if GETTILE_PARAMS -of SLAB -oo storage=S3 -oo size=16x16`

Exemple (PYRAMID_LIST -> HEATMAP) pour un fichier liste (l'écart entre le niveau en entrée 22 et le niveau de calage en sortie 18 permet d'avoir un pixel pour une dalle avec 16x16 tuiles par dalle. Une tuile de niveau 18 couvre la même zone qu'une dalle de niveau 22) :

`tmsizer -i pyramid.list --tms 2154_5cm -if PYRAMID_LIST -of HEATMAP -io storage=S3 -io size=16x16 -io levels=22 -oo area=FXX -oo level=18 -o heatmap.tif --progress`


## Compiler la suite d'outils

Expand Down
Loading