FeatureView-Stil

Der Stil der Features in einem FeatureView-Asset wird mithilfe von Regeln angegeben, die in einem JavaScript-Objekt definiert sind. Der Stil kann bei der Erstdefinition einer FeatureViewLayer oder jederzeit danach festgelegt werden. Mit dem Stilsystem können Sie allgemeine Stilregeln für große Gruppen von Elementen sowie spezifischere Regeln für bestimmte Elemente festlegen. Der Feature-Stil kann anhand von konstanten Werten oder datengetrieben basierend auf den Feature-Eigenschaften definiert werden.

Stilobjekt

Die grundlegende Struktur eines Stilobjekts ist unten dargestellt. Es gibt zwei Arten von Regeln: allgemeine Regeln und spezifische Regeln. Allgemeine Regeln wirken sich auf alle Funktionen in einem FeatureView-Asset aus, während sich spezifische Regeln auf eine Teilmenge der Funktionen auswirken.

{
  // Broad style rules.
  opacity: ,
  polygonFillColor: ,

  // Specific style rules.
  rules: [
    {  },
    {  }
  ]
};

Allgemeine Regeln

Wenn Sie Stileigenschaften auf alle Features oder auf Features eines bestimmten Geometriestyps anwenden möchten, geben Sie die Stileigenschaften auf der obersten Ebene im Stilobjekt an.

{
  opacity: 0.5,
  pointShape: 'triangle',
  lineWidth: 10,
  polygonFillColor: 'green'
};

Spezifische Regeln

Wenn Sie Stileigenschaften auf eine Teilmenge von Elementen anwenden möchten, verwenden Sie das Feld rules. Das Feld rules akzeptiert eine Liste von JavaScript-Objekten, die jeweils ein filter enthalten, mit dem Elemente gemäß den Bedingungen ausgewählt werden, die in einem ee.Filter-Objekt definiert sind. Anschließend folgen eine Reihe von Stileigenschaften. Im folgenden Beispiel wird durch eine Regel festgelegt, dass polygonStrokeWidth und polygonFillColor nur dann festgelegt werden, wenn das Attribut „REP_AREA“ kleiner als 100 ist. Spezifische Regeln überschreiben die Stileigenschaften allgemeiner Regeln. Regeln am Ende der Liste rules überschreiben die am Anfang stehenden. Spezifische Regeln werden von Anfang bis Ende ausgewertet.

{
  rules: [
    {
      filter: ee.Filter.lt('REP_AREA', 100),
      polygonStrokeWidth: 0.5,
      polygonFillColor: 'blue'
    },
    {  }  // Optionally include additional rules.
  ]
};

Stil der Einstellung

Der Elementstil kann beim Deklarieren einer FeatureViewLayer oder jederzeit danach festgelegt werden.

FeatureViewLayer Erklärung

Verwenden Sie den Parameter visParams, um die Visualisierungsparameter bei der Deklaration einer FeatureViewLayer festzulegen.

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);

Vorhandene FeatureViewLayer

Mit der Funktion setVisParams können Sie die Visualisierungsparameter für eine vorhandene FeatureViewLayer festlegen. Er ersetzt alle zuvor angegebenen Stilregeln. Nicht angegebene Eigenschaften werden auf ihre Standardwerte gesetzt.

var layer = ui.Map.FeatureViewLayer('WCMC/WDPA/current/polygons_FeatureView');
Map.add(layer);

layer.setVisParams({
  opacity: 0.5,
  lineWidth: 10,
  polygonFillColor: 'purple'
});

Symbologie

Für jede Stileigenschaft können Sie entweder eine konstante Stilregel oder eine datengestützte Stilregel angeben. Bei der datengestützten Option werden Werte von Feature-Properties verwendet, um die Symbolisierung zu bestimmen. Diese kann entweder kategorisch oder interpoliert sein. Eine vollständige Liste der Stileigenschaften finden Sie in der Tabelle mit Stileigenschaften.

Konstante

Eine Regel für einen konstanten Stil besteht aus einer Stileigenschaft, die festgelegt werden soll, und ihrem Wert. Im folgenden Beispiel wird die Füllfarbe des Polygons auf Blau festgelegt.

var visParams = {
  polygonFillColor: 'blue'
};

Kategorial

