#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { target.Operator = entityContext.Entity.Tags.ValueOrDefault("operator"); return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { target.IsLit = entityContext.Entity.Tags.EntryAsBool("lit"); target.IsCovered = entityContext.Entity.Tags.EntryAsBool("covered"); target.IsSupervised = entityContext.Entity.Tags.EntryAsBool("supervised"); return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { if (entityContext.Entity.Tags.ContainsKey("FIXME")) { return false; } return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { var capacity = entityContext.Entity.Tags.EntryAsInt("capacity",entityContext.Entity.Tags.EntryAsInt("capacity:disabled")); if ( capacity < 1 ) { capacity = (int)(MathUtil.SquareDegreesToSquareMeters(target.Location.Area.Value) / configuration.Model.AreaPerParkingSpace); } target.Capacity = capacity; return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { if (entityContext.Entity.Tags.ContainsKey("vehicle") && !entityContext.Entity.Tags.EntryAsBool("vehicle")) { return false; } if (entityContext.Entity.Tags.ContainsKey("motor_vehicle") && !entityContext.Entity.Tags.EntryAsBool("motor_vehicle")) { return false; } return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { var containement = ParkingContainementType.Unknown; if (entityContext.Entity.Tags.EntryEquals("parking", "surface")) { containement = ParkingContainementType.Surface; } if (entityContext.Entity.Tags.ContainsKey("building")) { containement = ParkingContainementType.Building; } target.ContainementType = containement; return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { if ( entityContext.Entity.Tags.EntryAsInt("capacity:disabled") > 0 ) { target.IsDisabledParking = true; } if (entityContext.Entity.Tags.EntryEquals("parking_space", "disabled")) { target.IsDisabledParking = true; } if (entityContext.Entity.Tags.EntryAsBool("wheelchair")) { target.IsDisabledParking = true; } return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { var accessType = ParkingAreaAccessType.Public; if (entityContext.Entity.Tags.EntryEquals("access", "customers")) { accessType = ParkingAreaAccessType.Customers; } if (entityContext.Entity.Tags.EntryAsBool("fee")) { accessType = ParkingAreaAccessType.Paid; } if (entityContext.Entity.Tags.EntryAsBool("visitor")) { accessType = ParkingAreaAccessType.Visitor; } target.AccessType = accessType; return true; }
#pragma warning disable 1998 public async Task<bool> Extract(OsmEntityContext entityContext, ParkingArea target) #pragma warning restore 1998 { var singleNode = entityContext.Entity as OsmNode; if ( singleNode != null ) { target.Location = new MultiPolygon(new[] { new Polygon(singleNode.Location,MathUtil.MetersToDegrees(configuration.Model.NodeRadius))}); return true; } var polygonList = new List<Polygon>(); BuildPolygons(entityContext.EntityTree,polygonList); var resultPolygonList = new List<Polygon>(); foreach( var polygon in polygonList) { if ( polygon.IsSelfIntersecting ) { resultPolygonList.Add(ConvexHull.CreateConvexHull(polygon.Vertices)); } else { resultPolygonList.Add(polygon); } } if ( resultPolygonList.Any() ) { target.Location = new MultiPolygon(resultPolygonList.ToArray()); return true; } return false; }