istSOSクイックスタート¶
istSOSは、 Python で記述されたOGC Sensor Observation Service (SOS) サーバ実装です。istSOSは、Sensor Observation Service標準に従って、モニタリングセンサーからの観測情報を管理し、ディスパッチすることを可能にします。
このプロジェクトはまた、日常的な操作を容易にするグラフィカル・ユーザ・インタフェースと、管理手順を自動化するためのRESTful Web apiも提供しています。
istSOSはGPLv2ライセンスでリリースされ、すべての主要プラットフォーム(Windows、Linux、Mac OS X)で動作します。ただし、これまでLinux環境でのみ使用されていました。
postgisデータベースを作成する¶
端末を開き、次のコマンドを実行します:
sudo -u postgres createdb -E UTF8 istsos
sudo -u postgres psql -d istsos -c 'CREATE EXTENSION postgis'
istSOSサービスインスタンスを設定する¶
istSOSを使用すると、センサーデータをさまざまなインスタンスまとめることができます。すべてのインスタンスには、他のインスタンスから独立した独自のデータベーススキーマがあります。必要に応じて、ネットワーク上に他のデータベースを展開することもできます。
istSOSセットアップの最初のステップは、デフォルトの設定オプションを設定することです。これらのオプションは、新しいistSOSインスタンスが作成されるたびに自動的に使用されます。
- to open the Web Admin interface. Alternatively, open a browser and go to
管理ページで Enter ボタンをクリックします。
データベース接続を設定します。ツールバーのボタンメニューから、 "Database"ボタンを押し、データベース設定オプションを入力します。
user: postgres password: postgres host: localhost port: 5432 DB name: istsos
"Service provider"ボタンを押して、施設情報を使用して入力します。
"Service identification"ボタンを押して、サービスの使用状況を説明するカスタムメタデータを入力します。
座標参照系(CRS)を管理するには、 "Coordinates system" ボタンを押します。
Default EPSG code: これはデータベース内のジオメトリのネイティブの座標参照システムになります。
Permitted EPSG: ここでは、システムがサポートして再投影する他の座標参照系を設定できます。
ツールバーのボタンメニューから、 "GetObservation Configuration"ボタンを押して、getObservation要求ごとの最大時間間隔(無制限の場合は0)と集計のno-data値を設定します。
サービスプロキシアドレスを設定します。プロキシURLフィールドは、リバースプロキシ越しで見えるベースのURLをいれます。
新しいサービスを作成する¶
istSOSを設定したので、次は新しいサービスインスタンスを作成します。
ツールバーのボタンメニューから "new service" ボタンを押し、 Next をクリックします。
サービス名に demo と入力します。
EPSGフィールドでは、データベースのネイティブ投影を設定できます。デフォルトを使用する場合は空のままにします。Next をクリックします。
"Customize database" ボックスをクリックすると、この新しいistSOSインスタンスのデフォルトデータベース設定を変更できます。
Next を押します。サーバステータスパネルが表示されます。作成中に何か問題が発生した場合ここに警告が表示されます。
注釈
istSOSの "demo" インスタンスは、デフォルト設定からすべての設定オプションを継承しています。何らかの理由で変更した場合、変更はこのインスタンスにのみ影響します。
新しいプロシージャを追加する¶
管理インタフェース(http://localhost/istsos/admin)の "services" ドロップダウンボタンから、目的のインスタンスを選択します。
ツールバーのボタンメニューから New procedure ボタンを押します。
適切な情報を使用してフォームに入力します。
警告
プロシージャが作成されると、出力(観測されたプロパティ)は変更できません。
注釈
Optional parameters: 必要に応じて自由に入力してください
例 (最小構成)
Name: T_LUGANO |
Description: temperature weather station in Lugano |
Keywords: weather, meteorological, IST |
System type: insitu-fixed-point |
Sensor type: PTC thermistors of the "switching" type |
FOI name: LUGANO |
EPSG: 4326 |
Coordinates: x: 8.96127 y: 46.02723 z: 344.1 |
Outputs ("add" ボタンを押して出力を確認):
Observed property: urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature |
Unit of measure:°C |
Description (オプション): conversion from resistance to tempera |
quality index check (オプション):-40から+60まで |
注釈
"submit"ボタンを押して、新しいセンサー(プロシージャ)を登録します。
新しい観測情報を追加する¶
まず、 "text/csv,subtype=istSOS" に従ってフォーマットされたセンサーデータのテキストファイルを作成します。このファイルはCSV(カンマ区切りテキスト)形式を使用しています。最初の行には、観測されたプロパティのURI名を含むヘッダ情報が含まれます。次の行にデータが含まれています。
を選択して、テキストエディタを開きます。
次のテキストをコピーしてテキストエディタウィンドウに貼り付けます:
urn:ogc:def:parameter:x-istsos:1.0:time:iso8601,urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature 2014-06-03T14:30:00.00Z,22.20 2014-06-03T14:40:00.00Z,22.00 2014-06-03T14:50:00.00Z,21.70 2014-06-03T15:00:00.00Z,21.20 2014-06-03T15:10:00.00Z,20.70 2014-06-03T15:20:00.00Z,20.20 2014-06-03T15:30:00.00Z,19.60 2014-06-03T15:40:00.00Z,19.20 2014-06-03T15:50:00.00Z,18.20 2014-06-03T16:00:00.00Z,18.00 2014-06-03T16:10:00.00Z,17.20
デスクトップ上に "T_LUGANO_20140603161000000.dat" という名前で保存します。ファイル名の命名方法は次のとおりです: PROCEDURENAME_YYYYMMDDhhmmssfff.dat
を選択して端末を開きます。
端末で: "cd /usr/share/istSOS/" と入力し、ENTERを押します。
"python scripts/csv2istsos.py -p T_LUGANO -u http://localhost/istsos -s demo -w ~/Desktop" と入力し、ENTERを押します
"Insert observation success:True" というメッセージが表示されます。
をクリックします。
管理ページで Enter ボタンをクリックします
をクリックします。
- 次を選択してください:
Service = demo
Offering = temporary
Procedure T_LUGANO
Add ボタンをクリックします
Plot ボタンをクリックし、データが追加されたことを確認します(タイムゾーンに注意してください)。
次のステップ¶
istSOSについてさらに学ぶには、 istSOS Documentation と istSOS Tutorial を参照してください。