オントロジーの構築概要オントロジーオブジェクトDerived property functions

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

Derived property functions

Functions を使用してオブジェクトに derived properties を作成できます。これらは Selection パネルに表示され、value-based styling の一部として地図上のオブジェクトの色付けに使用されます。

derived properties 関数の定義

オブジェクトの配列を受け取り、オブジェクトからプリミティブへの FunctionsMap を返す関数は、derived properties として使用できます。たとえば:

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 import { Function, FunctionsMap, Double } from "@foundry/functions-api"; import { ExampleDataRoute } from "@foundry/ontology-api"; export class DerivedPropertyFunctions { @Function() public async flightCancellationPercentage(routes: ExampleDataRoute[]): Promise<FunctionsMap<ExampleDataRoute, Double>> { 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.set(route, cancellationPercentage); } return routeMap; } }

関数はオブジェクトの配列を消費する必要がありますが、レイヤー内のすべてのオブジェクトが一度に関数に渡される保証はありません。Map アプリケーションは、関数の呼び出しがタイムアウトしないようにするために、derived property 関数にオブジェクトのバッチを作成して渡します。関数は、そのオブジェクト自体から得られる情報のみに基づいて、オブジェクトの derived property を計算する必要があります。