npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

test-github-actions

v0.0.10

Published

French Geoportal resources access library

Downloads

20

Readme

Bibliothèque d'accès aux ressources du Géoportail

Build Status GitHub release

La bibliothèque d’accès aux ressources de la plateforme Géoportail est une bibliothèque de fonctions javascript permettant d'accéder aux ressources délivrées par les services web du Géoportail.

Elle permet plus particulièrement d'effectuer les opérations suivantes utilisant les données de l'IGN :

Mise en oeuvre

Vous pouvez récupérer la bibliothèque d'accès soit en la téléchargeant directement, soit en utilisant le gestionnaire de dépendances javascript NPM.

Téléchargement direct

Vous pouvez récupérer ici la version compilée et autonome de la bibliothèque d'accès : GpServices.js, dans la partie "Downloads".

Récupération avec NPM

La bibliothèque d'accès est aussi disponible dans les dépôts NPM.

Prérequis : NodeJS et npm installés.

npm install geoportal-access-lib

Accès direct

Vous pouvez aussi choisir d'utiliser des fichiers hébergés en ligne, pour y accéder directement, lors de vos tests par exemple. Cependant, pour une utilisation en production, nous vous conseillons de télécharger ces fichiers et de les héberger vous-même, sur le même serveur qui héberge votre application.

Par exemple sur Github Pages :

https://ignf.github.io/geoportal-access-lib/latest/dist/GpServices.js
https://ignf.github.io/geoportal-access-lib/latest/dist/GpServices-src.js

Intégration dans une page web

Intégrez la bibliothèque d'accès dans votre page WEB classiquement à l'aide d'une balise script.

<script src="chemin/vers/GpServices.js"></script>

Intégration dans NodeJS

Intégrez la bibliothèque d'accès dans votre script à l'aide de la fonction require.

var Gp = require("chemin/vers/GpServices.js");

Note : Par défaut, les services sont intérrogés en HTTP. On a la possibilité de forcer le HTTPS avec l'option ssl. Ce comportement est ignoré dans les environnements clients (navigateur). Les services sont alors interrogés suivant le même protocole que la page en cours.

var Gp = require("chemin/vers/GpServices.js");

Gp.Services.geocode({
    apiKey : "...",
    ssl : true,
    location : "...",
    onSuccess : function (result) {
        ...
    }
});
// --> https://wxs.ign.fr/KEY/geoportail/ols?

Note : Dans un environnement NodeJS, il faut installer les 2 dépendances suivantes dans votre projet :

  • xmldom
  • request

Intégration dans un module ES6

Intégrez la bibliothèque d'accès dans votre page WEB à l'aide d'une balise script de type module.

<script type="module">
    import * as Gp from "chemin/vers/GpServices.js";
    // puis, utilisation de la variable globale 'Gp' dans le module ES6...
</script>

Intégration dans un front-end type Angular ou React

Intégrez la bibliothèque d'accès dans votre module à l'aide de la fonction import.

import * as Gp from "chemin/vers/GpServices.js";

Note : Dans un environnement Front-End, il faut installer les 2 dépendances suivantes dans votre projet :

  • xmldom
  • request

Utilisation

Le chargement de la bibliothèque d'accès vous donne accès au namespace Gp.Services à partir duquel vous pouvez utiliser les différentes fonctions proposées.

Géocoder des adresses, toponymes et parcelles cadastrales

La fonction Gp.Services.geocode permet d'utiliser le service de géocodage de la plateforme Géoportail pour obtenir la position d'un toponyme, d'une adresse ou d'une parcelle cadastrale. Elle prend en paramètres :

  • une clef d'accès à la plateforme Géoportail obtenue sur le site professionnels.ign.fr ayant les droits sur les ressources de recherche OpenLS du Géoportail.

  • le localisant dont on veut obtenir les coordonnées ;

  • le type de localisant : adresse ("StreetAddress"), toponyme ("PositionOfInterest") ou parcelle cadastrale ("CadastralParcel"). Choix multiple possible. Par défaut les adresses seront utilisées.

  • d'autres paramètres éventuels à passer au service...

  • la fonction de traitement des résultats qui sera appelée lorsqu'ils seront reçus. Cette fonction prend en paramètres un objet de type : Gp.Services.GeocodeResponse.

