Skip to content

Commit

Permalink
release 3.3.2
Browse files Browse the repository at this point in the history
  • Loading branch information
elias75015 committed Jul 20, 2023
2 parents fc9182d + 367a407 commit faefb3b
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 87 deletions.
90 changes: 7 additions & 83 deletions DRAFT_CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,102 +1,26 @@
# Bibliothèque d'accès aux services Géoportail, version 3.3.1
# Bibliothèque d'accès aux services Géoportail, version 3.3.2

**02/06/2023 : 3.3.1**
**20/07/2023 : 3.3.2**

> release of geoportal access library
## Summary

Major change : the autoconfiguration service is not used anymore by the geoportal-access-lib API.
It is replaced by a Config pseudo-service : json config files directly readable by the geoportal-access-lib are daily generated from the getCapablities of the Geoportal services.

For the non-images services (route, isochrone, geocode, alti...) the "calcul" key is always used by default.
Fix Config Interface pour WMS vecteur

## Changelog

* [Added]

- config pseudo-services (#83)

* [Changed]

- local config.json file parameter is now called "customConfigFile" (#83)
- the "calcul" apiKey is used by default to call non-images services (#83)

* [Removed]

- Autoconfiguration files (readers, parsers...) (#83)
- Autoconfiguration samples (#83)

## Details

### Clé "calcul" utilisée par défaut dans la bibliothèque d'accès aux services Géoportail

L'ensemble des services de calcul appelés via la bibliothèque d'accès sont désormais appelés avec la clé "calcul" par défaut dans la bibliothèque d'accès. Le paramètre "apiKey" n'est donc plus nécessaire pour appeler les services de géocodage, d'itinéraire, d'isochrone, d'altimétrie et d'autocomplétion, que ce soit directement depuis la bibliothèque d'accès ou via les widgets des extensions Géoportail.

**Exemple**

##### Avant :

```javascript
var options = {
apiKey : "calcul",
onSuccess : function (response) {
print(response.elevations);
},
// spécifique au service
positions : [{
lon : 1.15,
lat : 47.48
}]
};
Gp.Services.getAltitude(options);
```

##### Maintenant :

```javascript
var options = {
onSuccess : function (response) {
print(response.elevations);
},
// spécifique au service
positions : [{
lon : 1.15,
lat : 47.48
}]
};
Gp.Services.getAltitude(options);
```


### Initialisation des API avec des fichiers de configuration en JSON au lieu d'un fichier d'autoconfiguration


#### Avec des clés d'accès Géoportail

L'autoconfiguration n'est plus appelée par les API. Pour la remplacer, nous générons quotidiennement, à partir des getCapabilities des services WMS et WMTS, des fichiers de configuration en JSON appelables par les API JavaScript Géoportail. Il y a un fichier par clé générique. L'avantage de ce nouveau processus (en plus de s'adapter au futur arrêt du service d'autoconfiguration) est que les fichiers de configuration JSON sont directement au format attendu par les API : il n'y a plus besoin de les parser pour en extraire les informations utiles puis pour les introduire dans une structure adéquate.
Par exemple, en renseignant "cartes" au paramètre apiKey, c'est le fichier cartesConfig.json qui sera chargé et directement utilisé par les API.

**Exemple Bibliothèque d'accès**

```javascript
var options = {
apiKey : "cartes",
onSuccess : function (response) {
print(response);
},
onFailure : function (error) {
print(error.message);
}
};
Gp.Services.getConfig(options);
```
##### Avant :
* [Fixed]

--> le fichier d'autoconfiguration de la clé "cartes" au format XML est récupéré depuis https://wxs.ign.fr/autoconf/cartes, parsé, puis utilisé par les API JavaScript Geoportail.
- chaine de caractères vide pour style des couches WMS Vecteur récupérée depuis la configuration (424b40d10c9bc7a6c5fe318d9ec1f3483615b1d1)

##### Maintenant :
* [Deprecated]

--> le fichier de configuration de la clé "cartes" est récupéré depuis https://raw.githubusercontent.com/IGNF/geoportal-configuration/main/dist/cartesConfig.json puis directement utilisé par les API JavaScript Geoportail.
* [Security]

Binary file removed geoportal-access-lib-3.3.1.tgz
Binary file not shown.
Binary file added geoportal-access-lib-3.3.2.tgz
Binary file not shown.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "geoportal-access-lib",
"version": "3.3.1",
"date": "07/06/2023",
"version": "3.3.2",
"date": "20/07/2023",
"description": "French Geoportal resources access library",
"module": "src/Gp.js",
"main": "dist/GpServices-src.js",
Expand Down
13 changes: 11 additions & 2 deletions src/Services/Config/ConfigInterface.js
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ ConfigInterface.prototype = {
getLayerParams : function (layerName, service) {
var params = {};

if (Object.keys(this.tileMatrixSets).length !== 0 && Object.keys(this.layers).length !== 0) {
if ((service === "WMS" || Object.keys(this.tileMatrixSets).length !== 0) && Object.keys(this.layers).length !== 0) {
// get the layerId of the layer
var layerId = this.getLayerId(layerName, service);

Expand All @@ -193,8 +193,17 @@ ConfigInterface.prototype = {
params.url = layerConf.serviceParams.serverUrl[keys[i]];
}
}

const wmsTypeRegex = /\/v\//;
// WMS vector style always empty (not in getCap)
if (wmsTypeRegex.test(params.url)) {
params.styles = "";
} else {
// WMS raster style is defined in getCap
params.styles = layerConf.styles[0].name;
}

params.version = layerConf.serviceParams.version;
params.styles = layerConf.styles[0].name;
params.format = layerConf.formats[0].name;
params.projection = layerConf.defaultProjection;

Expand Down

0 comments on commit faefb3b

Please sign in to comment.