注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

オントロジー オブジェクト

Map アプリケーションは、地理空間データが添付されたオントロジー オブジェクトをサポートしています。

地理空間オブジェクトの設定

ポイント

ポイントのジオメトリは、geohash プロパティタイプを使用して指定できます。geohash プロパティの内容は、以下のどちらかの文字列である必要があります。

  • [緯度],[経度]: 例えば、57.64911,10.40744。座標は、WGS 84 CRS(標準の緯度と経度)を使用する必要があります。
  • ジオハッシュ: 例えば、u4pruydqqvj。ジオハッシュは、ジオハッシュの矩形の左下隅を使用してポイントに変換されます。

geohash プロパティを持つオブジェクトは、地理空間検索のためにインデックスされます。

オントロジー マネージャーでの geohash プロパティタイプ

オブジェクトタイプで円のジオメトリを指定するには、オブジェクトタイプの Capabilities タブの Geospatial セクションで Radius プロパティを選択します。半径プロパティは、メートル単位で測定された任意の数値プロパティであることができます。

オントロジー マネージャーでの半径プロパティ設定

円のジオメトリは、マップ上にのみ描画され、検索のためにインデックスされません。 円のジオメトリに基づいてオブジェクトを地理空間検索可能にする必要がある場合は、ポリゴンを使用して円を近似する必要があります。

ポリゴンとライン

ポリゴンとラインのジオメトリは、geoshape プロパティタイプを使用して指定できます。geoshape プロパティの内容は、次の要件を満たす GeoJSON ジオメトリ文字列である必要があります。

  • GeoJSON LineString、Polygon、MultiLineString、MultiPolygon、MultiPoint、または Point のいずれかであること。ただし、Point ジオメトリは geoshape プロパティタイプを使用しないでください。Point ジオメトリには、geohash プロパティタイプを使用してください。
  • Feature、FeatureCollection、または GeometryCollection ではないこと。
  • GeoJSON 仕様 (RFC 7946)に準拠していること。
  • WGS 84 座標を使用すること。
  • ポリゴンとマルチポリゴンは、GeoJSON 仕様に従って有効であること。ポリゴンとマルチポリゴンは、閉じていること、外部リングに右手法/反時計回りの巻き方向を使用すること、および自己交差しないことが必要です。

これは、geoshape プロパティに有効な GeoJSON の例です。

