我正在將OSM數據轉換爲開放源代碼的Minecraft端口(用javascript編寫 - voxel.js)。 javascript呈現的寫法是每個體素(任意定義爲一個立方米)被創建爲來自單一原點(x,y,z)(0,0,0)的關係。作爲一個例子,如果想要創建一個三維像素塊,可以簡單地生成體素作爲與原點(0,0,0)的關係:[(0,0,0),(1, 0,0),(0,1,0)...]。2D打開街道地圖數據表示形式
我的問題是這樣的:我導出了OSM數據,標準XML輸出(.osm)繪製了經度和緯度的節點。我最初的想法是,我可以通過使用Haversine formula計算任意原點(0,0,0)=(37.77559,-122.41392)上每個節點的距離,將距離轉換爲米,找到軸承,並將其繪製爲與(0,0,0)的關係。
但我注意到,有一些其他導出格式可用:(.osm.pbf,.osm2pgsql,.imposm)。我假設他們以類似的方式繪製節點(lat,lng),但其中一些能夠直接導入數據庫(例如PostgreSQL)。
我聽說過有人使用像PostGIS這樣的PG附加組件,但是(因爲這是我第一次使用GIS),我不熟悉它們的功能,以及如 PostGIS是否可以幫助我繪製OSM數據成2D體素網格。
附加組件中是否有像PostGIS這樣的函數能夠動態計算兩個經緯度點之間的距離並以x,y方式繪製它們?
我想,根本上,我的問題是:如果我創建一個將OSM數據繪製成x,y網格的腳本,我是否會重新發明輪子,還是有更高效的方法來執行此操作?