问题标签 [nominatim]
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.
postgresql - osm2pgsql - 导入 openstreetmaps 行星文件需要很长时间
我已将 Nominatim 安装到专门用于 OSM 数据的服务器上,具有以下配置:CentOS 7 操作系统、2x Intel XEON CPU L5420 @ 2.50GHz(共 8 个 CPU 内核)、16 GB 内存和 2x2TB SATA 硬盘驱动器。
考虑到我的机器只有 16 GB而不是建议为这些配置使用 32 GB。我用过以下东西:
首先,我尝试导入一个小国家提取物(卢森堡),设置缓存大小为 6000,使用 utils 中的 setup.php 文件,在 1 小时内成功导入。
其次,我把卢森堡的数据删掉了,另外导入了大不列颠的国家提取,缓存大小8000,同样导入成功,2-3小时左右。
今天,我决定尝试导入整个planet.pbf 文件,因此我删除了postgresql 数据库,从官方镜像站点之一下载了该行星的pbf,并使用缓存大小运行设置10000. 之前,我已经阅读了一些基准,以模糊了解此操作需要多少时间和空间。
当导入开始时,我感到非常惊讶。节点的导入以 1095.6k/s 的惊人速度进行,在我分析过的基准(32GB ram 机器)中,它只有 311.7k/s。
但是当节点导入完成,路径导入开始时,速度明显下降。它正在以0.16k/s的速度导入路径(虽然是缓慢上升,但从0.05k/s开始,4小时后上升到上述值)。
我已停止导入,并尝试调整设置。我首先分配了更高的缓存大小(12000),但没有成功,节点以非常高的速度导入,但方式保持在 0.10-0.13k/s。然后我尝试分配一个新的交换文件(原来是 8GB,我已经分配了另外 32GB 作为交换文件),但这也没有改变任何东西。最后,我编辑了 setup.php,将 --number-processes 从 1 更改为 6,并在 osm2psql 从那里启动时包含了 --slim 关键字,但没有任何改变。
现在我没有想法。这个速度下降正常吗?我应该将我的机器升级到推荐的内存吗?我坚持认为 16GB 内存足以满足 Planet pbf 的需求,我知道这台机器可能需要更多时间,然后是 32GB,但这似乎非常多。如果整个星球的导入时间不超过 12-15 天,我可以接受,但现在看来,使用这些设置,导入将需要大约 2 个月,考虑到这个错误,这实在是太多了可能发生在任何地方,我必须重新开始整个导入过程。
有什么想法可能导致这个问题,或者我可以尝试哪些其他调整来加快导入过程?
谢谢
postgresql - Nominatim setup.sh 权限被拒绝
我按照本教程安装了 Nominatim。在导入过程之前,安装过程并不太复杂。我一遍又一遍地收到同样的错误
我试着按照教程建议的那样做
还是不想上班。生气了chmod -R 777 Nominatim && chown -R user:usergroup
。没有什么。
最后,尝试重新启动,仍然没有。
我在 ubuntu 14.04 上使用 postgresql 9.3 postgis 2.1。
geocoding - mapquest 地理编码数据不匹配
我是地图任务的新手,
b/w open.mapquest.* 和 mapquest.* 有什么区别?正如我在某处看到的那样,open.mapquest 仅使用 nominatim api 提供来自开源数据(OSM)的数据。
在某些情况下,我从http://nominatim.openstreetmap.org/search和 open.mapquest 得到了差异结果。为什么不一样?
nominatim - Nominatim 中的 address26 和 address29 是什么?
偶尔 - 很少 - Nominatim 搜索将返回带有“address29”或“address26”键的匹配项。osm中没有提到这样的键,我在Nominatim中也找不到任何解释。
这是一个例子。在 nominatim 中搜索 bamako(马里首都)。除其他外,您会看到:
在地址字段/对象中,您会看到“address26”:“Bamako”。这意味着什么?其他键都有意义。
如果您访问 osm id:(例如,http ://nominatim.openstreetmap.org/details?osmtype=W&osmid=197528638 ),则没有提及地址26。
在网站上:https ://thefive.sabic.uberspace.de/他们有许多 address26 条目指向 Nominatim。我不知道他们的数据库代表什么。
我遇到过使用 address29 而不是 address26 的其他 Nominatim 搜索结果。
如果您查看http://taginfo.openstreetmap.org/,您将找不到 address26 或 address29 作为键或标签...
偶尔你会在 osm 地图上看到一个名为“fixme”的城市,但至少你知道那里发生了什么,address2[69] 难倒我。有谁知道为什么?
postgresql - Nominatim 直接在 postgresql 表上进行反向地理编码
随着标题的推进,我想直接对我的数据库进行查询,而不是使用 Nominatim 提供的 URL 获取服务。
我有自己的 Nominatim 实例在Debian机器上运行,并且假设我正在处理最新版本。
问题是我想同时测试多个节点以获得它们之间的共同信息或关系。因为我在我的 Nominatim 数据库中提供了数百个表,并且看起来查询它们一点也不简单,所以我正在寻求一些想法。
最后,我可能只会在方式的节点上使用该工具,所以也许有一个技巧或一些特定的表可以匹配它们。
javascript - Nominatim Openstreetmap Service 和 Tom MacWright 的传单leaflet-knn 的组合
我想结合这些工具:Leaflet control search、leaflet-knn和Leaflet routing machine。
第一个会让我在我搜索的街道上获得一个点,第二个会找到它最近的邻居。最后一步是使用传单路由机进行导航。
在第一步之后,我需要找到如何使用点的坐标(我之前提到的街道上的那个)来完成 knn 搜索(找到最近的邻居)并最终导航到它(到最近的邻居)
我有一个 js fiddle,但我不确定我是否正确使用了它: https ://jsfiddle.net/mbatsaris/xfcs77wm/ 和这个 json 文件。任何帮助将不胜感激。谢谢你。
javascript - 我想使用 nominatim 检索我当前位置附近的随机 POI
我已经搜索了一段时间,我能找到的只是在我的位置附近获取特定的 POI(兴趣点),我想要的是检索附近的地点,而不管 POI 类型如何。
以下是我到目前为止在获取附近地方的信息,尽管代码只检索了附近的咖啡馆。
java - nominatim (OSM) 不接地址
我已经制作了这个 Java 程序来从 nominatim 获取地址,但我得到一个空结果作为回报。代码中有错误吗?
openstreetmap - 试图在 OpenLayers 3 地图上显示 OSM/Nominatim 关系
我试图在 OpenLayers 3 类型地图上显示关系4569(布鲁日、西佛兰德斯、佛兰德斯、克诺克海斯特)的边界,例如http://nominatim.openstreetmap.org。但我不知道如何进行。
这些是我正在做的事情:
- 我正在使用以下参数查询 Overpass API:
data=[output:json];relation(4569); out geom; out center;
这个查询从 OpenStreetMaps 中返回了关于 id 为 4569 的关系的信息。
此查询的结果集是多种方式,它们的角色设置为outer
。我正在结合这些方法来创建一个多边形,并将它们存储在一个数组中。
之后,这个数组被发送到 javascript,我在其中处理它,并尝试将 Polygon 对象添加到 OpenLayers 3 地图。这是我使用的 javascript 代码。(它被包裹在一个我制作的 JS 原型中)
下面你会发现两张图片,第一张是我得到的最终结果,第二张是 Nominatim 得到的最终结果(我想要的结果)。如果你观察,你会看到我的多边形的边界都是乱七八糟的,而且我的多边形中还有额外的线条。
我究竟做错了什么?如果我对由单个 表示的边界做同样的事情,那么一切WAY
都会按预期工作。
php - Nominatim - XML 在同一个 PHP 文件中响应
我有具有 url 变量的 php 文件
通过以下代码发送网址:
如何在同一个 php 文件上接收响应并将每个 XML 项放入变量中?
来自 nominatim 服务器的响应是很长的 XML 文件,我只需要处理如下的一小部分: