标签: overpass-api

是否可以使用 Overpass API 获取所有 OSM 节点(不属于任何方式)?

我想获取所有OSM节点(不属于任何方式)。
是否可以?

可以理解的是,这个查询获取所有节点(包括方法的成员)......

<osm-script output="json">
    <query type="node">
      <bbox-query {{bbox}}/>
    </query>
    <print/>
</osm-script>
Run Code Online (Sandbox Code Playgroud)

9 月 19 日 20:20 更新(GMT+9:00)

我尝试了tyr的查询并成功了!

在此输入图像描述

openstreetmap overpass-api

2
推荐指数
1
解决办法
1600
查看次数

如何从overpass-turbo获得json结果?

是否可以从http://overpass-turbo.eu/(或直接从 openstreetmap)获得 JSON 结果?

我的要求是:

(
  way
  (around:2000,55.693309807744484,21.151986122131348)
  [highway~"^(primary|secondary|tertiary|residential)$"]
  [name];
>;);out;
Run Code Online (Sandbox Code Playgroud)

openstreetmap overpass-api

2
推荐指数
1
解决办法
1270
查看次数

overpass-api方式查询包括坐标

我正在尝试查询特定区域的酒店.不幸的是,我需要查询节点和方法,因为一些酒店只存储方式,一些存储节点.

http://overpass.osm.rambler.ru/cgi/interpreter?data=%28way[tourism~hotel]%28around:5000,50.10707,8.76040%29%29;out;
Run Code Online (Sandbox Code Playgroud)

方式查询的结果不包含任何坐标,只有很多node-refs:

<nd ref="1438833423"/>
Run Code Online (Sandbox Code Playgroud)

是否还有一种方法可以在输出中包含节点的坐标,或者是否必须为每个节点启动大量其他查询?

汤姆

openstreetmap overpass-api

2
推荐指数
1
解决办法
2817
查看次数

如何找到具有特定标签的方式成员的点周围的所有节点?

我想找到某个半径范围内的所有高速公路成员节点。不使用交集,我看不到如何做到这一点,但是,API中没有。例如我有这个:

[out:json];
way(around:25, 50.61193,-4.68711)["highway"];>->.a; 
(node(around:25, 50.61193,-4.68711) - .a);
out;
Run Code Online (Sandbox Code Playgroud)

结果集不仅.a包含我想要的节点,而且还包含半径以外的节点-如果路途很长,则可能会很大。我可以找到不需要的半径内的所有节点,如上面的完整查询所返回。现在,我始终可以执行第二个around查询,并在Overpass之外执行两个结果集的交集。或者,我可以做另一件事:

[out:json];
way(around:25, 50.61193,-4.68711)["highway"];>->.a; 
(node(around:25, 50.61193,-4.68711) - .a)->.b;
(node(around:25, 50.61193,-4.68711) - .b);
out;
Run Code Online (Sandbox Code Playgroud)

这给出了我想要的结果,但是可以简化吗?我确定我在这里想念什么。

overpass-api

2
推荐指数
1
解决办法
2130
查看次数

绕过api找到协调的速度限制?

我收到车辆的坐标,我需要找出这辆车所在的那条公路的限速?我知道你可以找到像这样的特定有界盒子的maxspeed

www.overpass-api.de/api/xapi?[maxspeed = ] [bbox = 5.6283473,50.5348043,5.6285261,50.534884]

但是,如果这个有界的盒子区域只有一个速度限制.那么假设有一个区域在有界框内有两个速度限制?

我的第二个问题是我应该如何制作有限的盒子,因为我一次只能得到一个坐标?

geolocation openstreetmap overpass-api

2
推荐指数
1
解决办法
1637
查看次数

OpenStreetMap 查询历史?

我想在给定的边界框中,在两个给定的日期和影响给定的标签集之间获取对 OSM 数据库的修改列表。

有谁知道如何做到这一点?

任何命令行工具、Webapp(如 Overpass Turbo)或查询 API(如 XAPI)?

