示例#1
0
 private void AddClutterOnLine(Dictionary<short, int> ClutterPoints, int TotalCount, double LineLength, List<ClutterEntity> Clutters)
 {
     foreach (KeyValuePair<short, int> pair in ClutterPoints)
     {
         if (pair.Value > 0)
         {
             ClutterEntity entity;
             entity = new ClutterEntity();
             entity.Id = pair.Key;
             entity.Area = (LineLength * ((double)pair.Value)) / ((double)TotalCount);
             entity.PointCount = ClutterPoints[entity.Id];
             entity.Name = this.m_ClutterInfo[entity.Id];
             
             Clutters.Add(entity);
         }
     }
 }
示例#2
0
 private void AddClutterOnPolygon(GeoPolygonRegion Polygon, List<ClutterEntity> Clutters, Dictionary<short, double> ClutterAreaMap, Dictionary<short, int> ClutterPoints)
 {
     foreach (KeyValuePair<short, double> pair in ClutterAreaMap)
     {
         if (pair.Value > 0.0)
         {
             ClutterEntity entity;
             //entity = new ClutterEntity {
             //    Id = pair.Key,
             //    Area = Polygon.RegionArea * pair.Value,
             //    PointCount = ClutterPoints[entity.Id],
             //    Name = this.m_ClutterInfo[entity.Id]
             //};
             entity = new ClutterEntity();
             entity.Id = pair.Key;
             entity.Area = Polygon.RegionArea * pair.Value;
             entity.PointCount = ClutterPoints[entity.Id];
             entity.Name = this.m_ClutterInfo[entity.Id];
             Clutters.Add(entity);
         }
     }
 }
示例#3
0
 private List<User> GenClutterUser(ClutterEntity ne, int VectorUserCount, double VectorArea, VectorEntity Vec, bool isFixure)
 {
     double clutterUserCount = ((VectorUserCount * ne.Area) * ne.Weight) / VectorArea;
     ne.UserList.Clear();
     List<User> userList = ne.UserList;
     this.m_CurrentClutter = ne;
     this.ProcessService(clutterUserCount, ne.UserList);
     List<int> userIdxs = new List<int>();
     this.GetUserIdxs(userList, userIdxs);
     List<GeoXYPoint> list3 = this.GenUserPoints(Vec, ne.Id, userIdxs, isFixure);
     int count = list3.Count;
     for (int i = 0; i < count; i++)
     {
         userList[i].X = list3[i].X;
         userList[i].Y = list3[i].Y;
     }
     this.SetIndoorUsers(userList, ne.Indoor);
     return userList;
 }
示例#4
0
 private List<ClutterEntity> GetClutterListOnNode(object Vec)
 {
     GeoXYPoint pnt = Vec as GeoXYPoint;
     List<ClutterEntity> list = new List<ClutterEntity>();
     short valueByGeoXYPoint = this.m_GeoProvider.GetGeoInfo.GetValueByGeoXYPoint(pnt, DemDataType.Clutter);
     if (valueByGeoXYPoint >= 0)
     {
         ClutterEntity item = new ClutterEntity {
             Id = valueByGeoXYPoint,
             Area = 1.0,
             PointCount = 1,
             Name = this.m_ClutterInfo[valueByGeoXYPoint]
         };
         list.Add(item);
     }
     return list;
 }
示例#5
0
 private ClutterKind FindClutterKind(ClutterEntity ce)
 {
     return this.m_ClutterClassList.Find(ck => ce.Id.Equals(ck.Id));
 }