/// <summary> /// Gets features for all the given vertices. /// </summary> public static FeatureCollection GetFeaturesFor(this RoutingNetwork network, List <uint> vertices) { var features = new FeatureCollection(); foreach (var vertex in vertices) { float latitude1, longitude1; if (network.GeometricGraph.GetVertex(vertex, out latitude1, out longitude1)) { var vertexLocation = new LocalGeo.Coordinate(latitude1, longitude1); var attributes = new AttributesTable(); attributes.AddAttribute("id", vertex.ToInvariantString()); features.Add(new Feature(new Point(vertexLocation.ToCoordinate()), attributes)); } } return(features); }
/// <summary> /// Converts the coordinate to a geoapi coordinate. /// </summary> public static GeoAPI.Geometries.Coordinate ToCoordinate(this LocalGeo.Coordinate coordinate) { return(new GeoAPI.Geometries.Coordinate(coordinate.Longitude, coordinate.Latitude)); }
/// <summary> /// Gets all features inside the given bounding box. /// </summary> public static FeatureCollection GetFeaturesIn(this RouterDb db, LocalGeo.Coordinate coord1, LocalGeo.Coordinate coord2, bool includeEdges = true, bool includeVertices = true) { return(db.GetFeaturesIn(System.Math.Min(coord1.Latitude, coord2.Latitude), System.Math.Min(coord1.Longitude, coord2.Longitude), System.Math.Max(coord1.Latitude, coord2.Latitude), System.Math.Max(coord1.Longitude, coord2.Longitude), includeEdges, includeVertices)); }