我已经看到可以通过位置和缩放级别获取地图的历史记录(例如:http : //www.openstreetmap.org/history#map=16/45.9605/5.3391),但是这会返回包含修改的修改组当前地图之外)。

我还看到了一个历史浏览器来浏览给定对象(节点、方式或关系)的历史。

openstreetmap overpass-api

2
推荐指数
1
解决办法
1543
查看次数

在 Overpass API 中,有没有办法在标签存在时使用逻辑运算符?

Overpass API 语言指南确实允许在匹配标签值时使用逻辑运算符...例如:["name"~"holtorf|Gielgen"]将返回 name=holtorf 或 name=Gielgen 的任何对象。

您还可以组合条件,它们将成为 AND...例如:

["name"]["name"="holtorf"]。意味着搜索具有标签“name”并且标签名称等于“holtorf”的事物。

但我想要的是一个 OR 运算符...类似:

["name"="holtorf"]|["name:eng"holtorf"]

在我的特定应用程序中,我只想知道是否有任何以“name”开头的标签...所以我想做的就是将其放入 API 中:(["^name"]因为在此 API 中“^”表示“以”)。但当然它搜索文字“^name”并没有返回任何内容。

有一些解决方法吗?

openstreetmap overpass-api

2
推荐指数
1
解决办法
2469
查看次数

使用 Overpass QL 获取行政边界

我尝试下载法国的州界(几十个州,不是大数据)。事实上,我寻找可以上传到我的 postgres 数据库中的边界来本地化 POI。OpenstreetMap 似乎是一个很好的数据源,所以我试图学习 Overpass QL,但它似乎比我想象的要难......在阅读了一些 wiki 之后,我来到了这个:

way["name:en"="France"];
way["type"="boundary"];
way["boundary"="administrative"];
way["admin_level"="4"];
Run Code Online (Sandbox Code Playgroud)

但是查询无休止地运行......我不确定我所做的查询,这是好的语法吗?谢谢

postgresql postgis openstreetmap overpass-api

2
推荐指数
1
解决办法
2902
查看次数

将空间线转换为空间多边形

有没有一种简单的方法可以在 R 中将空间线转换为空间多边形对象?

可重复的例子

我在这里整理了一个可重用的数据集,它是通过overpass包从 OpenStreetMaps 下载的。这提取了英格兰南部的几个机场的位置:

devtools::install_github("hrbrmstr/overpass")
library(overpass)
library(raster)  
library(sp)

# Write Query
query_airport <- '
(node["aeroway"="aerodrome"](50.8, -1.6,51.1, -1.1);
 way["aeroway"="aerodrome"](50.8, -1.6,51.1, -1.1);
 relation["aeroway"="aerodrome"](50.8, -1.6,51.1, -1.1);
); 
out body;
>;
out skel qt;
'
# Run query
shp_airports <- overpass::overpass_query(query_airport, quiet = TRUE)
crs(shp_airports) <- CRS("+init=epsg:4326") # Add coordinates
shp_airports <- shp_airports[,1]


# Plot Results
plot(shp_airports, axes = T)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,数据属于“SpatialLinesDataFrame”类。如果您想要进行任何形式的空间连接或交叉,这确实会把事情搞砸,因为它只承认区域的边缘。

潜在客户

SpatialLines2PolySet我正在探索包内的使用maptools,但在我的探索过程中,我只产生了错误代码,所以我认为在问题中包含这些内容没有任何价值。这里有一些关于这些功能的指导:https ://rdrr.io/rforge/maptools/man/SpatialLines2PolySet.html

笔记

我在网上搜索过类似的问题,并努力找到任何直接与此相关的问题。很多似乎参考转换 SpatialPoints -> SpatialLineDataFrames ,但没有参考 SpatialLineDataFrames -> SpatialPolygonDataFrames 。这个问题类似,但缺乏任何答案(或可重现的数据集):使用 …

gis r geospatial overpass-api

2
推荐指数
1
解决办法
8627
查看次数

查询特定国家/地区道路的立交API

我正在尝试在立交桥的特定区域中构造所有'highway ='方式的查询。我一直默认使用{{bbox}}-但我确实希望按国家/地区进行操作。

我尝试使用'nominatimArea:'而不是{{bbox}},但遇到了解析错误'第8行:预期的解析错误:')'预期-'('找到。

/*
This shows the roads in nepal.
*/

[out:json];

(
  way ["highway"~"motorway|trunk|primary|motorway_link|trunk_link|primary_link|unclassified|tertiary|secondary|track|path"]({{nominatimArea:Nepal}});
);

out meta;
>;
out skel qt;
Run Code Online (Sandbox Code Playgroud)

还...如果我尝试这个...我只能(奇怪地)获得一个领域-无法(可能是一团糟?)

/*
This shows the roads in nepal.
*/

[out:json];

(area[name="Nepal"];
  way(area) ["highway"~"motorway|trunk|primary|motorway_link|trunk_link|primary_link|unclassified|tertiary|secondary|track|path|residential|service"];
);

out meta;
>;
out skel qt;
Run Code Online (Sandbox Code Playgroud)

返回此一项(不是一个区域)

注:我知道这是一个大的查询-但我真的只需要链接到原始JSON(像这样) -而不是实际的立交桥地图结果。

openstreetmap overpass-api

1
推荐指数
1
解决办法
883
查看次数

Overpass API 中的“节点”和“路径”是什么

我正在使用 Overpass api,想了解 aNode和 a之间的区别Way。下面是每个的 xml 片段。如果有人知道这些数值的含义以及它们与现实世界的关系,我将不胜感激。还有带标签的节点和不带标签的节点有什么区别。

<way id="4600886">
  <nd ref="27605443"/>
  <nd ref="30346321"/>
  <nd ref="1705297211"/>
  <nd ref="391210257"/>
  <nd ref="390384217"/>
  <nd ref="391210271"/>
  <nd ref="32343771"/>
  <nd ref="391210305"/>
  <nd ref="391210664"/>
  <nd ref="97175448"/>
  <tag k="highway" v="secondary"/>
  <tag k="lanes" v="2"/>
  <tag k="name" v="Days Road"/>
  <tag k="surface" v="asphalt"/>
</way>


<node id="18615430" lat="44.2384337" lon="-76.5411605">
  <tag k="created_by" v="r_coastlines"/>
  <tag k="source" v="PGS"/>
</node>
Run Code Online (Sandbox Code Playgroud)

openstreetmap overpass-api

1
推荐指数
1
解决办法
3822
查看次数

一个地方与 openstreetmap 的行政关系

我做了很多关于如何使用overpass-api 的研究,在http://overpass-turbo.eu/上尝试了很多东西,但我找不到获得我期望的结果的方法......

我想通过查询找到一个地方拥有的所有关系,但只有行政关系(该地方的部门、该地方的地区、国家)所有被同化为“行政区域”的东西

尝试使用nominatimoverpass_api

如果你们有什么想法谢谢!

geolocation openstreetmap overpass-api nominatim

1
推荐指数
1
解决办法
1680
查看次数