استایل‌نمای ویژگی

سبک ویژگی ها در یک دارایی FeatureView با استفاده از قوانین تعریف شده در یک شی جاوا اسکریپت مشخص می شود. Style را می توان در طول تعریف اولیه FeatureViewLayer یا هر زمان پس از آن تنظیم کرد. سیستم یک ظاهر طراحی شده به شما امکان می‌دهد قوانین سبک گسترده‌ای را که برای گروه‌های بزرگی از ویژگی‌ها اعمال می‌شود، و همچنین قوانین خاص‌تری برای ویژگی‌های خاص تنظیم کنید. سبک ویژگی را می توان با مقادیر ثابت یا مبتنی بر داده ها بر اساس ویژگی های ویژگی تعریف کرد.

شیء سبک

ساختار اصلی یک شیء سبک در زیر نشان داده شده است. دو نوع قانون وجود دارد: قوانین گسترده و قوانین خاص. قوانین گسترده بر تمام ویژگی های دارایی FeatureView تأثیر می گذارد، در حالی که قوانین خاص بر زیر مجموعه ای از ویژگی ها تأثیر می گذارد.

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

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

قوانین گسترده

برای اعمال ویژگی های سبک برای همه ویژگی ها (یا ویژگی های یک نوع هندسه خاص)، ویژگی های سبک را در سطح بالایی در شی استایل مشخص کنید.

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

قوانین خاص

برای اعمال ویژگی های سبک به زیر مجموعه ای از ویژگی ها، از فیلد rules استفاده کنید. فیلد rules لیستی از اشیاء جاوا اسکریپت را می پذیرد که هر کدام دارای یک filter است که ویژگی ها را بر اساس شرایط تعریف شده توسط یک شی ee.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'
};

دسته بندی

یک قانون سبک طبقه‌بندی شامل یک ویژگی سبک برای تنظیم و یک شی جاوا اسکریپت با سه ویژگی است:

  • property - نام ویژگی ویژگی که مقدار آن بر سبک تأثیر می گذارد.
  • categories - فهرستی از فهرست‌هایی که مقادیر ویژگی‌ها را برای استایل نمادهای دارایی ترسیم می‌کنند. هر دسته شامل یک مقدار دارایی و به دنبال آن یک مقدار نمادشناسی برای اعمال است. مقدار خاصیت که یک دسته را تعریف می کند باید یک رشته باشد.
  • defaultValue - یک نماد شناسی پیش فرض برای اعمال به ویژگی هایی که مقدار ویژگی آنها در categories تعریف نشده است. اگر تهی/تعریف نشده باشد، تنظیمات سبک پیش‌فرض اعمال خواهد شد.

به عنوان مثال، شی زیر ویژگی سبک color را بر اساس ویژگی ویژگی "MARINE" تنظیم می کند. ویژگی‌های رده «MARINE» «0» به رنگ بنفش، «1» به رنگ سبز، «2» به‌عنوان آبی، و هر دسته دیگر به‌عنوان سفید تنظیم می‌شود.

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

درون یابی شده است

یک قانون سبک درون‌یابی شامل یک ویژگی سبک برای تنظیم و یک شی جاوا اسکریپت با حداکثر پنج ویژگی است:

  • property - نام ویژگی ویژگی که مقدار آن بر سبک تأثیر می گذارد.
  • mode - حالت درونیابی، یا 'linear' یا 'interval' .
  • palette - فهرستی از رنگ‌ها، تیرگی‌ها یا عرض‌ها برای درون‌یابی مقادیر ویژگی ورودی بین. قالب بستگی به mode دارد، برای جزئیات بیشتر به بخش های خطی و فاصله زمانی مراجعه کنید.

فقط برای حالت 'linear' اعمال می شود

  • min - مقدار ویژگی برای نگاشت به اولین عنصر در لیست palette .
  • max - مقدار ویژگی برای نگاشت به آخرین عنصر در لیست palette .

خطی