Copied!
1 2 3 4 { "type": "LineString", // "type"はジオメトリの種類を指定する。ここでは"LineString"(直線)を指定している。 "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] // "coordinates"は座標を指定する。この場合、2点間の直線を示している。 }

geoshapeプロパティを持つオブジェクトは、地理空間検索のためにインデックス化されます。

Ontology Manager での Geoshape プロパティタイプ

H3 ヘキサゴン

オブジェクトには、H3 地理空間インデックスシステムからの H3 セル ID を含む文字列プロパティが含まれている場合があります。これらは、マップ上で該当するヘキサゴンとして描画されます。

文字列プロパティが H3 セル ID を含むことを指定するには、オブジェクトタイプの Capabilities タブの地理空間セクションで、そのプロパティを H3 cell の下で選択します。

Ontology Manager での H3 プロパティ設定

H3 ヘキサゴンはマップ上でのみレンダリングされ、検索のためにはインデックス化されません。H3 ヘキサゴンに基づいてオブジェクトが地理空間検索可能である必要がある場合、H3 セル ID を GeoJSON ポリゴンに変換し、それを上記で説明したように geoshape プロパティに含める必要があります。

地理矯正画像

オブジェクトには、衛星写真、航空画像、または物理マップのスキャンなどの地理矯正画像が添付されている場合があります。地理矯正画像には以下の2つのプロパティが必要です:

  • 描画する画像の URL を含む String プロパティ。サポートされている画像ファイル拡張子には、.png.jpg.jpeg.gif.webp.bmp.ico.svgがあります。画像 URL プロパティの ID は、画像境界プロパティを設定するために使用されます。
  • 画像の地理矯正境界を表す四角形の GeoJSON ポリゴンを含む画像境界 geoshape プロパティ。ポリゴンは、左下の角から始まる時計回りの順序で頂点を指定する必要があります。
    • 画像境界プロパティは、以下の形式で、画像 URL プロパティの ID を示すタイプクラスを持つ必要があります:
      • 種類: geo
      • 値: bounds.<画像 URL プロパティ ID> ここで <画像 URL プロパティ ID> は画像 URL プロパティの ID です。
    • 例えば、画像 URL プロパティ ID が image_url の場合、タイプクラスは次のようになります:種類: geo, 値: bounds.image_url

Ontology Manager での地理矯正画像プロパティ設定

地理矯正画像を持つオブジェクトは、すべての geoshape プロパティと同様に地理空間検索のためにインデックス化されます。

メディアセットからのタイル化された画像 [ベータ版]

地理参照ラスター画像も、GeoTIFF 画像(.tiff.tif)をメディアセットにアップロードすることでタイル表示することができます。そこから、メディア参照プロパティを持つオブジェクトタイプをマップに追加し、ユーザーがマップをパンまたはズームすると、見える画像の部分だけが読み込まれます。

トラック

オブジェクトには、オブジェクトの緯度と経度を表す数値の時系列プロパティがあり、ユーザーはオブジェクトが時間とともに移動した経路と、任意の時点での位置を視覚化することができます。

オブジェクトタイプのトラックを設定するには、オブジェクトタイプの Capabilities タブの Geospatial セクションで、Track LatitudeTrack Longitude のプロパティを選択します。両方のプロパティは、時間とともにオブジェクトの位置を表す数値の時系列プロパティでなければなりません。詳細については、Time series setupを参照してください。

Ontology Manager でのトラック緯度と経度の設定

Time Series と時系列プロパティ

ユーザーは、時系列データと/または時系列プロパティを持つ地理空間オブジェクトのマップで、時間的および地理時間的な分析を実行することができます。

イベント

イベントは、一点または一定期間に発生するオントロジーオブジェクトです。オブジェクトタイプは、オブジェクトタイプの Capabilities タブの Event セクションで Event start timeEvent end time タイムスタンププロパティを指定することにより、イベントとして設定することができます。

Ontology Manager でのイベント設定

マップ上のイベントオブジェクト

イベントオブジェクトがマップに追加されると、現在の時刻(つまり、選択されたタイムスタンプがイベント期間内であるとき)のみ表示されるように設定できます。

マップ上のオブジェクトにリンクされたイベントオブジェクト

マップ上のオブジェクトにイベントオブジェクトがリンクされている場合、イベントオブジェクトを Series パネルに追加して時間的な分析を行ったり、現在のイベント数の指標をオブジェクトラベルに追加したりできます。例えば、road オブジェクトはマップ上の線として表現でき、road オブジェクトはリンクされた traffic accident イベントを持つ可能性があります。ユーザーはその後、指標を使用して、任意の時点での各道路の交通事故数を見ることができます。

これが可能になるためには、イベントオブジェクトタイプは、オブジェクトタイプの Capabilities タブの Event セクションでイベントの深刻度を示す Event intent を設定する必要があります。

Search Around

Search Around は、関連するオブジェクトを探索するためのリンクベースの検索です。

リンク Search Around

ユーザーは、任意の地理空間オブジェクトからそれにリンクされている任意の地理空間オブジェクトへ Search Around を行うことができます。詳細については、リンクタイプの作成を参照してください。

リンクマージされた Search Around

Map アプリケーションは、二段階の Search Around を実行することができます。ここで、地理空間オブジェクトが、中間オブジェクト(非地理空間の可能性もあります)を介して別の地理空間オブジェクトにリンクされています。

  • 中間オブジェクトは、二つのオブジェクト間の関係を表しているかもしれません。例えば、Factory オブジェクトと Supplier オブジェクトは、Supply Contract オブジェクトを介して関連しているかもしれません。Search Around が実行されると、マップは工場から供給者への弧を表示します。この弧は供給契約を表します。
  • 中間オブジェクトは、両方のオブジェクトが関与するイベントでもあります。例えば、Customer オブジェクトは Distribution Center オブジェクトに Delivery イベントを介してリンクされているかもしれません。この場合、配送イベントは、弧に沿って移動する円として表示されます。円の位置は、イベントの開始時間と終了時間、および現在選択されているタイムスタンプに基づいて弧に沿って補間されます。

リンクマージされた弧の例

リンクマージされた Search Around を使用するためのオブジェクトを設定する方法は2つあります:

  • 中間オブジェクトをリンクマージオブジェクトとして指定する。これは、このオブジェクトタイプ自体が Search Around リストには表示されず、その推移リンクのみが表示されることを意味します。
  • マージするべき特定のリンクトラバーサルを指定する。中間オブジェクトの関係の一部だけがリンクマージされるべき場合にこのアプローチを使用します。

中間オブジェクトタイプを常にリンクマージするように設定する

中間オブジェクトタイプを常にリンクマージするように指定するには、中間オブジェクトタイプの Capabilities タブの Search Around セクションで Link merge always をオンにします。これは、オブジェクトタイプ自体が Search Around リストに表示されず、その推移リンクのみが表示されることを意味します。

Ontology Manager でのリンクマージ設定

例えば、中間オブジェクトタイプが Delivery で、一方のオブジェクトタイプが Distribution Center で、他方のオブジェクトタイプが Customer の場合、Distribution Center が Search Around の対象として選択されたとき、Delivery はリストに表示されませんが、Customer (via Delivery) は表示されます。以下に例を示します:

リンクマージされたオブジェクトを含む Search Around メニュー

リンクマージするべき特定のリンクトラバーサルを設定する

特定のリンクトラバーサルをリンクマージするように指定するには、中間オブジェクトタイプの Capabilities タブの Search Around セクションで Incoming links to mergeOutgoing links to merge を指定します。

Ontology Manager での Incoming/Outgoing リンクマージ設定

例えば、Supplier オブジェクトタイプから Distribution Center オブジェクトタイプへ Delivery オブジェクトタイプを経由して Search Around を行いたい場合は、Delivery オブジェクトタイプを中間オブジェクトとして設定し、Delivery <-> Supplier リンクを Incoming links to merge として選択し、Delivery <-> Distribution Center リンクを Outgoing links to merge として選択します。これで、Supplier が Search Around の対象として選択されたとき、リストのオプションとして Distribution Centers (via Delivery) が表示されます。

Search Around リストに両方のリンクトラバーサル方向が表示されるようにしたい場合(例えば、SuppliersDistribution Centers (via Delivery) があり、また Distribution CentersSuppliers (via Delivery) がある場合)、それらのリンクを Incoming links to mergeOutgoing links to merge の両方として設定する必要があります。

Search Around 関数

Search Around 関数を作成することで、強力な Search Around を作成できます。詳細については、Search Around functionsを参照してください。

Derived property 関数

関数は、オブジェクト上の derived properties を作成するために使用できます。これらは Selection パネルに表示され、マップ上のオブジェクトの色付けに使用できます。

オブジェクトの配列を入力とし、オブジェクトから原始的なものへの FunctionsMap を返す任意の関数は derived property として使用できます。例えば:

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 import { Function, FunctionsMap, Double } from "@foundry/functions-api"; import { ExampleDataRoute } from "@foundry/ontology-api"; // DerivedPropertyFunctions クラスを定義 export class DerivedPropertyFunctions { // flightCancellationPercentage 関数を定義 // フライトのキャンセル率を計算します。 @Function() public async flightCancellationPercentage(routes: ExampleDataRoute[]): Promise<FunctionsMap<ExampleDataRoute, Double>> { // routeMap を作成し、関数の結果を格納します。 const routeMap = new FunctionsMap<ExampleDataRoute, Double>(); // すべてのフライトデータを非同期に取得します。 const allFlights = await Promise.all(routes.map(route => route.flights.allAsync())); // 各ルートについてループを回します。 for (let i = 0; i < routes.length; i++) { // 現在のルートとそのフライトデータを取得します。 const route = routes[i]; const flights = allFlights[i]; // キャンセルされたフライトのみをフィルタリングします。 const cancelledFlights = flights.filter(flight => flight.cancelled); // キャンセル率を計算します(キャンセルされたフライトの数 / 全フライト数)* 100 const cancellationPercentage = (cancelledFlights.length / flights.length) * 100; // 計算結果を routeMap に保存します。 routeMap.set(route, cancellationPercentage); } // routeMap を返します。 return routeMap; } }