閱讀931 返回首頁    go 微軟 go Office


開放地圖OpenStreetMap與PostGIS的三生三世十裏桃花

標簽

PostgreSQL , PostGIS , pgrouting , OSM , OpenStreetMap , 開放地圖


背景

喜歡自由嗎?喜歡自由的使用全球地圖嗎?喜歡自由的貢獻、開發全球地圖嗎?那你一定要來了解一下風靡全球的OpenStreetMap。穀歌最強勁的對手。

openstreetmap全球統計報告

https://wiki.openstreetmap.org/wiki/Stats

pic

pic

什麼是OpenStreeMap

https://wiki.openstreetmap.org/wiki/Zh-hans:%E5%85%B3%E4%BA%8E

OpenStreetMap是一個全人類都可以編輯及自由使用的全球地圖。其中的大部分內容都由誌願者從無到有地構建起來,並以開放授權發布。

OpenStreetMap版權協定允許自由且免費使用我們的地圖圖像與地圖數據,而且本項目鼓勵把數據用於有趣嶄新的用途。欲知道為什麼我們要開放的地圖,請參考 Why OpenStreetMap? ,哪裏你亦可找到我們最常見的問題:“為什麼不使用穀歌(Google)地圖?”

地圖

瀏覽我們的地圖十分容易。隨便翻看一下地圖,感受該圖的覆蓋區域和詳細程度。數年來我們取得了豐碩的成果,達成了許多裏程碑事件。眾多個人、政府和企業已經利用了這些地圖數據。在很多國家,OpenStreetMap 已經成為其他地圖供應商在諸多應用中的可行替代品。然而地圖尚未完成,世界依舊廣袤,你生活的地方周邊 OSM 看起來怎樣呢?

繪圖

這並不是普通的在線項目。我們並不隻是在電腦屏前默默繪圖;我們會外出測量大小城鎮及鄉郊。這是一項社群地圖繪製成果。我們使用 wiki 式的協作編輯軟件去實現,因此我們的地圖將不斷擴大、優化。如果你有全球定位係統(GPS)設備,你可以向本項目貢獻自己錄製的軌跡。我們也可以使用必應航空影像或其他製圖手段。你可以直接用在線編輯器iD,更可以下載JOSM桌麵應用程序。各適其式,款款出色。

開發

大量的軟件開發工作正將本項目帶向諸多不同的方向。正如前章所述,我們設計了各種地圖編輯工具。事實上,從前端的瓦片地圖界麵到後台的數據存取 API (讀寫地圖數據的網絡服務接口),正是這些開源軟件驅動了 OpenStreetMap 。運用我們的數據開展的子項目有著良好的機遇,但是我們的核心組件的漏洞修複和功能增加也需要人來幫助。
我們始終歡迎開發者和翻譯員!

OSM 基金會

OpenStreetMap 基金會是一家募集資金的機構。購買和維護用於 OpenStreetMap 項目的服務器是一項巨大的開支。基金會支持本項目,但並不控製本項目或“擁有” OSM 數據。基金會致力於激勵自由地理空間數據的增長、發展、分發,從而提供任何人可使用和分享的地理空間數據。

OSM應用

web類應用、教學、科研等。

Web applications

Developers that want to use OpenStreetMap in their web applications can see the list of JavaScript libraries. There are additional libraries in other programming languages. Deploying your own Slippy Map lists corresponding JavaScript libraries and Content Management Systems supporting OpenStreetMap. Maybe you need WMS and TMS, or to create your own tiles.

Education

OpenStreetMap has created a unique curriculum that is focused on introducing the topics that OSM addresses: mapping, open source technologies, crowd sourcing and community efforts. It is geared towards university level students. Further, OpenStreetMap has several open problems which would make good student projects. These are items that need researching and "longer-term" issues which could be worked on by students as a project separate from the core open source development progress happening within the community.

Research

At the conference SotM-EU 2011, Muki Haklay gave a talk with advice to academics interested in OSM and the video is available online. See our Research page for details of academic research work.

《OSM在極低GIS中對應用》

如何貢獻(製作)OSM地圖

分為5個步驟

1. 收集數據

最常見的收集GPS數據的方法,一部帶有GPS功能的手機,軌跡記錄軟件。

收集數據,OSM可以用到信息很多:

從最常見的“路名”到停車場、郵箱、郵編、港口。通常,由於使用的交通工具不同,不同的人對地圖細節的要求也不同。例如,司機希望地圖上標明高速公路、高架道路的匝口,兩車道還是四車道,單行還是雙向行駛;行人想了解公交車站,過街天橋或地道;戶外旅行不僅希望知道路線,多半也想了解海拔高度。簡單地說,把你認為可能有用的信息都標上。

OSM圖友往往從基本開始,逐漸增加地圖的細節。所以主幹道、重要的道路是個不錯的開始,人行道、郵箱之類多半最後才加上去。當然,各人有各自的方式,你完全可以自由發揮。

2. 上傳數據

首先,將數據保存為GPX格式。GPS的手冊或軟件使用指南來確定如何將軌跡保存成GPX格式。

將GPX文件上傳到OSM。

上傳過程

2.1 打開 OSM 主頁.

