/// <summary>
        /// obtient une liste de RTSSC ainsi que sa distance par rapport à la BGR
        /// </summary>
        public IList <Tuple <double, Rtssc> > InverseGeocodeMultipleWithDistance(GeoCoordinate coordonnees, int rayonRecherche, int nombreMaximumRtssRechercher, IEnumerable <int> ideRtss)
        {
            // conversion coordonnées gps vers lambert
            LambertCoordinate lambert = GpsHelper.ConvertNAD83ToLambertMtq(coordonnees.Latitude, coordonnees.Longitude);

            var request = new ObtenirSousRouteCoordonneesRequete();

            request.CoordonneeX    = lambert.X;
            request.CoordonneeY    = lambert.Y;
            request.RayonRecherche = rayonRecherche;
            request.NombreMaximumRtssRechercher = nombreMaximumRtssRechercher;

            ObtenirSousRouteCoordonneesReponse response = this.ObtenirSousRouteCoordonnees(request);

            var listeResultat = response.ListeSousRoute.Select(coord => coord.IdentifiantSousRoute).OrderBy(_ => _).ToArray();

            if (ideRtss == null || !listeResultat.Intersect(ideRtss).Any())
            {
                return(InverseGeocodeMultipleRouteWithDistance(lambert, rayonRecherche, listeResultat));
            }
            else
            {
                return(InverseGeocodeMultipleRouteWithDistance(lambert, rayonRecherche, listeResultat.Intersect(ideRtss)));
            }
        }
        /// <summary>
        /// obtient une liste RTSSC  qui se trouvent à la coordonnée GPS demandée
        /// </summary>
        public IList <Rtssc> InverseGeocodeMultiple(GeoCoordinate coordonnees, int rayonRecherche, int nombreMaximumRtssRechercher)
        {
            // conversion coordonnées gps vers lambert
            LambertCoordinate lambert = GpsHelper.ConvertNAD83ToLambertMtq(coordonnees.Latitude, coordonnees.Longitude);

            var request = new ObtenirSousRouteCoordonneesRequete();

            request.CoordonneeX    = lambert.X;
            request.CoordonneeY    = lambert.Y;
            request.RayonRecherche = rayonRecherche;
            request.NombreMaximumRtssRechercher = nombreMaximumRtssRechercher;

            ObtenirSousRouteCoordonneesReponse response = this.ObtenirSousRouteCoordonnees(request);

            return(InverseGeocodeMultipleRoute <Rtssc>(coordonnees, rayonRecherche, response.ListeSousRoute.Select(coord => coord.IdentifiantSousRoute)));
        }