コード例 #1
0
        protected override bool ParseLine(string line, Root root, out State result)
        {
            try
            {
                var tokens = line.Split(new[] { ',' }, 3);

                var abbr = tokens[0];
                var name = tokens[1];
                var geom = new JoobGeometry(tokens[2]);

                result = new State
                {
                    Abbr   = abbr,
                    Name   = name,
                    Geom   = geom,
                    MyRoot = root,
                };

                return(true);
            }
            catch (Exception)
            {
                result = null;
                return(false);
            }
        }
コード例 #2
0
        public SearchRegion(string abbr, string name, JoobGeometry geometry)
        {
            Debug.Assert(geometry != null);

            Abbr      = abbr;
            Name      = name;
            _envelope = geometry;
        }
コード例 #3
0
        protected override bool ParseLine(string line, Root root, out City result)
        {
            try
            {
                var tokens = line.Split(new[] { ',' }, 6);

                var id         = int.Parse(tokens[0]);
                var name       = tokens[1];
                var population = int.Parse(tokens[2]);
                var stateAbbr  = tokens[3];
                var countyName = tokens[4];
                var geom       = new JoobGeometry(tokens[5]);

                State state;
                if (!root.AllStatesByAbbr.TryGetValue(stateAbbr, out state))
                {
                    state = null;
                }

                County county;
                if (!root.AllCountiesByName.TryGetValue(countyName, out county))
                {
                    county = null;
                }

                result = new City
                {
                    Id         = id,
                    Name       = name,
                    Population = population,
                    Geom       = geom,
                    MyRoot     = root,
                    MyState    = state,
                    MyCounty   = county,
                };

                return(true);
            }
            catch (Exception)
            {
                result = null;
                return(false);
            }
        }
コード例 #4
0
        protected override bool ParseLine(string line, Root root, out Person result)
        {
            try
            {
                var geom = new JoobGeometry(line);

                result = new Person
                {
                    Id   = _counter++,
                    Geom = geom,
                };
                root.AllPeopleByGeom.Add(result);

                return(true);
            }
            catch (Exception)
            {
                result = null;
                return(false);
            }
        }