Eine kategorische Stilregel besteht aus einer zu setzenden Stileigenschaft und einem JavaScript-Objekt mit drei Eigenschaften:

  • property: Name einer Feature-Property, deren Wert sich auf den Stil auswirkt.
  • categories – eine Liste von Listen, in denen Werte von Feature-Attributen Symbologien von Stilattributen zugeordnet werden. Jede Kategorie enthält einen Attributwert, gefolgt von einem anzuwendenden Symbologiewert. Der Property-Wert, der eine Kategorie definiert, muss ein String sein.
  • defaultValue: Standardsymbologie, die auf Elemente angewendet wird, deren Attributwert nicht in categories definiert ist. Wenn der Wert null oder nicht definiert ist, werden die Standardstileinstellungen angewendet.

Im folgenden Beispiel wird die Stileigenschaft color anhand des Elementattributs „MARINE“ festgelegt. Elemente in der Kategorie „MARINE“ mit der Zahl „0“ sind lila, „1“ ist grün, „2“ ist blau und alle anderen Kategorien sind weiß.

var visParams = {
  color: {
    property: 'MARINE',
    categories: [
      ['0', 'purple'],
      ['1', 'green'],
      ['2', 'blue']
    ],
    defaultValue: 'white'
  }
};

Interpoliert

Eine interpolierte Stilregel besteht aus einer Stileigenschaft, die festgelegt werden soll, und einem JavaScript-Objekt mit bis zu fünf Eigenschaften:

  • property: Name einer Feature-Property, deren Wert sich auf den Stil auswirkt.
  • mode: der Interpolationsmodus, entweder 'linear' oder 'interval'.
  • palette: Liste von Farben, Deckkraftgraden oder Breiten, zwischen denen Eingabeeigenschaftswerte interpoliert werden sollen. Das Format hängt von der mode ab. Weitere Informationen finden Sie in den Abschnitten Linear und Intervall.

Gilt nur für den 'linear'-Modus

  • min: der Property-Wert, der dem ersten Element in der Liste palette zugeordnet werden soll.
  • max: Der Attributwert, der dem letzten Element in der Liste palette zugeordnet werden soll.

Linear

Im Modus „Lineare Interpolation“ wird eine Eigenschaft des Feature-Stils festgelegt, indem Eingabewerte im Bereich von min bis max linear zwischen einer Liste von Symbolwerten zugeordnet werden, die in der Eigenschaft palette definiert sind. Die Eingabewerte werden auf den Bereich begrenzt, der durch min und max festgelegt ist.

Im folgenden Beispiel wird die Stileigenschaft color beispielsweise anhand des Elementattributs „REP_AREA“ festgelegt. Die Eigenschaft palette ist eine Liste von Farben, die angibt, dass Eingabewerte zwischen min und max linear von gelb über rot zu blau abstufen sollten. Ein Wert zwischen 1 und 500 wird zwischen gelb und rot interpoliert und ein Wert zwischen 500 und 1.000 wird zwischen rot und blau interpoliert.

var visParams = {
  color: {
    property: 'REP_AREA',
    mode: 'linear',
    palette: ['yellow', 'red', 'blue'],
    min: 1,
    max: 1000
  }
};

Intervall

Im Intervallinterpolationsmodus wird eine Feature-Stileigenschaft festgelegt, indem Eingabewerte zu Klassenunterbrechungen zugeordnet und dann eine klassenspezifische Symbologie angewendet wird. Eingabewerte aus der ausgewählten Feature-Eigenschaft werden durch Abrundung auf den nächsten Klassengrenzwert zugewiesen. Die Eigenschaft palette ist als Liste von Listen formatiert, wobei jede innere Liste einen Wert für die Kursunterbrechung gefolgt von einem Wert für die Stileigenschaft enthält. Für Elemente, deren Attributwert unter dem Mindestwert für die Klassenunterbrechung liegt, bleibt die Standardeinstellung des Stilattributs erhalten.

Im folgenden Beispiel wird die Deckkraft der Featurefüllung gemäß den abgestuften Klassen des Attributs „REP_AREA“ festgelegt. Die Klassendefinition und die Stilsymbologie werden in der Property palette als Liste von Listen bereitgestellt. Das bedeutet, dass es vier Klassen mit Unterbrechungen bei den Werten 0, 80, 2.000 und 5.000 geben sollte, mit den jeweiligen Elementopazitäten 0,5, 0,35, 0,22 und 0,15. Mit anderen Worten: Elemente mit „REP_AREA“-Werten im Intervall $ 0 \le x < 80 $ haben eine Füllundurchsichtigkeit von 0, 5, Werte im Intervall $ 80 \le x < 2000 $ eine Füllundurchsichtigkeit von 0, 35 usw.

