///|
fn main {
let route = [
@routeweave.Point(31.23040, 121.47370),
@routeweave.Point(31.23120, 121.47800),
@routeweave.Point(31.23300, 121.48350),
@routeweave.Point(31.23620, 121.48910),
]
match @routeweave.summarize_route(route, zoom=14, simplify_tolerance_m=30.0) {
Ok(summary) => {
println("RouteWeave example")
println(summary.report())
match @routeweave.route_stats(route) {
Ok(stats) => println("stats:\n\{stats.report()}")
Err(err) => println("stats error: \{err.message()}")
}
match @routeweave.route_segment_spread(route) {
Ok(spread) => println("segment_spread: \{spread.to_string()}")
Err(err) => println("segment spread error: \{err.message()}")
}
match @routeweave.route_evenness_score(route) {
Ok(score) => println("evenness_score: \{score}")
Err(err) => println("evenness score error: \{err.message()}")
}
match @routeweave.sample_route_by_count(route, 5) {
Ok(samples) => {
println("samples: \{samples.length()}")
for sample in samples {
println(" \{sample.to_string()}")
}
}
Err(err) => println("sample error: \{err.message()}")
}
match
@routeweave.nearest_point_on_route(
@routeweave.Point(31.2320, 121.4800),
route,
) {
Ok(nearest) => println("nearest: \{nearest.to_string()}")
Err(err) => println("nearest error: \{err.message()}")
}
match @routeweave.route_quality_report(route) {
Ok(report) => println("quality:\n\{report.report()}")
Err(err) => println("quality error: \{err.message()}")
}
match @routeweave.to_geojson_feature(route, name="shanghai-demo") {
Ok(geojson) => println("geojson: \{geojson}")
Err(err) => println("geojson error: \{err.message()}")
}
match
@routeweave.route_report_geojson(route, zoom=14, name="shanghai-demo") {
Ok(geojson) => println("report_geojson: \{geojson}")
Err(err) => println("report geojson error: \{err.message()}")
}
}
Err(err) => println("route error: \{err.message()}")
}
}