Skip to content

Commit

Permalink
Merge pull request #3 from rok4/develop
Browse files Browse the repository at this point in the history
Release 4.2.2
  • Loading branch information
Dolite authored Aug 30, 2023
2 parents 61d2874 + c302df1 commit a9135ba
Show file tree
Hide file tree
Showing 31 changed files with 327 additions and 249 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/build-and-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Build and release

on:
push:
tags:
- '**'

jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2

- name: Organize files
run: |
perl Makefile.PL DESTDIR=build INSTALL_BASE=/usr VERSION=${{ github.ref_name }}
make
make injectversion
make pure_install
- name: Build debian package
id: build_debian
uses: jiro4989/build-deb-action@v2
with:
package: rok4-pregeneration
package_root: build
maintainer: Géoportail<[email protected]>
version: ${{ github.ref_name }}
arch: 'all'
desc: 'ROK4 data pregeneration tools scan data, identify work to do and write scripts to generate data pyramids'
depends: perl-base, librok4-core-perl, libfindbin-libs-perl, libmath-bigint-perl, liblog-log4perl-perl, libjson-parse-perl, libjson-perl

- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref_name }}
body_path: CHANGELOG.md
draft: false
prerelease: false

- name: Add debian package to release
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./${{ steps.build_debian.outputs.file_name }}
asset_name: rok4-pregeneration-${{ github.ref_name }}-ubuntu-20.04-all.deb
asset_content_type: application/vnd.debian.binary-package

3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ Makefile
MYMETA.*
blib
pm_to_blib
Makefile.old
Makefile.old
build
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Outils de pré-génération ROK4

## Changelog

### [Fixed]

* BE4
* On précise à mergeNtiff que la première image en entrée est une image de fond.


<!--
### [Added]
### [Changed]
### [Deprecated]
### [Removed]
### [Fixed]
### [Security]
-->
23 changes: 19 additions & 4 deletions Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ECHO_VERSION

