Commit 44665d6b authored by Adrien Pavie's avatar Adrien Pavie
Browse files

Prepare release

parent a1049b8c
......@@ -8,6 +8,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## Next version (to be released)
## 0.2.0 - 2020-03-09
### Changed
- Database import uses `osm2pgsql` Flex back-end
- Addresses theme is now able to retrieve street names defined in `associatedStreet` relations
## 0.1.2 - 2020-02-11
### Changed
......
......@@ -15,7 +15,7 @@ Les dépendances sont les suivantes :
* NodeJS >= 9
* PostgreSQL >= 9.6 et ses extensions PostGIS, HStore, PG_TRGM, Unaccent
* wget
* [osm2pgsql](https://github.com/openstreetmap/osm2pgsql)
* [osm2pgsql](https://github.com/openstreetmap/osm2pgsql) (versions plus récentes que le 28 février 2020)
* [jq](https://stedolan.github.io/jq/)
* GDAL >= 2.1 (et en particulier la commande `ogr2ogr`)
* zip et zipnote
......@@ -138,7 +138,7 @@ Elle décrit le type de géométrie à interroger pour ce thème. Les types poss
### Le reste du fichier
Les lignes suivantes du fichiers contiennent la requête SQL permettant d'extraire les données OpenStreetMap souhaitées. La liste des colonnes et leur ordre sera utilisé pour définir les données attributaires du fichier de sortie. Chaque colonne utilisée doit être préfixée par `t.` (alias pour le nom de la table). La requête est à renseigner une seule fois même si l'on souhaite récupérer différents types de géométries. La table à utiliser dans le `FROM` doit être `<TABLE>` (le motif sera remplacé par l'API par le nom correct). La structure de la table à interroger correspond à ce que vous avez configuré dans le fichier `db/import.style` (voir ci-après). La géométrie de l'objet est à représenter avec la balise `<GEOM>`. Selon les paramètres passés par l'utilisateur, `<GEOM>` contiendra soit la géométrie initiale, soit le centroïde de celle-ci. Enfin, la condition de filtrage sur le territoire sélectionné est à renseigner avec `<GEOMCOND>`. Cette balise sera remplacé dynamiquement par le nom des champs appropriés.
Les lignes suivantes du fichiers contiennent la requête SQL permettant d'extraire les données OpenStreetMap souhaitées. La liste des colonnes et leur ordre sera utilisé pour définir les données attributaires du fichier de sortie. Chaque colonne utilisée doit être préfixée par `t.` (alias pour le nom de la table). La requête est à renseigner une seule fois même si l'on souhaite récupérer différents types de géométries. La table à utiliser dans le `FROM` doit être `<TABLE>` (le motif sera remplacé par l'API par le nom correct). La structure de la table à interroger correspond à ce que vous avez configuré dans le fichier `db/flex_rules.lua` (voir ci-après). La géométrie de l'objet est à représenter avec la balise `<GEOM>`. Selon les paramètres passés par l'utilisateur, `<GEOM>` contiendra soit la géométrie initiale, soit le centroïde de celle-ci. Enfin, la condition de filtrage sur le territoire sélectionné est à renseigner avec `<GEOMCOND>`. Cette balise sera remplacé dynamiquement par le nom des champs appropriés.
```sql
SELECT
......@@ -162,7 +162,7 @@ La base de données contient les informations issues d'OpenStreetMap, afin de le
### Script d'import
La configuration de la structure des données en bases (tags sous forme de colonnes, type d'objets sous forme d'emprise...) sont à détailler dans le fichier `db/import.style`. Un exemple complet de ce type de fichier [est disponible ici](https://github.com/openstreetmap/osm2pgsql/blob/master/default.style). Il est recommandé de ne faire apparaître sous forme de colonne dédiée uniquement les tags qui feront partie des filtres des requêtes formulées par l'API.
La configuration de la structure des données en bases (tags sous forme de colonnes, type d'objets sous forme d'emprise...) sont à détailler dans le fichier `db/flex_rules.lua`. Des exemples pour ce type de fichier [sont disponibles ici](https://github.com/openstreetmap/osm2pgsql/tree/master/flex-config). Il est recommandé de ne faire apparaître sous forme de colonne dédiée uniquement les tags qui feront partie des filtres des requêtes formulées par l'API.
Une fois les configurations réalisées, exécutez simplement les commandes suivantes :
......
......@@ -132,7 +132,7 @@ FROM boundary b;
echo "Stop API queries to update database"
lock_file="${WORK_DIR}/db.lock"
echo "lock" > "${lock_file}"
#sleep 30
sleep 30
# Change bounds
psql -h "${PG_HOST}" -U "${PG_USER}" -p "${PG_PORT}" -d "${PG_DB_TMP}" -t -A -c "${bounds_json}" > "${WORK_DIR}/bounds.json"
......@@ -150,7 +150,6 @@ rm "${lock_file}"
# Cleanup
psql -h "${PG_HOST}" -U "${PG_USER}" -p "${PG_PORT}" -c "DROP DATABASE IF EXISTS ${PG_DB_OLD}"
psql -h "${PG_HOST}" -U "${PG_USER}" -p "${PG_PORT}" -d "${PG_DB_CLEAN}" -c "VACUUM FULL"
end=`date +%s`
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment