public IList <T> InverseGeocodeMultipleRoute <T>(GeoCoordinate coordonnees, int rayonRecherche, IEnumerable <int> ideRTSs)
            where T : IRtssc, new()
        {
            // conversion coordonnées gps vers lambert
            LambertCoordinate lambert = GpsHelper.ConvertNAD83ToLambertMtq(coordonnees.Latitude, coordonnees.Longitude);

            var request = new GeocoderPointsInverseRequete();

            request.ListeInformation = ideRTSs.Select(
                ideRTS => new InfoGeocoderPointInverse {
                CoordonneeX          = lambert.X,
                CoordonneeY          = lambert.Y,
                RayonRecherche       = rayonRecherche,
                IdentifiantTheme     = 207,
                IdentifiantSousRoute = Convert.ToInt32(ideRTS),
                DateActivite         = DateTime.Today,
                CodeEmplacement      = ""
            }).ToArray();

            GeocoderPointsInverseReponse response = this.GeocoderPointsInverse(request);

            return(response.ListeInformation
                   .OrderBy(item => item.DistanceTrace)
                   .Select(
                       item => new T {
                Chainage = item.Chainage,
                Route = item.NumeroRoute,
                Section = item.NumeroSection,
                SousRoute = item.NumeroSousRoute,
                Troncon = item.NumeroTroncon,
                Ide = Convert.ToInt32(item.IdentifiantSousRoute)
            })
                   .ToList());
        }
        private IList <Tuple <double, Rtssc> > InverseGeocodeMultipleRouteWithDistance(LambertCoordinate lambert, int rayonRecherche, IEnumerable <int> ideRTSs)
        {
            var request = new GeocoderPointsInverseRequete();

            request.ListeInformation = ideRTSs.Select(
                ideRTS => new InfoGeocoderPointInverse {
                CoordonneeX          = lambert.X,
                CoordonneeY          = lambert.Y,
                RayonRecherche       = rayonRecherche,
                IdentifiantTheme     = 207,
                IdentifiantSousRoute = ideRTS,
                DateActivite         = DateTime.Today,
                CodeEmplacement      = ""
            }).ToArray();

            GeocoderPointsInverseReponse response = this.GeocoderPointsInverse(request);

            return(response.ListeInformation
                   .OrderBy(item => item.DistanceTrace)
                   .Select(item => Tuple.Create(
                               item.DistanceTrace,
                               RtsscHelper.GetRtsscFromIde(Convert.ToInt32(item.IdentifiantSousRoute), item.Chainage)))
                   .ToList());
        }