3个版本
0.1.2 | 2024年7月16日 |
---|---|
0.1.1 | 2024年7月16日 |
0.1.0 | 2024年7月16日 |
#91 in 地理空间
每月313次下载
17KB
230 行
OSM Overpass
一个用于查询OSM Overpass服务器的库
示例
异步示例
let url = String::from("https://overpass-api.de/api/interpreter");
let query = "
[out:json][timeout:30];
node(3662847634);
// print results
out;
";
let api = api::OverpassAPI::new(url);
let res = api.query(String::from(query)).await;
...
同步示例
...
let res = api.query_sync(String::from(query));
使用查询响应
...
let unwrapped = res.unwrap();
//unwrapped is iterable, so
for nwr in unwrapped {
match nwr {
NWR::Node(n) => ...,
NWR::Way(w) => ...,
NWR::Relation(r) => ...
}
}
注意
查询必须返回JSON结果。将 [out:json]
放在查询的第一行以实现此功能。
lib.rs
:
OSM Overpass
一个用于查询OSM Overpass服务器的库
示例
异步示例
let url = String::from("https://overpass-api.de/api/interpreter");
let query = "
[out:json][timeout:30];
node(3662847634);
// print results
out;
";
let api = api::OverpassAPI::new(url);
let res = api.query(String::from(query)).await;
...
同步示例
...
let res = api.query_sync(String::from(query));
使用查询响应
...
let unwrapped = res.unwrap();
//unwrapped is iterable, so
for nwr in unwrapped {
match nwr {
NWR::Node(n) => ...,
NWR::Way(w) => ...,
NWR::Relation(r) => ...
}
}
注意
查询必须返回JSON结果。将 [out:json]
放在查询的第一行以实现此功能。
依赖项
~4–18MB
~214K SLoC