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); } } }
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); } } }
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; }
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; }
private ClutterKind FindClutterKind(ClutterEntity ce) { return this.m_ClutterClassList.Find(ck => ce.Id.Equals(ck.Id)); }