FeatureView
アセット内の特徴のスタイルは、JavaScript オブジェクトで定義されたルールを使用して指定します。スタイルは、FeatureViewLayer
の初期定義時またはその後の任意の時点で設定できます。スタイリング システムでは、対象物の大規模なグループに適用される幅広いスタイルルールと、特定の対象物に適用されるより具体的なルールを設定できます。対象物のスタイルは、対象物の特性に基づいて、定数値またはデータドリブンで定義できます。
スタイル オブジェクト
スタイル オブジェクトの基本構造は次のとおりです。ルールには、包括的なルールと具体的なルールの 2 種類があります。ブロードルールは FeatureView
アセット内のすべての対象物に適用されますが、特定のルールは対象物の一部に適用されます。
{
// Broad style rules.
opacity: …,
polygonFillColor: …,
// Specific style rules.
rules: [
{ … },
{ … }
]
};
Broad ルール
すべての対象物(または特定のジオメトリ タイプの対象物)にスタイル プロパティを適用するには、スタイル オブジェクトの最上位レベルでスタイル プロパティを指定します。
{
opacity: 0.5,
pointShape: 'triangle',
lineWidth: 10,
polygonFillColor: 'green'
};
固有のルール
対象物の一部にスタイル プロパティを適用するには、rules
フィールドを使用します。rules
フィールドは、JavaScript オブジェクトのリストを受け入れます。各オブジェクトには、ee.Filter
オブジェクトで定義された条件に従って特徴を選択する filter
があり、その後に一連のスタイル プロパティが続きます。次の例では、「REP_AREA」プロパティが 100 未満の場合にのみ、polygonStrokeWidth
と polygonFillColor
を設定するルールがあります。特定のルールは、包括的なルールのスタイル プロパティをオーバーライドします。また、rules
リストの末尾近くにあるルールは、先頭近くにあるルールをオーバーライドします(特定のルールは先頭から順に評価されます)。
{
rules: [
{
filter: ee.Filter.lt('REP_AREA', 100),
polygonStrokeWidth: 0.5,
polygonFillColor: 'blue'
},
{ … } // Optionally include additional rules.
]
};
設定スタイル
特徴スタイルは、FeatureViewLayer
が宣言されたとき、またはその後の任意の時点で設定できます。
FeatureViewLayer
件の申告
FeatureViewLayer
を宣言するときに可視化パラメータを設定するには、visParams
パラメータを使用します。
var visParams = {
opacity: 0.5,
lineWidth: 10,
polygonFillColor: 'purple'
};
var layer = ui.Map.FeatureViewLayer({
assetId: 'WCMC/WDPA/current/polygons_FeatureView',
visParams: visParams
});
Map.add(layer);
既存のFeatureViewLayer
既存の FeatureViewLayer
の可視化パラメータを設定するには、setVisParams
関数を使用します。以前に指定されたスタイルルールはすべて置き換えられ、指定されていないプロパティはデフォルトに設定されます。
var layer = ui.Map.FeatureViewLayer('WCMC/WDPA/current/polygons_FeatureView');
Map.add(layer);
layer.setVisParams({
opacity: 0.5,
lineWidth: 10,
polygonFillColor: 'purple'
});
シンボル
スタイル プロパティごとに、定数スタイルルールまたはデータドリブン スタイルルールを指定できます。データドリブン オプションでは、特徴プロパティ値を使用してシンボルを決定します。シンボルは、カテゴリ型または補間型のいずれかです。スタイル プロパティの一覧については、スタイル プロパティの表をご覧ください。
定数
定数スタイルルールは、設定するスタイル プロパティとその値で構成されます。次の例では、ポリゴンの塗りつぶしの色を青に設定しています。
var visParams = {
polygonFillColor: 'blue'
};
カテゴリ
カテゴリ スタイルルールは、設定するスタイル プロパティと、次の 3 つのプロパティを持つ JavaScript オブジェクトで構成されます。
property
- 値がスタイルに影響する特徴プロパティ名。categories
- 対象物プロパティ値をスタイル プロパティのシンボル ogie にマッピングするリストのリスト。各カテゴリには、プロパティ値の後に適用するシンボル値が続きます。カテゴリを定義するプロパティ値は文字列である必要があります。defaultValue
- プロパティ値がcategories
で定義されていない特徴に適用するデフォルトのシンボル。null または未定義の場合、デフォルトのスタイル設定が適用されます。
たとえば、次のオブジェクトは、「MARINE」特徴プロパティに基づいて color
スタイル プロパティを設定します。「MARINE」カテゴリ「0」の対象物は紫、「1」は緑、「2」は青、その他のカテゴリは白に設定されます。
var visParams = {
color: {
property: 'MARINE',
categories: [
['0', 'purple'],
['1', 'green'],
['2', 'blue']
],
defaultValue: 'white'
}
};
補間
補間されたスタイルルールは、設定するスタイル プロパティと、最大 5 つのプロパティを持つ JavaScript オブジェクトで構成されます。
property
- 値がスタイルに影響する特徴プロパティ名。mode
- 補間モード('linear'
または'interval'
)。palette
- 入力プロパティ値を補間する色、不透明度、幅のリスト。形式はmode
によって異なります。詳しくは、リニアと区間のセクションをご覧ください。
'linear'
モードにのみ適用
min
-palette
リストの最初の要素にマッピングするプロパティ値。max
-palette
リストの最後の要素にマッピングするプロパティ値。
線形
線形補間モードでは、palette
プロパティで定義されたシンボル値のリスト間で、min
~max
の範囲内の入力値を線形にマッピングすることで、特徴スタイル プロパティが設定されます。入力値は、min
と max
で設定された範囲にクランプされます。
たとえば、次のオブジェクトは、「REP_AREA」特徴プロパティに基づいて color
スタイル プロパティを設定します。palette
プロパティは、min
~max
の入力値が黄色から赤、青へと線形に変化することを示す色のリストです。1 ~ 500 の値は黄色と赤の間で補間され、500 ~ 1000 の値は赤と青の間で補間されます。
var visParams = {
color: {
property: 'REP_AREA',
mode: 'linear',
palette: ['yellow', 'red', 'blue'],
min: 1,
max: 1000
}
};
間隔
区間の補間モードでは、入力値をクラスブレークにマッピングし、クラス固有のシンボルを適用することで、対象物のスタイル プロパティを設定します。選択した特徴プロパティからの入力値は、切り捨てられて最も近いクラス分割値に割り当てられます。palette
プロパティはリストのリストとしてフォーマットされます。各内部リストには、クラスブレーク値の後にスタイル プロパティ値が含まれます。プロパティ値がクラス分割の最小値未満の特徴は、デフォルトのスタイル プロパティ設定を維持します。
次の例では、特徴塗りつぶしの不透明度は「REP_AREA」プロパティの分類クラスに応じて設定されています。クラス定義とスタイル記号は、リストのリストとして palette
プロパティに指定します。これは、値 0、80、2,000、5,000 で分割され、それぞれの特徴のオパシティが 0.5、0.35、0.22、0.15 の 4 つのクラスがあることを示します。つまり、「REP_AREA」の値が $ 0 \le x < 80 $ の特徴は塗りつぶしオパシティが 0.5、$ 80 \le x < 2000 $ の値は塗りつぶしオパシティが 0.35 になります。
var visParams = {
fillOpacity: {
property: 'REP_AREA',
mode: 'interval',
palette: [
[0, 0.5],
[80, 0.35],
[2000, 0.22],
[5000, 0.15]
]
}
};
すべてのスタイル プロパティ
次の表に、スタイル オブジェクトで指定できるすべてのスタイル プロパティを示します。特定のジオメトリ タイプにスタイル プロパティを設定すると、「すべてのジオメトリ」に設定された対応するスタイル プロパティがオーバーライドされます(たとえば、polygonFillColor
を設定すると、fillColor
に設定された値がオーバーライドされます)。
プロパティ | タイプ | 説明 | 補間ルールをサポート |
---|---|---|---|
すべてのジオメトリ | |||
isVisible |
Boolean |
特徴を表示するかどうかを設定します。 | いいえ |
color |
String |
すべてのジオメトリ タイプに塗りつぶし/ストロークの色を設定します。16 進数値または CSS3 カラーにする必要があります。 | ○ |
opacity |
Double |
すべてのジオメトリ タイプの塗りつぶし/ストロークの不透明度を設定します。0 ~ 1 の範囲の浮動小数点数にする必要があります。 | ○ |
width |
Double |
すべてのジオメトリ タイプにストローク幅を設定します。 | ○ |
fillColor |
String |
すべてのジオメトリ タイプに塗りつぶし色を設定します。16 進数値または CSS3 カラーにする必要があります。 | ○ |
ポイント ジオメトリ | |||
pointShape |
String |
ポイント ジオメトリの形状を設定します。ee.FeatureCollection.style と同じ形状(円、正方形、菱形、十字、プラス、五芒星、六芒星、三角形、三角形_上、三角形_下、三角形_左、三角形_右、五角形、六角形、星 5、星 6)をサポートします。 |
いいえ |
pointSize |
Double |
ポイント ジオメトリの幅をピクセル単位で設定します。 | ○ |
pointFillColor |
String |
ポイント ジオメトリの塗りつぶしの色を設定します。16 進数値または CSS3 カラーにする必要があります。 | ○ |
pointFillOpacity |
Double |
ポイント ジオメトリの塗りつぶしの不透明度を設定します。0 ~ 1 の範囲の浮動小数点数にする必要があります。 | ○ |
ライン ジオメトリ | |||
lineType |
String |
線のタイプを設定します。ee.FeatureCollection.style と同じタイプ(実線、破線、点線)をサポートします。 |
いいえ |
lineWidth |
Double |
線の幅をピクセル単位で設定します。 | ○ |
lineColor |
String |
線形ジオメトリの色を設定します。16 進数値または CSS3 カラーにする必要があります。 | ○ |
lineOpacity |
Double |
ライン ジオメトリの不透明度を設定します。0 ~ 1 の範囲の浮動小数点数にする必要があります。 | ○ |
ポリゴン ジオメトリ | |||
polygonStrokeWidth |
Double |
ポリゴンのストローク幅を設定します(ピクセル単位)。 | ○ |
polygonStrokeType |
String |
ポリゴンの線のタイプを設定します。ee.FeatureCollection.style と同じタイプ(実線、破線、点線)をサポートします。 |
いいえ |
polygonStrokeColor |
String |
ポリゴン ジオメトリのストロークの色を設定します。16 進数値または CSS3 カラーにする必要があります。 | ○ |
polygonStrokeOpacity |
Double |
ポリゴン ジオメトリのストロークの不透明度を設定します。0 ~ 1 の範囲の浮動小数点数にする必要があります。 | ○ |
polygonFillColor |
String |
ポリゴン ジオメトリの塗りつぶしの色を設定します。16 進数値または CSS3 カラーにする必要があります。 | ○ |
polygonFillOpacity |
Double |
ポリゴン ジオメトリの塗りつぶしの不透明度を設定します。0 ~ 1 の範囲の浮動小数点数にする必要があります。 | ○ |