2015-06-18 25 views

回答

5

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

基本用法:

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

该命令将导入your-osm-data.osm.bz2文件中的your_geo_database数据库。

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

是的,你可以通过指定的边框仅导入您OSM数据的一部分要使用--bbox选项,并用逗号隔开坐标MINLON,minlat,maxlon,maxlat,即导入:

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

您不能指定您需要用点道路的部分,但你可以建立该点周围的边界框,即方形百米乘100米

类型

osm2pgsql --help 

查看全部选项。

同样重要的选项是:

-l:在纬度经度&(SRID 4326)的存储数据

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

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

如果你的OSM文件太大,你可能会需要使用一些选项可以优化内存使用情况,即:--cache-strategy--slim--unlogged

+0

我的问题的第二部分是不明确的,对不起。我想知道的是在将它存储在数据库中之后,我可以使用每个交点的坐标来检索数据库查询中单条道路的数据吗? – user3927312

+0

@ user3927312这是一个不同的问题。 –

+0

你是对的。我会创建一个新问题并将其链接到此处。 – user3927312