问题标签 [overpass-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openstreetmap - 查询特定国家/地区道路的 Overpass API
我正在尝试构建对立交桥特定区域中所有“highway=”方式的查询。我一直默认使用 {{bbox}} - 但我真的更喜欢按国家/地区来做。
我尝试使用 'nominatimArea:' 而不是 {{bbox}} 但我得到一个解析错误 ' line 8: parse error: ')' expected - '(' found. ' 在下面:
也......如果我尝试这个......我只(奇怪地)得到一个区域 - 没有办法(也许关系一团糟?)
返回这一项(它是一个区域而不是一种方式)
注意:我知道这是一个很大的查询——但我真的只需要原始 JSON 的 url(像这样)——而不是实际的立交桥地图结果。
overpass-api - 使用立交桥 API 查找区域的几何形状
我试图从特定的纬度经度中找到建筑物的几何形状。所以我的想法是使用坐标查询来获取 lat,lng 所在的所有区域。使用http://overpass.osm.rambler.ru/cgi/interpreter,我得到了所有区域,我可以过滤以仅获取建筑物的节点。
现在我有一个区域,例如:
我认为获得该区域的几何形状很容易,但我找不到任何方法吗?我肯定错过了什么。
在http://overpass-turbo.eu,我输入脚本:
但结果不包括几何。如何获得区域的几何形状?
谢谢 !
这是我的脚本,目前:https ://gist.github.com/ptbrowne/60d7338502de1d16ac46
openstreetmap - 选择路径作为节点,路径中心作为节点坐标
如何选择方式作为节点,以方式中心坐标作为节点坐标?
目前我的查询如下所示:
我的数据如下所示:
但我需要这样格式化的数据:
知道如何用立交桥转换数据吗?
背景:
我喜欢将立交桥数据转换为 gpi,但 gpsbabel 无法将 osm 方式转换为 gpi 的航点。
我只是收到这样的错误:osm: Way reference id "123" wasn't listed under nodes!
leaflet - 仅返回 Leaflet 中选定的 GeoJSON 元素
我有这段代码可以获取地图中的所有 OSM 小巷元素,并且有一个按钮来打印使用 Overpass API 检索到的所有元素。
取而代之的是检索所有元素,我希望我能够:
- 通过单击我想要的元素在我的地图上选择多个元素(所选元素将用不同的颜色标记,然后是蓝色)。
- 仅返回选定的元素。
这是javascript代码:
这是HTML:
谢谢你的帮助!
gis - 在overpass-api中分离前向和后向关系
我需要从 overpass-api 获取有关一条特定公共交通线路的所有数据。假设它在我的城市有 148 号。
我在下面使用类似这个例子的东西, 但这给了我前进和后退路线的组合方式。我怎样才能分别得到它们?
java - Java - 跨越服务器的 HttpURLConnection
我正在尝试建立一个服务器连接以通过 Java 跨越。但是,当我的请求参数(如Bulach West)中有空格时,我总是会收到错误的请求响应。我使用的代码如下:
没有空格的请求可以正常工作。我现在能做什么?最好的问候, 纳扎尔
openstreetmap - 在 Overpass API 中有没有办法在标签存在时使用逻辑运算符?
Overpass API 语言指南在匹配标签值时允许使用逻辑运算符...例如:["name"~"holtorf|Gielgen"]
将返回 name=holtorf 或 name=Gielgen 的任何对象。
您还可以组合条件,它们将成为 AND... 例如:
["name"]["name"="holtorf"]
. 表示搜索具有标签“name”且标签名称等于“holtorf”的事物。
但我想要的是一个 OR 运算符......类似于:
["name"="holtorf"]|["name:eng"holtorf"]
在我的特定应用程序中,我只想知道是否有任何以“名称”开头的标签......所以我想做的就是将它放入 API 中:(["^name"]
因为在这个 API 中“^”表示“以”)。但当然它会搜索文字“^name”并且什么也不返回。
有一些解决方法吗?
openstreetmap - 在自己安装 OpenStreetMap 的 Overpass API 时增加最大内存限制
出于我的特定目的,我需要更改 Overpass API 的 an 定义area
以包括所有建筑物,无论它们是否有名称(因此is_in()
将在请求时返回这些建筑物)。
为了实现这一点,我安装了一个包含 3 个特定国家/地区的 API 的本地副本,并修改了 os3m 脚本,该脚本生成适合我的定义的区域——到目前为止,一切都很好。
显然,这个脚本将需要比默认脚本更多的内存,因为它处理的内存要多得多ways
。我正在运行的机器有16GB of RAM
. 如果我2GB
为脚本指定或更少(即element-limit="2073741824"
),那么它将耗尽内存,但指定更多(即使是 100MB)总是会导致错误:
Dispatcher_Client::request_read_and_idx::timeout
几秒钟后。
问题是,我如何告诉 Overpass API/调度程序,使用超过2GB
完全没问题,实际上,允许它~15GB
为此查询分配最多?
gis - 如何通过 OpenStreetMap 找到所有(邮政编码、城市名称)对?
我想在欧洲找到所有邮政编码及其对应的城市名称、国家名称。
我最初的想法是查询包含如下标签的 osm 数据:
结果应该是一个字典,其中键是邮政编码,值是由城市和国家名称组成的元组。
我如何查询 OSM,例如通过http://overpass-turbo.eu/获取原始信息?有没有更好的办法?