حالت درون یابی خطی یک ویژگی سبک ویژگی را با نگاشت مقادیر ورودی در محدوده min تا max به صورت خطی بین لیستی از مقادیر نمادشناسی تعریف شده در ویژگی palette تنظیم می کند. مقادیر ورودی به محدوده تنظیم شده توسط min و max بسته می شوند.

به عنوان مثال، شی زیر ویژگی سبک color را بر اساس ویژگی ویژگی "REP_AREA" تنظیم می کند. ویژگی 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 به عنوان لیستی از لیست ها ارائه می شود. این نشان می دهد که باید 4 کلاس با شکست در مقادیر 0، 80، 2000، و 5000، با کدورت های ویژگی مربوطه 0.5، 0.35، 0.22، و 0.15 وجود داشته باشد. به عبارت دیگر، ویژگی هایی با مقادیر "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 رنگ پر/ ضربه را برای همه انواع هندسه تنظیم می کند. باید یک مقدار هگز یا یک رنگ CSS3 باشد. بله
opacity Double Opacity پر/ ضربه را برای همه انواع هندسه تنظیم می کند. باید دو برابر بین 0 و 1 باشد. بله
width Double عرض ضربه را برای همه انواع هندسه تنظیم می کند. بله
fillColor String رنگ پرکننده را برای همه انواع هندسه تنظیم می کند. باید یک مقدار هگز یا یک رنگ CSS3 باشد. بله
هندسه های نقطه ای
pointShape String شکل هندسه نقطه را تنظیم می کند. از همان اشکال ee.FeatureCollection.style (دایره، مربع، الماس، صلیب، به علاوه، پنتاگرام، شش ضلعی، مثلث، مثلث_بالا، مثلث_پایین، مثلث_چپ، مثلث_راست، پنج ضلعی، شش ضلعی، ستاره5، ستاره6) پشتیبانی می کند. خیر
pointSize Double عرض هندسه نقطه را (بر حسب px) تنظیم می کند. بله
pointFillColor String رنگ پر کردن را برای هندسه نقطه تنظیم می کند. باید یک مقدار هگز یا یک رنگ CSS3 باشد. بله
pointFillOpacity Double کدهای هندسی نقطه را پر می کند. باید دو برابر بین 0 و 1 باشد. بله
هندسه خطوط
lineType String نوع خط را تنظیم می کند. از انواع مشابه ee.FeatureCollection.style (جامد، چین دار، نقطه چین) پشتیبانی می کند. خیر
lineWidth Double عرض خط را (بر حسب پیکسل) تنظیم می کند. بله
lineColor String رنگ را برای هندسه خطوط تنظیم می کند. باید یک مقدار هگز یا یک رنگ CSS3 باشد. بله
lineOpacity Double کدورت را برای هندسه خطوط تنظیم می کند. باید دو برابر بین 0 و 1 باشد. بله
هندسه های چند ضلعی
polygonStrokeWidth Double عرض ضربه چند ضلعی ها را (بر حسب px) تنظیم می کند. بله
polygonStrokeType String نوع خط را برای چند ضلعی ها تنظیم می کند. از انواع مشابه ee.FeatureCollection.style (جامد، چین دار، نقطه چین) پشتیبانی می کند. خیر
polygonStrokeColor String رنگ ضربه ای را برای هندسه های چند ضلعی تنظیم می کند. باید یک مقدار هگز یا یک رنگ CSS3 باشد. بله
polygonStrokeOpacity Double کدورت ضربه ای را برای هندسه های چند ضلعی تنظیم می کند. باید دو برابر بین 0 و 1 باشد. بله
polygonFillColor String رنگ پر را برای هندسه های چند ضلعی تنظیم می کند. باید یک مقدار هگز یا یک رنگ CSS3 باشد. بله
polygonFillOpacity Double مجموعه ها کدورت را برای هندسه های چند ضلعی پر می کنند. باید دو برابر بین 0 و 1 باشد. بله