如何在 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
如何将 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