---
# System prepended metadata

title: Sensorthings API
tags: [nchc]

---

Sensorthings API
===


###### tags: `nchc`

# UML數據模型
下圖為OGC SensorThings API的UML數據模型，其中定義了不同的實體以及他們的屬性，同時展示了不同實體之間的關系。
![](https://i.imgur.com/XvkWvdQ.png)

在 OGC SensorThings API 所定義的標準資料模型中，一個真實物件或虛擬物件可視為一個 Thing。Thing 的最終已知位置以 Location 表示，而其過去所在位置的歷史軌跡可以配合 HistoricalLocation 表示。一個 Thing 可以擁有多個 Datastream，每個 Datastream 可作為一組 Observation 的集合，但這些 Observation 須由同一個 Sensor 針對相同感興趣的現象 ObservedProperty 所產生。而 Observation 所觀測之特徵物須以 FeaturesOfInterest 描述。

# API介面說明

## URI介面

OGC SensorThings API 服務將相同類型的實體分組為實體集合。每個實體都有唯一的標識符和一對多屬性。此外，如果實體與其他實體集合中的實體保持關係，則這種類型的關係用導航屬性（即navigationLink和associationLink）表示。

因此，為了對資源執行查詢，第一步是通過URI尋址目標資源。這裡有使用三個主要組成部分的URI，即：（1）網路服務之URI，（2）資源的路徑，以及（3）查詢選項。另外，服務之URI由兩部分組成：（1）SensorThings服務的位置和（2）版本號。版本號的格式如下所示：

“v” majorversionnumber + “.” + minorversionnumber

![](https://i.imgur.com/GFBOHfx.png)


#  Things

Thing可能是一個實體世界的物件（實體的物體），也可能是信息世界（虛擬的物體），可被識別和整合進入通訊網路[ITU-T Y.2060]。

Thing是創建SensorThings模型結構的起點，一個Thing有Location（位置）和一個或多個Datastreams（數據流）來Observation（觀測）。一個最精簡的Thing可在不指定Location和Datastreams的情況下創建。同時，Thing也可以通過嵌套Location和Datastreams來創建。


# Locations

Location（位置）實體記錄Thing(s)關聯的位置。一個Thing的Location實體被定義為Thing最後已知的位置（物理位置）。 當一個location（物理位置）存在多種encodingType（編碼類型）時，此時的Thing可關聯多個Locations。

# HistoricalLocations

Thing的HistoricalLocation（歷史位置）實體提供了Thing的當前（最後已知）和之前所有locations的時間。

# Datastreams

同一個Sensor（傳感器）測量同一個ObservedProperty（觀測屬性）Observations（觀測）的集合，稱之為Datastream（數據流）。

# ObservedProperties

一個ObservedProperty特指一個觀測值（Observation）的現象。

# Observations

一個Observation（觀測）是一種測量或者是測算一個屬性值的行為，SensorThings中的一個Observation代表一個ObservedPropert中單個Sensor的讀取值。一個物理設備（Sensor）發送Observations給一個指定的Datastream。同時，一個Observation需要一個FeatureOfInterest（被觀測物）實體。如果請求中什麽都沒有提供FeatureOfInterest，那麽這個Datastream所關聯的Thing的Location，將被作為FeatureOfInterest指定為新的Observation。

# FeaturesOfInterest

一個Observation（觀測）的動作實際是將一個數據被指定給了一種現象，這種現象可理解為一個特征屬性，也就是Observation[OGC and ISO 19156:2011]的FeatureOfInterest（被觀測物）。在物聯網的環境中，許多Observations的FeatureOfInterest就是這個Thing的Location。舉例來說，一個WiFi連接恒溫器的FeatureOfInterest可以是這個恒溫器的Location（比如放置這個恒溫器的客廳）。但在遙感中，FeatureOfInterest就是這個恒溫器被感測到的地理範圍。

# 查詢選項

使用查詢選項可以簡化在SensorThings中獲得所需信息的請求。以下列出的所有查詢選項都可以使用在SensorThings的各個實體中，可能選項具體使用會有些微差別。 SensorThings查詢選項可以分為兩種類型，一類主要用於指定請求的返回屬性，\$expand和\$select屬於這類。另一類主要用於對返回的結果設限、過濾或者重新排序，\$orderby、\$top、\$skip、\$count和$filter屬於這類。







參考資料:
- https://ci.taiwan.gov.tw/dsp/sta_guide.aspx
- https://ci.taiwan.gov.tw/dsp/doc/%E5%9C%B0%E9%9C%87%E8%A7%80%E6%B8%AC%E8%B3%87%E6%96%99%E8%A6%8F%E7%AF%84%E6%96%87%E4%BB%B6.pdf
- https://developers.sensorup.com/docs/zh-tw/#introduction
