将 OpenStreetMap-Data (OSM-File) 导入 MySQL-Database / SQL-File

use*_*540 5 xml mysql openstreetmap osmosis

介绍

我下载并解压了 OpenStreetMap 源文件(见这里)。我现在有一个 400GB 的 XML 源文件,我想 (1) 将数据插入 MySQL 表(2) 将其导出到 SQL 文件,这无关紧要。

我已经做过/尝试过的

  1. 我有 XML 文件^^ 和 MySQL 服务器 (5.6.14)
  2. 我找到了Osmosis工具来转换 OSM 数据并安装它
  3. 我读了这篇文章:在没有 api 的情况下将城市和街道读入数据库
  4. 我还阅读了这篇文章:此配置是否能够导入完整的 osm Planet 文件?(这是。)
  5. 我试图用渗透插入数据,但它在几秒钟后抛出一个错误,或者几个小时什么都不做,没有插入一行。我也不明白这应该如何工作,因为我在 MySQL 中没有 OSM 表结构。

问题

通常是否可以在数据库/SQL 文件中导入整个文件,如果是,如何导入?我在哪里可以找到表/数据库结构?有没有人已经尝试过?

非常感谢!

小智 3

嗯,确实是可能的:http://wiki.openstreetmap.org/wiki/MySQL
但请注意,这是一个没有得到很好支持的解决方案:

  • 没有地理空间扩展
  • 自定义数据库架构
  • OSM 工具链中的主要工具不支持

我强烈建议切换到带有 PostGIS 扩展的 postgreSQL,这是 GIS 领域的半标准。

最后,这取决于您的用例(原型设计……具有实时 OSM 数据更新的高可用数据库服务器)。您可以在http://switch2osm.org找到更多信息