var visParams = {
  fillOpacity: {
    property: 'REP_AREA',
    mode: 'interval',
    palette: [
      [0, 0.5],
      [80, 0.35],
      [2000, 0.22],
      [5000, 0.15]
    ]
  }
};

Alle Stileigenschaften

Im Folgenden finden Sie alle Stileigenschaften, die Sie im Stilobjekt angeben können. Wenn Sie Stileigenschaften für bestimmte Geometrietypen festlegen, werden die entsprechenden Stileigenschaften für „Alle Geometrien“ überschrieben. Wenn Sie beispielsweise polygonFillColor festlegen, wird der in fillColor festgelegte Wert überschrieben.

Attribut Typ Beschreibung Unterstützt interpolierte Regel
Alle Geometrien
isVisible Boolean Legt fest, ob die Funktion sichtbar ist. Nein
color String Legt die Füll-/Strichfarbe für alle Geometrietypen fest. Muss ein Hexadezimalwert oder eine CSS3-Farbe sein. Ja
opacity Double Legt die Deckkraft für Füllung/Strich für alle Geometrietypen fest. Muss ein Doppelt-Wert zwischen 0 und 1 sein. Ja
width Double Hiermit wird die Strichbreite für alle Geometrietypen festgelegt. Ja
fillColor String Hiermit wird die Füllfarbe für alle Geometrietypen festgelegt. Muss ein Hexadezimalwert oder eine CSS3-Farbe sein. Ja
Punktgeometrien
pointShape String Hiermit wird die Form von Punktgeometrien festgelegt. Unterstützt dieselben Formen wie ee.FeatureCollection.style (Kreis, Quadrat, Raute, Kreuz, Pluszeichen, Pentagram, Hexagramm, Dreieck, Dreieck_oben, Dreieck_unten, Dreieck_links, Dreieck_rechts, Fünfeck, Sechseck, Stern5, Stern6). Nein
pointSize Double Legt die Breite von Punktgeometrien in Pixeln fest. Ja
pointFillColor String Legt die Füllfarbe für Punktgeometrien fest. Muss ein Hexadezimalwert oder eine CSS3-Farbe sein. Ja
pointFillOpacity Double Legt die Fülldeckkraft für Punktgeometrien fest. Muss eine doppelte Zahl zwischen 0 und 1 sein. Ja
Linienelemente
lineType String Legt den Linientyp fest. Unterstützt dieselben Typen wie ee.FeatureCollection.style (durchgezogen, gepunktet, gestrichelt). Nein
lineWidth Double Hiermit wird die Linienbreite in Pixeln festgelegt. Ja
lineColor String Legt die Farbe für Liniengeometrien fest. Muss ein Hexadezimalwert oder eine CSS3-Farbe sein. Ja
lineOpacity Double Legt die Deckkraft für Liniengeometrien fest. Muss ein Doppelt-Wert zwischen 0 und 1 sein. Ja
Polygongeometrien
polygonStrokeWidth Double Legt die Strichbreite von Polygonen in Pixeln fest. Ja
polygonStrokeType String Hiermit wird der Linientyp für Polygone festgelegt. Unterstützt dieselben Typen wie ee.FeatureCollection.style (durchgezogen, gepunktet, gestrichelt). Nein
polygonStrokeColor String Legt die Strichfarbe für Polygongeometrien fest. Muss ein Hexadezimalwert oder eine CSS3-Farbe sein. Ja
polygonStrokeOpacity Double Legt die Strichdeckkraft für Polygongeometrien fest. Muss ein Doppeltpräfix zwischen 0 und 1 sein. Ja
polygonFillColor String Füllfarbe für Polygongeometrien festlegen Muss ein Hexadezimalwert oder eine CSS3-Farbe sein. Ja
polygonFillOpacity Double Legt die Fülldeckkraft für Polygongeometrien fest. Muss ein Doppeltpräfix zwischen 0 und 1 sein. Ja