WriteMakefile(
# version du package complet
NAME => "ROK4GENERATION",
NAME => "ROK4PREGENERATION",
# install to INSTALL_BASE/bin
EXE_FILES => [
'bin/be4.pl',
Expand All @@ -24,8 +24,7 @@ WriteMakefile(
BUILD_REQUIRES => {
"ExtUtils::MakeMaker" => 0
},
PREREQ_FATAL => 1,
# ack --ignore-dir=core -h "^use [A-Z]" ./ | cut -d' ' -f2 | grep -v -E "ROK4" | sed -r "s#;##" | sort | uniq | sed -r "s/(.+)/\"\1\" => 0,/"
# ack -h "^use [A-Z]" ./ | cut -d' ' -f2 | grep -v -E "ROK4::(BE4|FOURALAMO|FOURHEAD|JOINCACHE|PREGENERATION|PYR2PYR)" | sed -r "s#;##" | sort | uniq | sed -r "s/(.+)/\"\1\" => 0,/"
PREREQ_PM => {
"Cwd" => 0,
"Data::Dumper" => 0,
Expand All @@ -38,6 +37,22 @@ WriteMakefile(
"List::Util" => 0,
"Log::Log4perl" => 0,
"Math::BigFloat" => 0,
"POSIX" => 0
"POSIX" => 0,
"ROK4::Core::Array" => 0,
"ROK4::Core::Base36" => 0,
"ROK4::Core::Database" => 0,
"ROK4::Core::GeoImage" => 0,
"ROK4::Core::GeoVector" => 0,
"ROK4::Core::LevelRaster" => 0,
"ROK4::Core::Pixel" => 0,
"ROK4::Core::ProxyGDAL" => 0,
"ROK4::Core::ProxyPyramid" => 0,
"ROK4::Core::ProxyStorage" => 0,
"ROK4::Core::PyramidRaster" => 0,
"ROK4::Core::PyramidVector" => 0,
"ROK4::Core::Shell" => 0,
"ROK4::Core::TileMatrix" => 0,
"ROK4::Core::TileMatrixSet" => 0,
"ROK4::Core::Utils" => 0,
}
);
116 changes: 35 additions & 81 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,85 +10,42 @@ Il est possible que les scripts BASH sachent faire de la reprise sur erreur. Dan

De même, un fichier .prog à côté du script peut être mis à jour avec le pourcentage de progression (calculé à partir des lignes du script).

- [Récupération du projet](#récupération-du-projet)
- [Dépendances à la compilation](#dépendances-à-la-compilation)
- [Installation](#installation)
- [Dépendances à l'exécution](#dépendances-à-lexécution)
- [Variables d'environnement utilisées dans les librairies ROK4::Core](#variables-denvironnement-utilisées-dans-les-librairies-rok4core)
- [Présentation des outils](#présentation-des-outils)
- [BE4](#be4)
- [Usage](#usage)
- [Détails](#détails)
- [Exemples de configuration](#exemples-de-configuration)
- [JOINCACHE](#joincache)
- [Usage](#usage-1)
- [Détails](#détails-1)
- [Exemples de configuration](#exemples-de-configuration-1)
- [4ALAMO](#4alamo)
- [Usage](#usage-2)
- [Détails](#détails-2)
- [Exemples de configuration](#exemples-de-configuration-2)
- [4HEAD](#4head)
- [PYR2PYR](#pyr2pyr)
- [Usage](#usage-3)
- [Détails](#détails-3)
- [Exemples de configuration](#exemples-de-configuration-3)

## Récupération du projet

`git clone --recursive https://github.com/rok4/pregeneration`

## Dépendances à la compilation

* Submodule GIT
* `https://github.com/rok4/core-perl`
* Paquets debian
* perl-base
* libgdal-perl
* libpq-dev
* gdal-bin
* libfile-find-rule-perl
* libfile-copy-link-perl
* libconfig-ini-perl
* libdbi-perl
* libdbd-pg-perl
* libdevel-size-perl
* libdigest-sha-perl
* libfile-map-perl
* libfindbin-libs-perl
* libhttp-message-perl
* liblwp-protocol-https-perl
* libmath-bigint-perl
* libterm-progressbar-perl
* liblog-log4perl-perl
* libjson-parse-perl
* libjson-perl
* libjson-validator-perl
* libtest-simple-perl
* libxml-libxml-perl
* libamazon-s3-perl

## Installation

```shell
perl Makefile.PL INSTALL_BASE=/usr/local VERSION=0.0.1
make
make injectversion
make install
## Installation depuis le paquet debian

Télécharger les paquets sur GitHub :

* [Les librairies Core](https://github.com/rok4/core-perl/releases/)
* [Les outils](https://github.com/rok4/pregeneration/releases/)

```
apt install ./librok4-core-perl-<version>-linux-all.deb
apt install ./rok4-pregeneration-<version>-linux-all.deb
```

## Installation depuis les sources

## Dépendances à l'exécution
Dépendances (paquets debian) :

* Dépôt GIT
* `https://github.com/rok4/tilematrixsets`
* `https://github.com/rok4/styles`
* perl-base
* [librok4-core-perl](https://github.com/rok4/core-perl/releases/)
* libfindbin-libs-perl
* libmath-bigint-perl
* liblog-log4perl-perl
* libjson-parse-perl
* libjson-perl

```
perl Makefile.PL INSTALL_BASE=/usr VERSION=0.0.1 PREREQ_FATAL=1
make
make injectversion
make install
```

## Variables d'environnement utilisées dans les librairies ROK4::Core

Leur définition est contrôlée à l'usage.

* `ROK4_TMS_DIRECTORY` pour y chercher les Tile Matrix Sets
* `ROK4_TMS_DIRECTORY` pour y chercher les Tile Matrix Sets. Ces derniers peuvent être téléchargés sur [GitHub](https://github.com/rok4/tilematrixsets/releases/), installés depuis le paquet debian et seront alors dans le dossier `/usr/share/rok4/tilematrixsets`.
* Pour le stockage CEPH
- `ROK4_CEPH_CONFFILE`
- `ROK4_CEPH_USERNAME`
Expand Down Expand Up @@ -160,7 +117,7 @@ _Étape 2 (NNGraph)_

#### Exemples de configuration

Génération d'une nouvelle pyramide depuis des images géoréférencées type MNT, avec application d'un style de pente
Génération d'une nouvelle pyramide depuis des images géoréférencées type MNT, avec application d'un style de pente. Les styles peuvent être téléchargés sur [GitHub](https://github.com/rok4/styles/releases/), installés depuis le paquet debian et seront alors dans le dossier `/etc/rok4/styles`.

```json
{
Expand Down Expand Up @@ -201,7 +158,7 @@ Génération d'une nouvelle pyramide depuis des images géoréférencées type M
"shared_tmp": "/share"
},
"parallelization": 1,
"style": "/styles/montagne.json",
"style": "/etc/rok4/styles/montagne.json",
"nodata": [-99999]
}
}
Expand All @@ -217,7 +174,7 @@ Mise à jour par référence d'une pyramide S3 par moissonnage d'un service WMS
},
"datasources": [
{
"top": "0",
"top": "<AUTO>",
"bottom": "8",
"source": {
"type": "WMS",
Expand All @@ -230,7 +187,7 @@ Mise à jour par référence d'une pyramide S3 par moissonnage d'un service WMS
}
},
{
"top": "9",
"top": "<AUTO>",
"bottom": "12",
"source": {
"type": "WMS",
Expand Down Expand Up @@ -325,10 +282,7 @@ Génération d'une pyramide par fusion de 2 pyramides CEPH, avec conversion des
],
"pyramid": {
"name": "ENTIER",
"storage": {
"type": "CEPH",
"root": "pool"
},
"root": "pool",
"pixel": {
"samplesperpixel": 1,
"sampleformat": "UINT8"
Expand All @@ -351,7 +305,7 @@ Génération d'une pyramide par fusion de 2 pyramides CEPH, avec conversion des

### 4ALAMO

L'outil 4ALAMO génèrent une pyramide vecteur à partir d'une base de données PostgreSQL. Ils permettent de mettre à jour une pyramide vecteur existante.
L'outil 4ALAMO génèrent une pyramide vecteur à partir d'une base de données PostgreSQL ou de fichiers vecteurs. Ils permettent de mettre à jour une pyramide vecteur existante.

Stockages gérés : FICHIER, CEPH, S3, SWIFT

Expand All @@ -378,10 +332,10 @@ Outils externes utilisés :
#### Détails

_Étape 1_
![4ALAMO étape 1](./docs/images/ROK4GENERATION/4alamo_part1.png)
![4ALAMO étape 1](./docs/images/4alamo_part1.png)

_Étape 2_
![4ALAMO étape 2](./docs/images/ROK4GENERATION/4alamo_part2.png)
![4ALAMO étape 2](./docs/images/4alamo_part2.png)

#### Exemples de configuration

Expand Down
Loading

0 comments on commit a9135ba

Please sign in to comment.