Zh-hant:節點

From OpenStreetMap Wiki
Jump to navigation Jump to search
Osm element node.svg

節點是開放街圖中的其中一個核心元素,一個節點最少會包含其經緯度與 ID 資訊。

第三個維度的資訊(海拔)可以被記錄在 ele=* 的標籤上,一個節點也可以是一個圖層(layer=*level=*)的一部分,用來區分重疊的圖徵,如橋梁與其下的河流。

節點可以用來代表一個點狀圖徵,也可以用多個連續的節點來繪製出另一個重要的元素:路徑

節至 2024 年 10 月,開放街圖已經擁有超過94 億個節點了。

點狀圖徵

一個節點可以用來表示一個點狀圖徵,如商店、消防栓、三角點等等,在這種情境下的節點通常需要至少一個標籤來表示這個點所代表的圖徵。節點可以同時包含多個標籤,也可以成為關聯的一部分,舉例來說,電話亭可以只用 amenity=telephone 來標記,還可以再使用 operator=* 來標記它的供應商。

路徑上的節點

一系列的連續節點可以組合成一條或多條路徑,描繪出一條線形圖徵。

如果兩條路徑在同高度交會時,必須使用一個額外的節點來標出這個交會點,如兩條路的交叉口。但如果兩條路徑不在同一高度交會時,兩條路徑就不可以共用節點,如跨越一條幹道的人行天橋。兩條不同高度的路徑需要用 layer=*level=* 來區別其高度差,另外也可以使用 location=overground/underground。有些例外並不是用這個規則,如水壩上的道路和底下的河道還是需要有共用節點。

繪製在路徑上的節點可以沒有任何標籤,但在某些情況下還是需要:

資料結構

更多此主題的細節、見 Rails port/Database schema#Nodes
欄位 數值 描述
id 大於 1 的 64 位元整數 每個節點都擁有相異的 ID(但路徑或關聯的 ID 可以和某個節點的 ID 相同)。在某些編輯器中,可能會使用負的 ID 來表示尚未上傳到資料庫的節點。相同節點的 ID 並不會因為任何編輯而改變,把一個節點刪除後,原節點的 ID 不會被其他新節點回收使用,除非原節點被復原。
lat 介於 −90.0000000 和 90.0000000 之間的實數,精確至小數點下第七位 使用 WGS84 標準投影的緯度值,單位為度,北半球為正,南半球為負。有些應用程式可能不會接受正負 85 度外的緯度值。

請勿使用 [W] 單精度浮點數,因為它的精確度在最高的經度下只到小數點下第五位而已。如果你還是想用(或只能用)32 位元來儲存經緯度,可以參考 Rails port 的方法,把經緯度先乘以 10 的 7 次方後用 32 位元的整數儲存,這個方法可以表示 ±214.7483647 的數值,剛好可以涵蓋經緯度所需的精度與範圍。如果要計算投影點,則必須使用倍精度浮點數才能確保精度正確。
小數點下七位的精度在赤道上會有 ±5.56595 毫米的最大誤差,精度等級是公分級的;如果只採用小數點下五位的精度,那最大誤差就會來到公尺級,可能會造成建築或道路嚴重的變形。

lon 介於 −180.0000000 和 180.0000000 之間的實數,精確至小數點下第七位 使用 WGS84 標準投影的經度值,單位為度,格林威治天文臺以東為正,以西為負。在南北極點的緯度值一定是負或正 90 度,這兩個地點的經度可以是規定範圍內的任意值。
標籤 一系列的鍵值對 標記守則請參見圖徵

範例

<node id="5332858654" visible="true" version="1" changeset="55346108" timestamp="2018-01-11T09:06:45Z" user="Bigmorr" uid="6802110" lat="25.0458430" lon="121.5199467">
<tag k="information" v="guidepost"/>
<tag k="name" v="台灣公路原點路牌"/>
<tag k="note" v="台1線、台1甲線、台3線、台5線、台9線共同的零公里起點路牌,設置於行政院院區西正門旁"/>
<tag k="tourism" v="information"/>
</node>

特殊案例

Wiki 模板

  • {{NodeIconLink}}:顯示為一個節點圖示,並連結到開放街圖中的對應節點,如:Node 5332858654
  • {{IconNode}}:單純顯示一個節點,如:node