Пример #1
0
 public Way(CommonAttributes acommon , List<Node> anode , List<Tag> atag)
 {
     _commonAttributes = acommon;
     _nodes = anode;
     _tags = atag;
 }
Пример #2
0
 public Node(CommonAttributes acommon , string alat , string alon , List<Tag> atag)
 {
     _commonAttributes = acommon;
     _y = alat;
     _x = alon;
     _tags = atag;
 }
Пример #3
0
 public Node(CommonAttributes acommon)
 {
     _commonAttributes = acommon;
 }
Пример #4
0
        public List<Node> ConvertData(List<Dictionary<string, object>> input)
        {
            ProjectionConverter PConverter = new ProjectionConverter();

            CommonAttributes CommonAttr = new CommonAttributes();
            List<Node> _nodes = new List<Node>();

            for (int i = 0; i < input.Count; ++i)
            {
                if (!input[i].ContainsKey(_config.coord.YAxis) || !input[i].ContainsKey(_config.coord.XAxis))
                    break;

                if (input[i][_config.coord.YAxis] == null || input[i][_config.coord.XAxis] == null)
                    continue;

                if (input[i][_config.coord.YAxis].ToString() == "" || input[i][_config.coord.XAxis].ToString() == "")
                    continue;

                Node _node = new Node(CommonAttr);

                if(_config.projection == Projection.TWD97)
                {
                    Coordinate _origin = new Coordinate();
                    _origin.YAxis = input[i][_config.coord.YAxis].ToString();
                    _origin.XAxis = input[i][_config.coord.XAxis].ToString();

                    Coordinate _out = PConverter.TWD97Tolonlat(_origin);

                    _node.YAxis = _out.YAxis;
                    _node.XAxis = _out.XAxis;
                }
                else
                {
                    _node.YAxis = input[i][_config.coord.YAxis].ToString();
                    _node.XAxis = input[i][_config.coord.XAxis].ToString();
                }

                _node.Tags = GenerateNewTag(_config.add);

                _node.Tags.AddRange(ReplaceTag(_config.replace, input[i]));

                _nodes.Add(_node);
            }

            return _nodes;
        }