我在服务器上安装了 Nominatim(带有开放的街道地图)。
在另一台服务器上,我有一个数据库,其中包含多列 3,其中纬度(纬度)、经度(经度)和地址。lat 和 lon 列用坐标完成,对于第三列,我用 PHP 编写了一个脚本,它查询 Nominatim(在另一台服务器上)以获取坐标的地址并在运行时更新数据库。目前脚本使用 cUrl(创建类似的 url .../reverse.php?lat=XX&lon=YY
),获取输出(一个 xml)并更新数据库。
问题是对于 1000 个坐标,大约需要 16 秒。该脚本一直运行 8 个 cUrl 线程,直到完成所有提取。我发现 8 线程是最好的,因为服务器有一个 8 核 CPU。
我想知道是否有更好的解决方案可以更快地获取地址。我正在考虑通过 ssh 运行 exec,甚至将数据库导出到 nominatim 服务器并在那里运行 exec。
在开始编写代码之前,我想得到一个意见,所以我不会写几百行代码来获得更糟糕的结果。