Gp.Services.geocode({
    apiKey : "22726iz9m8ficsgf2hmiicpd", // clef d'accès à la plateforme
    location : "tour eiffel",            // localisant à géocoder
    filterOptions : {
        type : ["PositionOfInterest"]    // type de localisant
    },
    onSuccess : function (result) {
        // exploitation des resultats : "result" est de type Gp.Services.GeocodeResponse
        ...
    }

});

Exemple d'utilisation jsFiddle

Obtenir des suggestions d'adresses ou de toponymes à partir de textes incomplets

La fonction Gp.Services.autoComplete permet d'utiliser le service d'autocomplétion de la plateforme Géoportail pour obtenir des suggestions de loclalisants (toponyme ou adresse) à partir d'un texte incomplet. Elle prend en paramètres :

  • une clef d'accès à la plateforme Géoportail obtenue sur le site professionnels.ign.fr ayant les droits sur les ressources de recherche OpenLS du Géoportail.

  • le texte pour lequel on souhaite obtenir des suggestions

  • le type de localisant : adresse ("StreetAddress") ou toponyme ("PositionOfInterest"). Choix multiple possible. Par défaut les adresses seront utilisées.

  • d'autres paramètres éventuels à passer au service...

  • la fonction de traitement des résultats qui sera appelée lorsqu'ils seront reçus. Cette fonction prend en paramètres un objet de type : Gp.Services.AutoCompleteResponse.

Gp.Services.autoComplete({
    apiKey : "22726iz9m8ficsgf2hmiicpd", // clef d'accès à la plateforme
    text : "23 rue des et",              // texte à compléter
    filterOptions : {
        type : ["StreetAddress"]         // type de texte
    },
    onSuccess : function (result) {
        // exploitation des resultats : "result" est de type Gp.Services.AutoCompleteResponse
        ...
    }

});

Exemple d'utilisation jsFiddle

Obtenir des localisants (toponymes, adresses, parcelles cadastrales) proches d'une position donnée (géocodage inverse)

La fonction Gp.Services.reverseGeocode permet d'utiliser le service de géocodage inverse de la plateforme Géoportail pour trouver des toponymes, adresses ou parcelles cadastrales proches d'une position donnée. Elle prend en paramètres :

  • une clef d'accès à la plateforme Géoportail obtenue sur le site professionnels.ign.fr ayant les droits sur les ressources de recherche OpenLS du Géoportail.

  • une position donnée

  • le type de localisant : adresse ("StreetAddress"), toponyme ("PositionOfInterest") ou parcelle cadastrale ("CadastralParcel"). Choix multiple possible. Par défaut les adresses seront utilisées.

  • d'autres paramètres éventuels à passer au service...

  • la fonction de traitement des résultats qui sera appelée lorsqu'ils seront reçus. Cette fonction prend en paramètres un objet de type : Gp.Services.GeocodeResponse.

Gp.Services.reverseGeocode({
    apiKey : "22726iz9m8ficsgf2hmiicpd", // clef d'accès à la plateforme
    position : {                         // position de recherche
      x: 2.29,
      y: 48.85
    },
    filterOptions : {
        type : ["PositionOfInterest"]    // type de localisant
    },
    onSuccess : function (result) {
        // exploitation des resultats : "result" est de type Gp.Services.ReverseGeocodeResponse
        ...
    }

});

Exemple d'utilisation jsFiddle

Obtenir des altitudes en un ou plusieurs points ou calculer des profils altimétriques

La fonction Gp.Services.getAltitude() permet d'utiliser le service d'altimétrie de la plateforme Géoportail pour obtenir les altitudes de une ou plusieurs positions données ou calculer un profil altimétrique le long d'une liste de positions. Elle prend en paramètres :

  • une clef d'accès à la plateforme Géoportail obtenue sur le site professionnels.ign.fr ayant les droits sur les ressources altimétriques du Géoportail.

  • une liste de positions données

  • un éventuel paramètre (sampling) indiquant le nombre de points intermédiaires à utiliser dans le cas du calcul d'un profil altimétrique.

  • d'autres paramètres éventuels à passer au service...

  • la fonction de traitement des résultats qui sera appelée lorsqu'ils seront reçus. Cette fonction prend en paramètres un objet de type : Gp.Services.AltiResponse.

