从具有立交桥的单个点获取区域的多边形围栏 API
get the polygon fence for an area from a single point with overpass API
我有兴趣在给定 lat/long 点的情况下检索所有管理级别的多边形边界。
我有一个观点 - 比方说 (34.0500, -118.2500)。
我想检索城市(admin_level=8)/州(admin_level=4)/国家(admin_level=2) 信息以及多边形边界这些级别中的每一个。
目前,我可以获取我感兴趣的区域:
[out:json];
is_in(34.0500, -118.2500);
out;
{
"type": "area",
"id": 3600148838,
"tags": {
"admin_level": "2",
"border_type": "national",
"boundary": "administrative",
"name": "United States of America",
"type": "boundary",
"wikidata": "Q30",
"wikipedia": "en:United States"
}
},
{
"type": "area",
"id": 3600165475,
"tags": {
"ISO3166-2": "US-CA",
"admin_level": "4",
"boundary": "administrative",
"name": "California",
"type": "boundary"
}
},
{
"type": "area",
"id": 3600207359,
"tags": {
"admin_level": "8",
"boundary": "administrative",
"name": "Los Angeles",
"place": "city",
"short_name": "LA",
"type": "boundary"
}
}
但是,我不确定如何为每个 admin_level 获取多边形边界。如果可能的话,我想把它作为一个查询来做。
我试过了:
area[name="Los Angeles"][admin_level=8][boundary=administrative]->.laarea;
rel(pivot.laarea);
out geom;
但这似乎是 return 世界上每个名为 "Los Angeles" 的城市的数据。
有没有办法使用先前查询的区域 ID 执行上述查询?
有更好的方法吗?
我一直在使用 http://overpass-turbo.eu/ 来测试我的查询。
您可以将 is_in
与您的查询的其余部分结合起来,如以下查询所示:
is_in(34.0500, -118.2500);
rel(pivot)[boundary=administrative][admin_level~"^[248]$"];
out geom;
这将 return 您所在位置(34.0500、-118.2500)的第 2、4 和 8 层所有行政边界。 is_in
将简单地生成一个区域列表,供以下 (pivot) 使用。
立交桥涡轮增压link:http://overpass-turbo.eu/s/e01
当使用显式输入集时,这也可以写成:
is_in(34.0500, -118.2500)->.areas;
rel(pivot.areas)[boundary=administrative][admin_level~"^[248]$"];
out geom;
我有兴趣在给定 lat/long 点的情况下检索所有管理级别的多边形边界。
我有一个观点 - 比方说 (34.0500, -118.2500)。
我想检索城市(admin_level=8)/州(admin_level=4)/国家(admin_level=2) 信息以及多边形边界这些级别中的每一个。
目前,我可以获取我感兴趣的区域:
[out:json];
is_in(34.0500, -118.2500);
out;
{
"type": "area",
"id": 3600148838,
"tags": {
"admin_level": "2",
"border_type": "national",
"boundary": "administrative",
"name": "United States of America",
"type": "boundary",
"wikidata": "Q30",
"wikipedia": "en:United States"
}
},
{
"type": "area",
"id": 3600165475,
"tags": {
"ISO3166-2": "US-CA",
"admin_level": "4",
"boundary": "administrative",
"name": "California",
"type": "boundary"
}
},
{
"type": "area",
"id": 3600207359,
"tags": {
"admin_level": "8",
"boundary": "administrative",
"name": "Los Angeles",
"place": "city",
"short_name": "LA",
"type": "boundary"
}
}
但是,我不确定如何为每个 admin_level 获取多边形边界。如果可能的话,我想把它作为一个查询来做。
我试过了:
area[name="Los Angeles"][admin_level=8][boundary=administrative]->.laarea;
rel(pivot.laarea);
out geom;
但这似乎是 return 世界上每个名为 "Los Angeles" 的城市的数据。
有没有办法使用先前查询的区域 ID 执行上述查询? 有更好的方法吗?
我一直在使用 http://overpass-turbo.eu/ 来测试我的查询。
您可以将 is_in
与您的查询的其余部分结合起来,如以下查询所示:
is_in(34.0500, -118.2500);
rel(pivot)[boundary=administrative][admin_level~"^[248]$"];
out geom;
这将 return 您所在位置(34.0500、-118.2500)的第 2、4 和 8 层所有行政边界。 is_in
将简单地生成一个区域列表,供以下 (pivot) 使用。
立交桥涡轮增压link:http://overpass-turbo.eu/s/e01
当使用显式输入集时,这也可以写成:
is_in(34.0500, -118.2500)->.areas;
rel(pivot.areas)[boundary=administrative][admin_level~"^[248]$"];
out geom;