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

ビジュアライゼーション

ビジュアライゼーションウィジェットのカテゴリーは以下のウィジェットから構成されています:


グラフ

以下の表は、グラフウィジェットで利用可能なプロパティについての使用詳細を提供します。表の後にはいくつかの例が続きます。

プロパティ

属性説明タイプ必須変更者
defaultEdgeIconエッジのデフォルトの画像URLまたはBlueprintのアイコン。stringいいえ直接編集
defaultNodeIconノードのデフォルトの画像URLまたはBlueprintのアイコン。stringいいえ直接編集
directedEdgesEnabledエッジの終端に目標ノードを指すArrowがあるかどうかを決定します。booleanいいえ直接編集
edgeArrowSizeピクセル単位での有向エッジのArrowのサイズ。booleanいいえ直接編集
edgeIconOffsetエッジのアイコンがエッジの中心からどれだけオフセットするか。オフセットの方向は、エッジのラベルが水平かどうかによりますnumberいいえ直接編集
edgeIconSizeピクセル単位でのエッジアイコンの幅と高さ。numberいいえ直接編集
edgeLabelHorizontalエッジのラベルがエッジに平行になるのではなく、水平に保つかどうかを決定します。booleanいいえ直接編集
edgeLabelOffsetエッジのラベルがエッジの中心からどれだけオフセットするか。オフセットの方向は、エッジのラベルが水平かどうかによりますnumberいいえ直接編集
edgeLengthFlowとForce Directedレイアウトに供給されるエッジの長さの値。numberいいえ直接編集
edgesグラフに表示されるエッジの値。IEdgesいいえ直接編集
hideLabelsScaleラベルが非表示になるズームレベル。読むには小さすぎるラベルを隠すためにこれを使用します。numberいいえ直接編集
nodeColorScaleRangeノードの色付けに使用する線形勾配を生成するために使用される2色以上の配列。例えば、node.colorScaleValues = [0, 5, 10]と色範囲配列が[“red”, “blue”]の場合、結果の色は次のようになります:red, purple, blue。色はヘックス(例:“#FF0000”)またはCSSの色名(例:“red”)で指定できます。指定されていない場合や2色未満の場合、デフォルトの色範囲はBlueprintの色@green4、@gold4、および@red4([“#15B371”, “#F2B824”, “#F55656”])で構成されます。string[]いいえ直接編集
nodeLabelPositionノードの円に対するラベルの位置。stringいいえ直接編集
layoutグラフがノードを配置するために使用するレイアウトのタイプ。“Force Directed”:グラフはノードを広げる方法を使用してレイアウトされます。“Flow Up/Down/Left/Right”:ノードはエッジが一般的に指定された方向を指すように配置されます。“Manual” ユーザーがノードを新しい位置にドラッグし、保存時に位置を保持することができます。他のレイアウトでのドラッグされたノードの位置は保存されません。stringいいえ直接編集
nodeDiameterノードの円の直径(ピクセル単位)。numberいいえ直接編集
nodeLabelOffsetノードの中心からのラベルのオフセット。オフセットの方向はラベルの位置によって決定されますnumberいいえ直接編集
nodeMarginノード間の最小距離。FlowとForce Directedレイアウトで使用されます。numberいいえ直接編集
nodeIconSizeノードアイコンの幅と高さ。numberいいえ直接編集
nodesグラフに表示されるノードの値。INodesはい直接編集
nodeSelectorDiameterノードが選択されていることを示す円の直径。numberいいえ直接編集
selectedNodeIds現在のユーザーが選択したノードの一意の識別子。string[]いいえユーザー操作
zoomScaleRangeグラフのズームの範囲を設定します。numberいいえ直接編集

IEdges

属性説明タイプ必須変更者
cssClassesCSSスタイルを適用するために使用されるエッジのCSSクラス名。string[]いいえ直接編集
iconsエッジの画像URLまたはBlueprintのアイコン。string[]いいえ直接編集
labelsエッジに関連するラベル。string[]いいえ直接編集
sourceNodeIdsエッジを作成するために必要なソースノードのID。number[]はい直接編集
targetNodeIdsエッジを作成するために必要なターゲットノードのID。number[]はい直接編集

INodes

属性説明タイプ必須変更者
colorScaleValuesノードの色付けに使用する数値。Color Scale Range内の色を使用して補間されますnumber[]いいえ直接編集
cssClassesCSSスタイルを適用するために使用されるノードのCSSクラス名。string[]いいえ直接編集
iconsノードの画像URLまたはBlueprintのアイコン。string[]いいえ直接編集
idsノードの一意の識別子。string[]はい直接編集
labelsノードに関連するラベル。string[]いいえ直接編集
xPositionsManualレイアウトでは、これはノードのX位置を指定します。欠けている値を持つノードはグリッドに配置されます。number[]はいユーザー操作
yPositionsManualレイアウトでは、これはノードのY位置を指定します。欠けている値を持つノードはグリッドに配置されます。number[]はいユーザー操作

ダイナミックグラフ

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 { "camera": { // カメラ設定 "ratio": null, // ズームレベル(nullの場合、デフォルト値が使用されます) "x": null, // カメラのX座標(nullの場合、デフォルト値が使用されます) "y": null // カメラのY座標(nullの場合、デフォルト値が使用されます) }, "edges": { // エッジ(ノード間のリンク)の設定 "sourceNodeIds": "{{graph.sourceNodeIds}}", // エッジの始点となるノードのID "targetNodeIds": "{{graph.targetNodeIds}}" // エッジの終点となるノードのID }, "nodes": { // ノード(グラフの頂点)の設定 "iconUrls": "{{graph.iconUrls}}", // ノードのアイコンURL "ids": "{{graph.ids}}", // ノードのID "labels": "{{graph.ids}}", // ノードのラベル "xPositions": "{{graph.xPositions}}", // ノードのX座標 "yPositions": "{{graph.yPositions}}" // ノードのY座標 }, "selectedNodeIds": [ // 選択されたノードのID "n18" ] }

静的グラフ

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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 { // カメラの設定 "camera": { "ratio": null, // 比率 "x": null, // x座標 "y": null // y座標 }, // デフォルトのアイコンURL "defaultIconUrl": "resources/map-people.svg", // エッジ(接続線)の設定 "edges": { "ids": [ "e1", "e2", "e3", "e4", "e5" ], "labels": [ "e1", "e2", "e3", "e4", "e5" ], "sourceNodeIds": [ // 出発ノードID "n1", "n2", "n3", "n4", "n5" ], "targetNodeIds": [ // 到着ノードID "n2", "n3", "n4", "n5", "n1" ] }, // レイアウトの設定 "layout": { "type": "layered" // レイヤー型 }, // ノード(要素)の設定 "nodes": { "ids": [ "n1", "n2", "n3", "n4", "n5" ], "labels": [ "n1", "n2", "n3", "n4", "n5" ], "xPositions": [ // x座標 100, 30.9, -80.9, -80.9, 30.9 ], "yPositions": [ // y座標 0, 95.1, 58.78, -58.78, -95.1 ] }, // 選択されたノードID "selectedNodeIds": [ "n1" ] }

デフォルト

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 { // カメラに関する設定 "camera": { "ratio": null, // カメラのアスペクト比 "x": null, // カメラのx座標 "y": null // カメラのy座標 }, // エッジの情報 "edges": { "sourceNodeIds": [], // ソースノードのID配列 "targetNodeIds": [] // ターゲットノードのID配列 }, // ノードの情報 "nodes": { "ids": [], // ノードのID配列 "xPositions": [], // ノードのx座標配列 "yPositions": [] // ノードのy座標配列 }, // 選択されたノードのID配列 "selectedNodeIds": [] }

画像ギャラリー

以下の表は、画像ギャラリーウィジェットで利用可能なプロパティの使用詳細を提供しています。

プロパティ

属性説明必須変更者
imageUrlsこのギャラリーの画像。string[]はい直接編集
captions各画像のキャプション。string[]いいえ直接編集

マップ

Slateのマップウィジェットは Leaflet によって支えられています。

マップはレイヤーで構成されています:ベースレイヤー(タイルレイヤーとも呼ばれ、これは背景マップ画像です)と、特定の数のオーバーレイレイヤー(フィーチャーレイヤーとも呼ばれ、これがあなたが関心を持つデータです)。マップウィジェットは、フィーチャーレイヤーに対してラスタとベクタのタイルの両方をサポートしています。

ウェブマップテクノロジーへの役立つ導入として Mapboxのドキュメンテーション を参照してください。Slateはベースマップ画像のソースとしてMapboxを使用しています。

用語

  • マップタイル: マップウィジェットのベースレイヤーで、これらのタイルは単に画像です。データは含まれていません。マップタイルをマップの「背景」と考えることができます。マップタイルは Misc タブで設定され、マップウィジェット全体に適用され、単一のレイヤーだけでなく。一度に表示できるマップタイルの種類は一つだけです。
  • フィーチャー: マップの上に描かれた点や形状で、何らかのデータと関連付けられています。
  • ベクタ: 画像を表現する別の方法。ラスタ 画像は画像をピクセル単位で説明します。つまり、色付きピクセルのグリッドとして。対照的に、ベクタ 画像は点間の線を説明します。これは、ベクタ画像がさまざまなサイズでクリーンに表示できることを意味します。
  • ベクタータイル: ベクタとして形状データを含んでいます。
  • タイルサーバー: タイルとして形状データを動的に提供します。
  • マップタイルソース: マップのベースタイルを提供します。技術的にはタイルサーバーでもあります。

レイヤータイプ

Slateは以下のタイプのオーバーレイレイヤーを持っています:

Location

Locationレイヤーは単純に (Leaflet マーカー)を含み、緯度/経度のペアで識別されます。これらの点を円またはアイコンとして表示するようにマップウィジェットを設定できます。

Heat map and heat grid

Heat mapとheat gridのレイヤーも点データを扱いますが、単にマップ上に点を表示するだけでなく、それらの点の 分布 についての計算を表示するオーバーレイを表示します。Heat mapは点の密度を色付きのグラデーションとして表示し、heat gridは点をバケツにグループ化し、バケツを離散的な色セルとして表示します。

Shape

単一の点だけでなく、形状とベクタレイヤーは ポリゴン の形でデータを持つこともできます。これは一連の点とそれらの間の線として保存された情報です。Shapeレイヤーはこれらのポリゴンを GeoJSON 形式で提供します。GeoJSONファイルはあなたのSlateサーバーから直接提供することができます。

GeoJSONのフィーチャーはJSONとして保存され、SVG(画像)ファイルに変換されます。これらの画像は、マップウィジェットが初めてロードされたときに一度にすべて読み込まれます。

Vector

ベクタレイヤーはベクタタイルで形状データを提供します。ベクタタイルを提供するためには外部のタイルサーバーが稼働している必要があります。 ベクタタイルは動的にロードされます(マップ上で見えるようになるとすぐに)。ベクタタイルはまた、フィーチャーを画像としてレンダリングするのではなく、キャンバス上に直接描画するため、ベクタレイヤーはshapeレイヤーよりも多くのフィーチャーを持つことができます。

Choropleth

Choroplethレイヤーもポリゴンデータを扱いますが、各フィーチャーに追加の値を追加し、これらの値を色スケールに投影します。それぞれのフィーチャーは、その値に対応する色でマップ上に表示されます。これは特定の統計の視覚化として機能します。

例えば、人口密度によって色分けされた州のマップ、または社会的脆弱性指数によって色分けされた郵便番号を持つマップがあります。

Raven

あなたのSlateアプリケーションでRavenマップを使用する必要がある場合は、あなたのPalantir代表者に連絡してください。

ベースタイル

マップウィジェットには、ベースタイルレイヤーのいくつかのオプションが付属しています。オプションには、ダークテーマ、ライトテーマ、衛星テーマ、ストリートマップテーマ、デフォルトテーマが含まれています。また、All オプションもあります。これは、レイヤーセレクターを使用してマップ上で直接テーマを切り替えることができます。

プロパティエディターの Misc タブで、Tile Layer ドロップダウンから選択します:

base-tile-select

マップ上のデータスケール

Shapeレイヤー(GeoJSON)は最も低いデータスケールをサポートしています。約1,000のフィーチャーで、マップのパフォーマンスが顕著に低下します。それ以上の大きなデータについては、代わりにベクタレイヤーを使用する必要があります。また、GeoJSONのジオメトリを単純化することでパフォーマンスを向上させることも試みることができます。

Locationレイヤーは約5,000-10,000点で遅くなります。

対話性の無効化

アプリケーションで静的なマップを表示したい場合は、パンニングとズームを無効にすることができます。また、フィーチャーデータだけを表示したい場合は、ベースレイヤーを削除することもできます。

ロケーションマップレイヤー

layer-location

カスタムスタイルが含まれています:

layer-location-custom-css

また、レイヤーの名前または.layer${layerIndex}を使用して、レイヤー内のすべてのマーカー/クラスターをスタイリングすることもできます。有効なCSSクラスであるレイヤー名だけが追加されます:

layer-location-layer-styles

Choroplethマップレイヤー

layer-choropleth

Vectorマップレイヤー

layer-vector

Heat mapレイヤー

layer-heatmap

プロパティ

属性説明必須変更者
autoZoomマップがマップ内のデータに基づいて自動的にズームするかどうかを指定します。booleanはい直接編集
boundsユーザーのズームとパンに基づく表示領域。下記のIBoundsを参照してください。IBoundsはいユーザーの操作または直接編集
crs使用する座標参照系:EPSG3395(楕円メルカトル投影)、EPSG3857(球面メルカトル投影)またはEPSG4326(等角投影)。stringいいえ直接編集
fixedBoundsEnabledマップの範囲がズームとドラッグによって変更できるかどうかを指定します。booleanいいえ直接編集
zoomControlEnabledマップに左上角に表示されるクリック可能なズームコントロールがあるかどうかを指定します。booleanいいえ直接編集
layerSelectorEnabledマップに右上角に表示されるレイヤーコントロールメニューがあるかどうかを指定します。booleanいいえ直接編集
layersILayerModelを参照してください。ILayerModel[]いいえ直接編集
maxBoundsユーザーがズーム/パンするときに利用可能な最大の表示領域。IBoundsいいえ直接編集
minMaxZoomLevelマップのズーム範囲を設定します。ズームレベルは0から18の範囲で、0は地球全体を表し、18は個々の家のスケールを表します。numberいいえ直接編集
zoomLevelマップの現在のズームレベル。numberはいユーザーの操作
selection選択オブジェクトで、選択形状と選択されたIDを含みます。IMapSelectionはいユーザーの操作
tileLayerEnabledタイルレイヤー(例:Street Map)が有効であるかどうかを指定します。booleanはい直接編集
tileUrlsEnabledタイルレイヤーのカスタムタイルURLの使用を有効にします。タイルレイヤーのURLを入力し、必要に応じてそのラベルを以下に入力します。カスタムタイルレイヤーを表示するためには、タイルレイヤー(上記)を有効にする必要があります。タイルレイヤーセレクターを有効にすると、タイルURLがセレクターに追加されます。booleanはい直接編集
tileLayerベースタイルレイヤー。stringはい直接編集
tileUrlLabelsあなたのカスタムタイルレイヤーURLのそれぞれの名前のJSON配列。ラベルを提供しない場合は、デフォルトの名前(例:「Custom」、「Custom (1)」など)が使用されます。stringいいえ直接編集
tileUrlsカスタムタイルレイヤーURLのJSON配列。タイルレイヤーURLは“http:/{s}.example.com/blah/{z}/{x}/{y}.png”の標準形式であるべきです。ここで、{s}はオプションのサブドメイン、{z}はズームレベル、{x}と{y}はタイル座標です。このテンプレートURLはマップによって各タイル画像を探し出すために使用されます。stringいいえ直接編集
shapeSelectionEnabledマップ上のドラッグ選択コントロールを有効にします。CMDまたはCTRLを押し続けると追加選択を使用できます。ドラッグ選択はエリア選択とデータ選択の二つのモードをサポートします。エリア選択は永続的な形状を作成し、テンプレート上でselection.areasという名前の配列として利用できます。データ選択はさらにユーザーが直接ロケーションマーカーを選択することを可能にし、selection.idsの値を更新します。booleanはい直接編集
selectionType選択のモード。エリア選択は永続的な形状を作成し、テンプレート上でselection.areasという名前の配列として利用できます。データ選択はさらにユーザーが直接ロケーションマーカーを選択することを可能にし、selection.idsの値を更新します。stringいいえ直接編集

IBaseLayerOptions

属性説明必須変更者
nameレイヤーセレクターに表示されるレイヤーの名前。場所と形状のレイヤーは、名前が提供されていない場合、デフォルトでCSSセレクターになります。Ravenレイヤーは独自の名前を提供するため、このフィールドを使用すると、このRavenレイヤーによって提供されるすべてのレイヤー名が上書きされます。stringNo直接編集

IBounds

属性説明必須変更者
northEast地図領域の長方形の北東の点。ILatLngYesユーザーのインタラクションまたは直接編集
southWest地図領域の長方形の南西の点。ILatLngYesユーザーのインタラクションまたは直接編集

IChoroplethLayerOptions

属性説明必須変更者
colorScaleOptions存在する場合、指定されたカスタムカラースケールを使用して、コロプレス図の要素に色を付けます。IColorScaleOptionsNo直接編集
idsgeoJsonファイルの“ids”にマッピングされるデータ値。また、ユーザー選択に基づいてselection.idsによって返されるID。string[]Yes直接編集
layerSourceフィーチャーの描画に使用されるデータのタイプ。ソースはGeoJSONファイル、またはベクタータイルを提供するサーバーのいずれかになることができます。stringYes直接編集
shapeGeoJsonレイヤーの生のGeoJSON。推奨値は有効なGeoJSON オブジェクトを返すテンプレート化された関数またはクエリです。この値は、“Shape Source”が“Raw”に設定されている場合にのみ設定する必要があります。anyNo直接編集
shapeSource形状のGeoJSONがどのように取得されるかを示します。“Server Resource”を使用して、Slateサーバー上の静的なGeoJSON形状ファイルを指し示します。“Raw”を使用して、GeoJSONを直接指定します。Slateアプリケーションのサイズ制限のため、大きなGeoJSONは“Server Resource”またはクエリから取得する必要があります。anyNo直接編集
shapeUrl形状ファイルのURL。例: “resources/map/us-states.geojson”。“Shape Source”が“Server Resource”に設定されている場合にのみ、この値を設定する必要があります。stringNo直接編集
valuesデータポイントの値。number[]Yes直接編集
vectorTileOptionsベクタータイルレイヤーを設定するためのオプション。layerSourceが“Vector Tile”に設定されている場合にのみ利用可能ですIVectorTileOptionsYes直接編集

IColorScaleOptions

属性説明必須変更者
colorScaleTypesカラースケールは、補間色を使用してデータの値を表現します。stringYes直接編集
colors要素に色を付けるために使用される2色以上の色からなる配列。たとえば、値が[0, 25, 100]の要素と色の配列が[“red”, “yellow”, “green”]が与えられた場合、結果の色は次のようになります: red, orange, green。色は、16進数 (例: “#FF0000”) またはCSSカラー名 (例: “red”) のどちらで指定することもできます。stringYes直接編集
defaultColor値がnullの要素に使用されるデフォルトの色。16進色 (例: “#FF0000”) またはCSSカラー名 (例: “red”) であることができます。stringYes直接編集
opacityカラースケールの不透明度の範囲。値が0の場合は完全に透明で、値が1の場合は完全に不透明です。stringYes直接編集
linearityカラースケールの線形性を調整します。低い“linearity”値は、スケールの下端でより色の差別化を示します。値が1の場合は、完全に線形のスケールです。stringYes直接編集

IHeatgridLayerOptions

属性説明必須変更者
latitudesデータポイントの緯度の値。number[]Yes直接編集
longitudesデータポイントの経度の値。number[]Yes直接編集
valuesデータポイントの値。number[]Yes直接編集
feature各グリッドセルの描画方法を指定します。stringNo直接編集
colorScaleヒートグリッドのセルの描画に使用されるカラースケール。numberNo直接編集
granularityヒートグリッドセルのサイズ。numberNo直接編集
opacityRangeカラースケールの最小および最大の不透明度number[]No直接編集
colorScaleLinearityカラースケールの線形性を決定します。1.0は完全に線形で、0.5は平方根です。number[]No直接編集
radiusScaleサークルフィーチャーの半径の範囲を決定します。範囲の最小/最大を同じ値に設定すると、すべてのサークルが同じサイズになります。number[]No直接編集

IHeatmapLayerOptions

属性説明必須変更者
latitudesデータポイントの緯度の値。number[]Yes直接編集
longitudesデータポイントの経度の値。number[]Yes直接編集
radius各データポイントの半径。半径が地図のズームによってスケールされる場合、半径は地図のスケールで測定されます (デフォルト値: 2); それ以外の場合はピクセルで測定されます (デフォルト値: 20)。numberNo直接編集
scaleRadiusEnabledデータポイントの半径が地図のズームレベルに応じてスケールされるべきかどうかを指定します (デフォルト値: true)。booleanNo直接編集
valuesデータポイントの値。number[]Yes直接編集

ILatLng

属性説明必須変更者
latitude地図上の点の緯度値。numberYesユーザーのインタラクションまたは直接編集
longitude地図上の点の経度値。numberYesユーザーのインタラクションまたは直接編集

ILayerModel

属性説明必須変更者
optionsレイヤーのオプション。詳細については、IChoroplethLayerOptions、IHeatmapLayerOptions、ILocationLayerOptions、IShapeLayerOptions、およびIRavenLayerOptionsを参照してください。IChoroplethLayerOptions | IHeatmapLayerOptions | ILocationLayerOptions | IShapeLayerOptionsYes直接編集
type地図レイヤーのタイプ: choropleth、location、heatmap、shape、またはraven。stringYes直接編集

ILocationLayerOptions

属性説明必須変更者
clustering有効にすると、地図上のポイントがクラスタリングされます。booleanYes直接編集
cssClassesCSSエディターを通じてデフォルトのマーカー設定を上書きするために使用されるマーカーのCSSクラス名。string[]No直接編集
idsユーザー選択に基づいてselection.idsによって返されるID。string[]Yes直接編集
latitudesデータポイントの緯度の値。number[]Yes直接編集
longitudesデータポイントの経度の値。number[]Yes直接編集
weightsデータポイントの重さ、クラスターラベルの集計用 (デフォルト値: 1)。number[]No直接編集
markerTypeマーカーのタイプ、“circle”または“icon”。stringNo直接編集
markerRadius円マーカーの半径numberNo直接編集

IMapSelection

属性説明必須変更者
areasこの配列には、ドラッグ選択が有効になっている場合にユーザーが作成する選択形状が含まれています。対応している形状は、緯度/経度の境界を持つ‘rectangle’と、緯度/経度の中心と半径 (メートル単位) を持つ‘circle’です。Array<IRectangleShape | ICircleShape>Noユーザーのインタラクション
idsこの配列には、地図上で選択された位置マーカーのIDが含まれています。string[]Yesユーザーのインタラクション

IRectangleShape

属性説明必須変更者
bounds形状の緯度/経度の境界。IBoundsYesユーザーのインタラクション
type文字列‘rectangle’stringYesユーザーのインタラクション

ICircleShape

属性説明必須変更者
bounds形状の緯度/経度の境界。境界は、円を完全に含む最小の長方形として定義されます。IBoundsYesユーザーのインタラクション
center円の緯度/経度の中心。ILatLngYesユーザーのインタラクション
radius円の半径 (メートル単位)。numberYesユーザーのインタラクション
type文字列‘circle’stringYesユーザーのインタラクション

IRavenLayerFilterOptions

属性説明必須変更者
propertyNameフィルター処理するプロパティの名前。例: “City”stringYes直接編集
propertyValueフィルター処理するプロパティの値。例: “Medford”stringYes直接編集

IRavenLayerOptions

属性説明必須変更者
filter存在する場合、Ravenのメタデータに基づいてRavenのフィーチャーをフィルター処理します。IRavenLayerFilterOptionsNo直接編集
serverUriRavenサーバーへのURI。このドメインは、slate.ymlのスクリプトと画像のコンテンツセキュリティポリシーでも明示的に許可されている必要があります。stringYes直接編集

IShapeLayerOptions

属性説明必須変更者
cssClassesCSSエディターを通じてデフォルトの設定を上書きするために使用されるgeojson形状とマーカーのCSSクラス名。string[]No直接編集
idsgeoJsonファイルの“ids”にマッピングされるデータ値。これらは主に、個々のgeoJson IDにCSSクラスを割り当てるために使用されます。string[]Yes直接編集
markerTypeマーカーのタイプ、“circle”または“icon”。stringNo直接編集
markerRadius円マーカーの半径numberNo直接編集
shapeGeoJsonレイヤーの生のGeoJSON。推奨値は有効なGeoJSON オブジェクトを返すテンプレート化された関数またはクエリです。この値は、“Shape Source”が“Raw”に設定されている場合にのみ設定する必要があります。anyNo直接編集
shapeSource形状のGeoJSONがどのように取得されるかを示します。“Server Resource”を使用して、Slateサーバー上の静的なGeoJSON形状ファイルを指し示します。“Raw”を使用して、GeoJSONを直接指定します。Slateアプリケーションのサイズ制限のため、大きなGeoJSONは“Server Resource”またはクエリから取得する必要があります。anyNo直接編集
shapeUrl形状ファイルのURL。例: “resources/map/us-states.geojson”。“Shape Source”が“Server Resource”に設定されている場合にのみ、この値を設定する必要があります。stringNo直接編集

IVectorTileLayerOptions

属性説明必須変更者
baseStyleベクタータイルフィーチャーのスタイリングオプション。IVectorTileStyleOptionsNo直接編集
clickStyle選択時のベクタータイルフィーチャーのスタイリングオプション。IVectorTileStyleOptionsNo直接編集
hoverStyleホバー時のベクタータイルフィーチャーのスタイリングオプション。IVectorTileStyleOptionsNo直接編集
vectorTileOptionsベクタータイルサーバーの設定オプションIVectorTileOptionsYes直接編集

IVectorTileOptions

属性説明タイプ必須変更者
featureIdKeyフィーチャーのIDとして使用されるプロパティ名。ユニークでなければなりません。デフォルトは文字列 “id” です。文字列いいえ直接編集
layerNameサーバーから返されるレイヤーの文字列名。ベクトルタイルサーバーは1つのタイルごとに複数のレイヤーを提供できるため、これはレンダリングするレイヤーを選択するために使用されます。文字列はい直接編集
vectorTileUrl表示するタイルを提供するベクトルタイルサーバーのURL。タイルはx、y、およびズーム(z)座標で取得する必要がありますので、URLはその構造の一部として {x}、{y}、および {z} を含むべきです。文字列はい直接編集
featureIdWhitelistタイルフィーチャーをフィルター処理するための文字列または正規表現のリスト。これが非空の配列である場合、featureIdKeyが文字列または正規表現のいずれにも一致しないフィーチャーは表示されません。文字列の配列いいえ直接編集

IVectorTileStyleOptions

属性説明タイプ必須変更者
colorフィーチャーのスタイルに使用する色を表すCSS文字列。すべてのフィーチャータイプで動作します。“outline”オブジェクトのアウトライン色としても使用されます。文字列いいえ直接編集
outlineポリゴンフィーチャーのアウトラインのスタイルを表すJSONオブジェクト。“color”と“size”属性を受け入れますオブジェクトいいえ直接編集
radiusポイントフィーチャーの半径の大きさ。数値いいえ直接編集
sizeラインフィーチャーの線の厚さ。“outline”オブジェクトのアウトラインの厚さとしても使用されます。数値いいえ直接編集

テーブル

以下のテーブルは、テーブルウィジェットで使用可能なプロパティについての使用詳細を提供します。テーブルの後にいくつかの例が続きます。

プロパティ

属性説明タイプ必須変更者
bodyTooltipテーブル本体のツールチップに表示されるテキスト。bodyTooltipが省略された場合、またはnullの場合、ツールチップは表示されません。HTMLをサポートします。文字列いいえ直接編集
columnDataテーブルに表示するデータ。これは通常、テーブルに関連するクエリです。以下の例をご覧ください。{columnId: 任意の配列} (注: columnIdは文字列です)はい直接編集
columnOptions特定の行に適用されるオプション。以下のIColumnOptionを参照してください。{columnId: IColumnOption} (注: columnIdは文字列です)はい直接編集
columnOrder表示する行の順序とサブセットを示します。これはcolumnDataからの“columnId”の配列であるべきです。空の配列のままにすると、順序は非決定的になることがあります。文字列の配列はい直接編集
gridOptions以下のIGridOptionsを参照してください。IGridOptionsはい直接編集
selectedRowKeysユーザーが選択したすべての行のselectedIdentityColumnId値。任意の配列はいユーザーの操作
selectionIdentityColumnId行のユニークな識別子、またはキーを決定するために使用されるcolumnDataからのcolumnId。特定の行については、“selectionIdentityColumnId”行の値がユニークなキーを提供します。行が選択されると、ユニークなキーが“selectedRowKeys”に置かれます。文字列いいえ直接編集
serverEnabledサーバーサイドのページングとソートを有効にします。これはデフォルトでfalseに設定されています。falseのままにすると、テーブルのソートとページングはクライアント側で行われ、サーバーへの呼び出しが少なくなり、パフォーマンスが向上します。ただし、これにはすべてのデータを最初にロードする必要があるため、クライアント側でソートするテーブルではメモリが多く必要です。trueに設定すると、クエリはページングおよび/またはソートオプションを使用して返されたクエリ結果を変更する必要があります。たとえば、pageSizeが10の場合、最大10行が返されます。ブーリアンはい直接編集
tooltipPositionツールチップがレンダリングされる位置を指定します。Blueprint.Positionいいえ直接編集
tooltipsEnabledツールチップが有効かどうかを指定します。ブーリアンはい直接編集
headerTooltip行ヘッダーツールチップに表示されるテキスト。headerTooltipが省略された場合、またはnullの場合、ツールチップは表示されません。HTMLをサポートします。文字列いいえ直接編集
transposeテーブルの行と行が転置されるかどうかを示します。ブーリアンいいえ直接編集
clickEventsこのテーブルウィジェットによって公開されるクリックイベントの名前のリスト。ブーリアンはい直接編集

IColumnOption

属性説明タイプ必須変更者
horizontalAlignment行の水平方向の位置揃え:左、中央、または右。文字列いいえ直接編集
name行の表示名。文字列いいえ直接編集
width行幅の上書き。数値いいえ直接編集

IGridOptions

属性説明タイプ必須変更者
enableSelectionユーザーがテーブル上の行を選択できるかどうかを示します。ブーリアンいいえ直接編集
enableSortingユーザーがテーブル内のデータをソートできるかどうかを示します。(sortOptionsの値も設定する必要があります)ブーリアンいいえ直接編集
pagingOptions以下のITablePagingOptionsを参照してください。ITablePagingOptionsいいえ直接編集
selectionOptions以下のISelectionOptionsを参照してください。(enableSelectionもtrueに設定する必要があります)。ISelectionOptionsいいえ直接編集
sortOptions以下のISortOptionsを参照してください。(enableSortingもtrueに設定する必要があります)。ISortOptionsいいえユーザーの操作

ISelectionOptions

属性説明タイプ必須変更者
checkbox行選択の視覚的な手がかりとしてチェックボックス行を表示するかどうかを示します。ブーリアンいいえ直接編集
multiSelect複数の行を選択できるかどうかを示します。ブーリアンいいえ直接編集
selectionRequiredすべての値の選択を解除できるかどうかを指定します。有効にすると、このフラグはユーザーがウィジェット内の最終選択値を選択解除するのを防ぎます。ウィジェットが選択されていない状態から始まる場合、ユーザーが初期選択を行った後だけ選択を解除するのを防ぎます。ブーリアンいいえ直接編集

ISortOptions

属性説明タイプ必須変更者
columnIdテーブルが現在ソートされているデータフィールド。文字列はいユーザーの操作
isAscending現在のソートの方向。ブーリアンはいユーザーの操作

ITableHover

属性説明タイプ必須変更者
columnIndexホバーされているセルの行番号。列挙は0から始まります。数値はいユーザーの操作
displayValueホバーされているセルの表示値。文字列はいユーザーの操作
isHeader現在のセルがヘッダーかどうかを指定します。文字列はいユーザーの操作

ITablePagingOptions

属性説明タイプ必須変更者
currentOffset現在表示されているページ(0からインデックス付け)。数値はいユーザーの操作
pageSizeページごとに表示される結果。数値はい直接編集
totalServerItems利用可能な結果の総数(必要なページ数を計算するために使用されます)。数値いいえ直接編集

ダイナミックテーブル

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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 { "columnData": "{{query1}}", "columnOptions": { "id": { "name": "ID", // ID "width": 50 }, "name": { "name": "Full Name" // 氏名 }, "address": { "name": "Home Address" // 自宅住所 }, "phone_number": { "name": "Phone Number" // 電話番号 }, "score": { "name": "Score", // スコア "horizontalAlignment": "right" } }, "columnOrder": [ "id", "name", "address", "phone_number", "score" ], "gridOptions": { "enableSelection": true, // 選択を有効にする "enableSorting": true, // ソートを有効にする "pagingOptions": { "currentOffset": 0, "pageSize": 10, "totalServerItems": 100 }, "selectionOptions": { "checkbox": false, "multiSelect": true // 複数選択を許可 }, "sortOptions": { "columnId": "score", "isAscending": false // 降順で並び替え } }, "selectedRowKeys": [], "selectionIdentityColumnId": "id", "serverEnabled": true, // サーバーを有効にする "tooltipsEnabled": false // ツールチップを無効にする }

スタティックテーブル

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 { "columnData": { // 列データ "staticOptions": [ // 静的オプション "option1", // オプション1 "option2", // オプション2 "option3" // オプション3 ] }, "columnOptions": {}, // 列のオプション "columnOrder": [], // 列の順序 "gridOptions": { // グリッドのオプション "enableSelection": true, // 選択を有効にする "selectionOptions": { // 選択オプション "checkbox": true, // チェックボックスを有効にする "multiSelect": false // 複数選択を無効にする } }, "selectedRowKeys": [], // 選択された行のキー "selectionIdentityColumnId": "staticOptions", // 選択のアイデンティティ列ID "serverEnabled": false, // サーバーを有効にする "tooltipsEnabled": false // ツールチップを有効にする }

デフォルト

Copied!
1 2 3 4 5 6 7 8 9 { "columnOptions": {}, // 列オプション:各列の特性を定義するオプション "columnOrder": [], // 列の順序:データグリッドの列の順序を指定します "gridOptions": {}, // グリッドオプション:データグリッド全体の設定を指定します "selectedRowKeys": [], // 選択された行のキー:選択された行の識別キーのリスト "selectionIdentityColumnId": "Metric", // 選択識別列ID:選択の識別に使用される列のID "serverEnabled": false, // サーバー有効:サーバーサイドの操作を有効にするかどうか "tooltipsEnabled": false // ツールチップ有効:データグリッドのツールチップを有効にするかどうか }

チュートリアル:テーブルウィジェットの追加

例えば、フライトデータを表示するテーブルウィジェットを追加したいとします。左上の Widget ボタンを選択し、Visualization > Table を選択して、Slateアプリケーションにテーブルウィジェットを追加します。

テーブルウィジェットの名前を識別しやすいものに変更します。プロパティエディタでウィジェットの名前を選択し、それを w_flightTable に変更します。

テーブルを q_allFlights クエリを使用するように設定します。Data フィールドに "{{q_allFlights}}" を入力します。データがテーブルに反映されるはずです。

table-populated

"{{q_allFlights}}" は純粋なJSON構文ではありません。括弧はHandlebars構文で、各表現は {{expression}} として表現されます。Slateでの使用方法については、Handlebars を参照してください。

テーブルには正しいデータが表示されていますが、フォーマットを改善することも可能です。 Add all columns を選択して、基本データの各行のフォーマットオプションを表示します。

flight_id 行は人間が読める形式ではないので、一旦その行を非表示にします。ただし、1つ以上の行を選択する機能を設定する際に参照するため、テーブル内にはその行を保持します。

他の行については、表示名を Title として選択し、MomentJS のフォーマット文字列を使用してタイムスタンプを綺麗に表示します。

table-column-formatting

これで、全てのデータを綺麗に表示するテーブルが完成しました:

table-formatted-columns

次に、ユーザーがテーブルで選択やソーティングを通じてどのようにインタラクションできるかを設定します。

プロパティエディタの Misc タブに切り替え、Allow SelectionEnable Sorting をチェックします。これで、ユーザーは列を直接選択してテーブルを異なる方法でソートしたり、特定の行を選択することができます。

最後に、テーブル内の特定の行の一意の識別子として何を使用するかを決定します。このケースでは、フライトの名前を使用します。 Key column ID とラベル付けされたドロップダウンで flight_id を選択します。

table-misc-tab

Server Paging/Sorting オプションがチェックされていない場合、テーブルはすでに読み込まれたデータのみをソートし、ページを切り替えます。これは、今回の例ではテーブルの最初の10行だけです。Slateでは、ブラウザのメモリに5-10k行を信頼性高く読み込むことができますが、これはユーザーのブラウザタブで利用可能なリソースに制約されます。

ほとんどの状況では、サーバーサイドのページングとソーティングを設定するのがベストプラクティスです。Foundry Reference Projectの last-mile-flights テーブルには約75kのフライトがあり、flights テーブルには約400万のフライトがありますので、すべての結果を一度にフロントエンドに持ってくることはできません。

ページングとソーティングの設定

Enable PagingServer Paging/Sorting のチェックボックスをチェックします。 Page Size に数値を設定して、一度にユーザーに表示する行の数を設定します。

これらのオプションを有効にすると、テーブルは現在のページを記録します。この情報をクエリに使用して、表示する必要のある行だけを取得します。

クエリエディタを開き、 q_allFlights に戻ります。テーブルで設定したページサイズを反映させるために LIMIT 文を更新し、正しいページの結果を得るためにPostgresに OFFSET 文を追加します。

テーブルウィジェットからクエリにデータを含めるために使用した同じHandlebars構文を使用して、クエリ内からテーブルウィジェットの状態を参照します:

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 SELECT flight_id, -- フライトID carrier_code, -- 運送業者コード tail_num, -- 機体番号 origin, -- 出発地 dest, -- 目的地 dep_ts_utc, -- 出発時刻 (UTC) arr_ts_utc, -- 到着時刻 (UTC) distance, -- 距離 actual_elapsed_time -- 実際の経過時間 FROM "foundry_sync"."{{v_flightTable}}" LIMIT {{w_flightTable.gridOptions.pagingOptions.pageSize}} -- 表示件数の制限 OFFSET {{w_flightTable.gridOptions.pagingOptions.currentOffset}} -- 表示開始位置

これで、テーブルは一度に 20 行を表示し、次のボタンを選択するか、特定のページにジャンプできます。次に、テーブルウィジェットに行の合計数を知らせて、「合計エントリ」を正しく表示させます。

これを行うには、新しいクエリ q_flightCount を作成し、行の数をカウントします:

Copied!
1 2 3 SELECT COUNT(flight_id) as num_flights -- 飛行IDの数(num_flightsとして名付けられ)を選択します FROM "foundry_sync"."{{v_flightTable}}" -- "foundry_sync"の"{{v_flightTable}}"から

Update を選択してクエリを保存し、テーブルウィジェットの Misc タブに戻ります。Server Total 入力では、ハンドルバーを使用してクエリ内のカウントを参照します:

{{q_flightCount.num_flights.[0]}}  # 飛行回数の総数を取得

これで、私たちのテーブルは、総エントリー数(flights データセットの場合は420万、last-mile-flightsの場合は73,946)の中から特定の行セットを表示していることを理解しています。

これによりページングが行われ、大規模なデータセットをブラウザーの重荷にならずに、またクエリがタイムアウトすることなく反復処理できるようになります。しかし、まだクエリがユーザーのテーブルとのやり取りに対応するように、サーバーサイドのソートをオンにする必要があります。

q_allFlightsに戻って、クエリにORDER BY句を追加します。pagingOptions.pageSizepagingOptions.currentOffsetを参照したのと同じように、.sortOptions.columnId.sortOptions.isAscendingを参照して、正しいSQL文を作成します:

Copied!
1 2 3 4 5 6 7 8 9 -- 以下のコードは、指定されたカラムIDに基づいてデータを並べ替えます ORDER BY {{w_flightTable.gridOptions.sortOptions.columnId}} -- もし昇順であれば、ASC(昇順)を使用します {{#if w_flightTable.gridOptions.sortOptions.isAscending}} ASC -- それ以外の場合は、DESC(降順)を使用します {{else}} DESC {{/if}}

新たに利用できるようになった条件付きHandlebarsブロックステートメントが表示されます。このステートメントを使用すると、テキストの補間にロジックを注入できます。この場合、ユーザーがテーブルで選択した内容に基づいて、ASC または DESC を選択できます。

Handlebarsは、Slateアプリケーションに簡単なロジックを注入するのに便利ですが、大規模なアプリケーションにより複雑なロジックを追加する場合は、一般的に関数を使用することをお勧めします。

これで、クエリ全体は次のようになります。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -- 以下のクエリは、航空便の情報を選択し、指定されたソートオプションとページングオプションで並べ替えるものです。 SELECT flight_id, -- フライトID carrier_code, -- キャリアコード tail_num, -- 機体番号 origin, -- 出発地 dest, -- 目的地 dep_ts_utc, -- 出発時刻(UTC) arr_ts_utc, -- 到着時刻(UTC) distance, -- 距離 actual_elapsed_time -- 実際の所要時間 FROM "foundry_sync"."{{v_flightTable}}" -- フライトテーブル -- ソートオプションに基づいて並べ替え ORDER BY {{w_flightTable.gridOptions.sortOptions.columnId}} {{#if w_flightTable.gridOptions.sortOptions.isAscending}} ASC -- 昇順 {{else}} DESC -- 降順 {{/if}} -- ページングオプションに基づいて結果を制限 LIMIT {{w_flightTable.gridOptions.pagingOptions.pageSize}} -- 1ページあたりの表示件数 OFFSET {{w_flightTable.gridOptions.pagingOptions.currentOffset}} -- 現在のオフセット

表示する情報を一目で説明するタイトルをテーブルにつけます。

Widget ボタンを選択し、オプションからプレーンな Text ウィジェットを選択します。

Text ウィジェットにテーブルのタイトルを入力します: All Flights または Last Mile Flights が適切です。

テキストウィジェットをテーブルの左上隅に移動し、グリッドラインを使ってすべてが整列するようにします。

次に、タイトルとサブタイトルの下にテーブルを正しく並べます。 Cmd キーを押しながら両方のウィジェットを選択(またはドラッグ選択)して、アプリケーションタイトルの下に正しく整列するように両方のウィジェットを移動します。

ユーザーのアプリケーションは次のようになり、完成したテーブルウィジェットが表示されます。ここから行を選択してテーブルをソートできます。

sorted-table


トースト

以下のテーブルでは、トーストウィジェットに利用できるプロパティについての使用詳細を提供します。テーブルの後にはいくつかの例が続きます。

プロパティ

属性説明タイプ必須変更者
actionTextアクションボタンに表示するテキストstringYes直接編集
hasActionトーストにアクションボタンがあるかどうかを指定します。booleanYes直接編集
intentトーストの視覚的な意図の色。stringYes直接編集
messageトーストのメッセージ。stringYes直接編集
timeoutトーストが自動的に閉じられるまでのミリ秒。0以下の値を提供するとタイムアウトが無効になります。numberYes直接編集

アクション

アクション名説明
closeこのアクションをトリガーするとトーストが閉じます。
openこのアクションをトリガーするとトーストが開きます。

イベント

イベント名説明
didCloseトーストが完全に閉じたときにこのイベントが発火します。
didOpenトーストが完全に開いたときにこのイベントが発火します。
clickトーストのアクションボタンがクリックされたときにこのイベントが発火します。

トースト

Copied!
1 2 3 4 5 6 7 { "actionText": "Toast Example", // "アクションテキスト":「トーストの例」 "hasAction": false, // "アクションの有無":なし(false) "intent": -1, // "インテント":-1 "message": "Toast Message", // "メッセージ":「トーストメッセージ」 "timeout": 600 // "タイムアウト":600 }

デフォルト

Copied!
1 2 3 4 5 6 7 { "actionText": "Action!", // アクションテキスト: アクションを表す文字列 "hasAction": false, // アクション有無: アクションがある場合はtrue、ない場合はfalse "intent": -1, // 意図: アクションの意図を表す数値(-1は未定義を表す) "message": "Message", // メッセージ: ユーザに表示するメッセージ "timeout": 3000 // タイムアウト: アクションがタイムアウトするまでの時間(ミリ秒) }

ツリー

以下の表は、ツリー・ウィジェットに利用できるプロパティについての使用詳細を提供します。

プロパティ

属性説明タイプ必須変更者
contentsBlueprintの ITreeNode コンポーネントからの構造を使用して、JSONでデータの階層を含む。jsonはい直接編集
selected選択されたノードのIDjsonはい直接編集
selectionType選択のタイプを決定 - 'なし'、'単一'、または '複数'。stringはい直接編集

デフォルト

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 { "contents": [ { // 子ノード "childNodes": [ {id: 3, label: "bar 1"}, // ID 3、ラベル「bar 1」 {id: 4, label: "bar 2"} // ID 4、ラベル「bar 2」 ], // アイコン名 "iconName": "folder-close", // ID "id": 1, // ラベル "label": "bars", }, { // ID "id": 2, // ラベル "label": "foo" } ], // 検索テキスト "searchText": "", // 選択されたノード "selectedNodes": [], // 選択タイプ "selectionType": SelectionType.SINGLE }