Gp.Services.getAltitude({
    apiKey : "22726iz9m8ficsgf2hmiicpd", // clef d'accès à la plateforme
    positions : [                        // positions pour le calcul alti
        { lon: 2.29, lat: 48.85 },      
        { lon: 2.3, lat: 48.9 },
        { lon: 2.4, lat: 49 }
    ],
    sampling : 50,                      // nombre de points pour le profil
    onSuccess : function (result) {
        // exploitation des resultats : "result" est de type Gp.Services.AltiResponse
        ...
    }
});

Exemple d'utilisation jsFiddle

Calculer un itinéraire piéton ou routier

La fonction Gp.Services.route() permet d'utiliser le service de calcul d'itinéraires de la plateforme Géoportail. Elle prend en paramètres :

  • une clef d'accès à la plateforme Géoportail obtenue sur le site professionnels.ign.fr ayant les droits sur les ressources utilisés par le calcul d'itinéraire du Géoportail : graphe routier ou piéton.

  • des points de départ, d'arrivée et éventuellement intermédiaires.

  • le graphe utilisé pour le calcul correspondant au profil de véhicule (piéton ou routier)

  • d'autres paramètres éventuels à passer au service...

  • la fonction de traitement des résultats qui sera appelée lorsqu'ils seront reçus. Cette fonction prend en paramètres un objet de type : Gp.Services.RouteResponse.

Gp.Services.route({
    apiKey : "jhyvi0fgmnuxvfv0zjzorvdn", // clef d'accès à la plateforme
    startPoint : { x: 2, y: 45},       // point de départ
    viaPoints : [                        // points intermédiaires
        { x: 3, y: 46 },      
        { x: 3.5, y: 46 }
    ],
    endPoint : { x: 4, y: 47},          // point d'arrivée
    graph : "Voiture",                 // grapĥe utilisé
    onSuccess : function (result) {
        // exploitation des resultats : "result" est de type Gp.Services.RouteResponse
        ...
    }
});

Exemple d'utilisation jsFiddle

Calculer des isochrones / isodistances autour d'un point

La fonction Gp.Services.isoCurve() permet d'utiliser le service de calcul d'isochrones / isodistances de la plateforme Géoportail. Elle prend en paramètres :

  • une clef d'accès à la plateforme Géoportail obtenue sur le site professionnels.ign.fr ayant les droits sur les ressources utilisés par le calcul d'isochrones / isodistances du Géoportail : graphe routier ou piéton.

  • une position de référence (départ ou arrivée) pour le calcul.

  • la limite de temps ou distance pour le calcul.

  • le type de calcul (isochrone ou isodistance).

  • le graphe utilisé pour le calcul correspondant au profil de véhicule (piéton ou routier)

  • d'autres paramètres éventuels à passer au service...

  • la fonction de traitement des résultats qui sera appelée lorsqu'ils seront reçus. Cette fonction prend en paramètres un objet de type : Gp.Services.IsoCurveResponse.

Gp.Services.isoCurve({
    apiKey : "jhyvi0fgmnuxvfv0zjzorvdn", // clef d'accès à la plateforme
    position : { x: 2, y: 45},       // point de référence
    method : "time",                   // méthode de calcul (isochrone)
    time : 1000,                       // limite de temps (isochrone)
    graph : "Pieton",                 // grapĥe utilisé
    onSuccess : function (result) {
        // exploitation des resultats : "result" est de type Gp.Services.IsoCurveResponse
        ...
    }
});

Exemple d'utilisation jsFiddle

Obtenir des informations relatives à un contrat d'accès au Géoportail

La fonction Gp.Services.getConfig() permet de consulter, via le service d'autoconfiguration de la plateforme Géoportail, les ressources disponibles pour une clef d'accès à la plateforme et d'avoir les paramètres permettant leur utilisation. Elle prend en paramètres :

  • une clef d'accès à la plateforme Géoportail obtenue sur le site professionnels.ign.fr dont on veut consulter les droits.

  • d'autres paramètres éventuels à passer au service...

  • la fonction de traitement des résultats qui sera appelée lorsqu'ils seront reçus. Cette fonction prend en paramètres un objet de type : Gp.Services.GetConfigResponse. Les informations portées par cet objet sont aussi enregistrées en variable globale de l'application sous le nom : Gp.Config.

Gp.Services.getConfig({
    apiKey : "jhyvi0fgmnuxvfv0zjzorvdn", // clef d'accès à la plateforme
    onSuccess : function (result) {
        // exploitation des resultats : "result" est de type Gp.Services.GetConfigResponse
        ...
    }
});

Exemple d'utilisation jsFiddle