2015-06-18 21 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