public static ServiceInfoGroup Create(IEnumerable <ServiceInfo> potentialOverlappedPoints)
        {
            if (potentialOverlappedPoints == null)
            {
                throw new ArgumentNullException("potentialOverlappedPoints");
            }

            var result = new ServiceInfoGroup();

            foreach (var point in potentialOverlappedPoints)
            {
                result.AddOverlappedServiceInfo(point);
            }

            return(result);
        }
Beispiel #2
0
        private ServiceInfoGroup Identify(IFeatureLayer layer, Extent tolerant)
        {
            Debug.Assert(layer != null);

            var group = new ServiceInfoGroup();

            foreach (var feature in layer.DataSet.Select(tolerant))
            {
                if (feature.DataRow == null)
                {
                    feature.ParentFeatureSet.FillAttributes();
                }
                var pInfo = ClassConvertor.IFeatureToServiceInfo(feature, layer);
                var serviceDescription = _serviceInfoExtractor.GetServiceDesciptionUrl(pInfo.ServiceUrl);
                if (serviceDescription != null)
                {
                    pInfo.ServiceDesciptionUrl = serviceDescription;
                }
                group.AddOverlappedServiceInfo(pInfo);
            }

            return(group);
        }