2.2 登錄 (你需要在 這裏 先注冊一個 OSM 賬號 ).

2.3 點擊頂部的 “GPS traces” 標簽.

2.4 點擊 "See just your traces, or upload a trace".

2.5 如下操作3個編輯框:

2.5.1 選定你要上傳的文件.

2.5.2 命名這個文件.

2.5.3 添加有助於找到它的標簽,如 “英國倫敦” (每個單詞都是一個標簽, 所以 Isle of Wight 應該寫成 "IOW" 或 "Isle-of-wight").

2.6 如果你希望和其它人分享你的數據 (我們鼓勵這樣做), 選中 "Public" .

2.7 點擊 "Upload".

2.8 數據過一會兒就會加入到OSM中. 不過, 你可以在上傳數據後立刻使用它。

2.9 完成後你可以用 JOSM 下載包括你的數據在內的這個區域內的所有數據。或者你可以在 Potlatch 中使用它. 方法是點擊軌跡右側的 'edit' 鏈接(不是頂上的'edit').

3. 創建和編輯OSM數據

OSM數據由以下元素組成和表示方法:

詳見

https://wiki.openstreetmap.org/wiki/Elements

節點(Nodes): 最基本的要素,是其它要素的組成部分.

路線(Ways): 有方向性的節點序列, 在編輯器裏顯示成連接起來的線段.

閉合路線(Closed Ways): 閉合路線是完全閉合的路線. 一般用來表示區域如公園,湖泊,島嶼等.

所有這些元素都有標簽,以描述地名,道路類型等信息。你可以用各種編輯器來創建元素和標簽。

使用potlatch , josm , merkaartor 等軟件,可以編輯OSM數據,例如將GPS軌跡點,串成道路。

4. 標示數據和新增資料

當完成了一條路線時,你需要給它加上標簽來確定它在地圖上渲染的效果.標簽有很多,其中一些是很常用的.在 JOSM 中,通過在Properties/Memberships 添加鍵值對來添加標簽.

當你完成了編輯後, 你需要 將你的修改上傳到 OSM.

5. 渲染並試用地圖

5.1 客戶端渲染

Kosmos : Kosmos 是為了讓OSM使用者在自己的計算機上渲染地圖而設計的輕量級的OSM地圖渲染平台. 大概是三種工具中最容易使用的.

Osmarender: 一個基於可擴展樣式表語言轉換 (XSLT) 的渲染器,能夠創建可縮放矢量圖形(SVG), SVG可以用瀏覽器觀看或轉換成位圖.

Mapnik: 一個用C++寫的非常快的渲染器,可以生成位圖(png, jpeg)和矢量圖形(pdf, svg, postscript)。

5.2 openstreetmap網站渲染

讓數據顯示在 OpenStreetMap 的主頁 的 slippy map 上. 在主頁的右上方有一個 '+' . 點擊 '+' 後會出現一個包括 'Mapnik' 和 'Osmarender' 的基礎層的選項. 分別顯示對應的渲染器生成的地圖.

如何下載地圖OSM數據

OSM網站中全部都是來自用戶上傳的GPX數據,登陸openstreetmap網站後,用戶可以輸入經緯度的區間,構成一個矩陣區間,那麼這部分的數據會被下載。

如何將地圖數據導入PostgreSQL GIS庫

https://wiki.openstreetmap.org/wiki/PostgreSQL

https://wiki.openstreetmap.org/wiki/Converting_map_data_between_formats

The PostGIS extension for PostgreSQL is often used for geographic data. PostGIS adds geospatial functions and two metadata tables. Again we do not use this for our core database, however we do use all of these things on the tile server database as required by the Mapnik rendering engine.

以下工具,可以將OSM數據導入PostgreSQL

Osmosis can be used to populate a more general PostgreSQL/PostGIS database from a Planet.osm OSM data dump file.

osm2postgresql is powered by Osmosis and does much more (but works only on GNU/Linux)

osm2pgsql handles transformation of the planet data into the expected format.

OSM2PostGIS pretty new

OSM in a box has a own converter

Imposm PostGIS importer that supports custom DB schemas. Can import planet files with low memory.

osm2pgrouting imports to PostgreSQL/PostGIS database for routing purpose. (以路由為目的)

OpenStreeMap與PostgreSQL的淵源

https://wiki.openstreetmap.org/wiki/Using_OpenStreetMap

PostGIS是一個曆史非常悠久的GIS庫,除了能夠處理GIS數據,由於框架是通用的,所以還可以處理複雜的向量數據、多維數據等。

與PostGIS與PostgreSQL 是OpenStreetMap軟件開發組件中的必要組件。

pic

PostGIS與pointcloudlib結合,可以落地到非常廣泛的場景中。比如精密加工、測繪、3D打印等。

https://pointclouds.org/documentation/tutorials/

pic

參考

https://wiki.openstreetmap.org/wiki/Zh-hans:%E5%85%B3%E4%BA%8E

《OSM在極低GIS中對應用》

https://planet.postgis.net/

https://wiki.openstreetmap.org/wiki/Using_OpenStreetMap

最後更新:2017-04-01 16:39:46

  上一篇:go “刷臉”測病?移動醫療的新晉網紅!
  下一篇:go 今天學習node.js 本地搭建