如何在 postGIS 中存储路线图?

How can I store road maps in postGIS?

如何将 OSM 路线图导出到 postGIS 数据库中? 另外,如果我有交叉路口的坐标,我可以得到我需要的路段吗?

如有任何帮助,我们将不胜感激。 谢谢!

可以使用osm2pgsql工具,它支持osm xml (*.osm)。

基本用法:

osm2pgsql -d your_geo_database your-osm-data.osm.bz2

此命令在 your_geo_database 数据库中导入 your-osm-data.osm.bz2 文件。

数据库必须存在并且必须加载 postgis 扩展。

是的,您可以使用 --bbox 选项指定要导入的边界框,并将逗号分隔的坐标指定为 minlon、minlat、maxlon、maxlat,从而只导入一部分 osm 数据,即:

osm2pgsql -l -d your_geo_database --boxx -0.5,51.25,0.5,51.75 you-osm-data.osm.bz2

你不能用一个点指定你需要的路段,但你可以围绕这个点构建一个边界框,即一个100m X 100m的正方形

类型

osm2pgsql --help

查看所有选项。

同样重要的选项是:

-l : 以纬度和经度存储数据 (srid 4326)

-a : 将 OSM 文件添加到数据库中而不删除现有数据。

-d -H -U -W -P:数据库连接选项:数据库名、主机、用户名、密码、端口。

如果您的 osm 文件太大,您可能需要使用一些优化内存使用的选项,即:--cache-strategy--slim--unlogged