Skip to content

イベントデータ配信 mapserv.eventdata

センサーなどから取得したデータはイベントデータとして記録されています。 イベントデータ配信APIは、指定した条件に一致するイベントデータを取得することができます。

実行方式は JSON-RPC v2.0 を利用します。

リクエスト例

{
  "jsonrpc": "2.0",
  "method": "mapserv.eventdata",
  "params": {
    "type": "Feature",
    "geometry": {
      "type": "Polygon",
      "coordinates": [[
        [139.7, 34.9], [139.7, 36.1], [140.9, 36.1],
        [140.9, 34.9], [139.7, 34.9]
      ]]
    },
    "properties": {
      "table": "riskmap.riskmap_probability",
      "columns": ["start_datetime", "risk"],
      "conds": {
        "and": [
          {
            ">=": ["start_datetime", "2020-05-05 13:00:00"]
          },
          {
            "<": ["end_datetime", "2020-05-05 15:00:00"]
          }
        ]
      }
    }
  },
  "id": "mapserv_eventdata"
}

パラメータ

リクエストパラメータは GeoJSON の Feature 形式です。

Geometry には検索したい空間的範囲を指定します。タイプは Polygon, Line, Point やこれらの Collection でも構いません。

Properties には以下のパラメータを指定します。

パラメータ名 データ型 内容 既定値
table string イベントデータを含むテーブル名 必須
columns [string] 取得するカラムのリスト [] (すべてのカラム)
conds object 検索条件 なし(すべてのレコード)(検索条件を指定しない場合はパラメータキーも指定しない)

出力サンプル

出力例

戻り値

イベントデータの各レコードが1つの Feature となる GeoJSON (FeatureCollection) が返ります。

各 Feature の geometry には geom の GeoJSON 表現が、 properties には table にテーブル名が、あとはカラム名と値のセットが入ります。

説明

イベントデータの空間属性および非空間属性を、条件を指定して取得します。 他の API に比べて複雑な検索条件を指定することができます。

  • table で指定したテーブルに格納されたイベントデータが対象になります。
  • geomカラムに記録されている空間属性と、リクエストのgeometry部分で指定した空間属性が 交差するレコードが取得対象になります。
  • columns が指定されている場合は指定されたカラムだけが返されます。ただし geom カラムは GeoJSON geometry として常に返されます。
  • conds が指定されている場合、 geometry の条件と conds の条件をすべて満たすレコードが 取得対象になります。
  • conds は JsonLogic 記法で記述します。 利用できるオペレータは以下の通りです。A,Bにはカラム名または定数が入ります(「カラム名と同じ文字列定数」は表現できません)。
    • {"=":[A,B]} A が B に等しい
    • {"<>":[A,B]} A が B に等しくない
    • {">":[A,B]} A が B より大きい
    • {">=":[A,B]} A が B と等しいか大きい
    • {"<":[A,B]} A が B より小さい
    • {"<=":[A,B]} A が B と等しいか小さい
    • {"!":[A]} A が成立しない
    • {"and":[A,B,...]} A,B,... がすべてを満たす
    • {"or":[A,B,...]} A,B,... のいずれかを満たす
    • {"in":[A,[B]]} A が [B] に含まれる
    • {"min":[A]} [A] の最小値
    • {"max":[A]} [A] の最大値

条件を満たすレコードが多い場合や、geom に格納されている空間属性が 複雑な形状をしている場合には、非常に大きな GeoJSON が返ることがあります。