コード例 #1
0
        public override ParkShape GetFeatureLookup(double x, double y)
        {
            // Validate Point is in Range
            var point = new Point(x, y);

            var model = new ParkShape();

            var features = GetFeatures();

            foreach (var f in features)
            {
                var exists = f.Geometry.Contains(point);
                if (exists)
                {
                    model = new ParkShape
                    {
                        ParkName    = f.Attributes["PARK_NAME"].ToString(),
                        ParkNumber  = f.Attributes["PARKNUM"].ToString(),
                        SourceId    = long.Parse(f.Attributes["SOURCE_ID"].ToString()),
                        FeatureCode = int.Parse(f.Attributes["FEAT_CODE"].ToString()),
                        SubCode     = int.Parse(f.Attributes["SUB_CODE"].ToString()),
                        LandUse     = f.Attributes["LANDUSE"].ToString(),
                    };
                }
            }

            if (!model.ArePropertiesNotNull())
            {
                return(null);
            }

            return(model);
        }
コード例 #2
0
        public IEnumerable <ParkShape> GetFeatureAttributes()
        {
            var features = GetFeatures();
            var results  = new List <ParkShape>(features.Count);

            foreach (var f in features)
            {
                var model = new ParkShape
                {
                    ParkName    = f.Attributes["PARK_NAME"].ToString(),
                    ParkNumber  = f.Attributes["PARKNUM"].ToString(),
                    SourceId    = long.Parse(f.Attributes["SOURCE_ID"].ToString()),
                    FeatureCode = int.Parse(f.Attributes["FEAT_CODE"].ToString()),
                    SubCode     = int.Parse(f.Attributes["SUB_CODE"].ToString()),
                    LandUse     = f.Attributes["LANDUSE"].ToString(),
                };

                results.Add(model);
            }

            return(results);
        }