สไตล์ของฟีเจอร์ในชิ้นงาน FeatureView
จะระบุโดยใช้กฎที่กําหนดไว้ในออบเจ็กต์ JavaScript คุณตั้งค่าสไตล์ได้ในระหว่างการกําหนดค่าเริ่มต้นของ FeatureViewLayer
หรือเมื่อใดก็ได้ในภายหลัง ระบบการจัดสไตล์ช่วยให้คุณตั้งค่ากฎรูปแบบแบบกว้างที่มีผลกับฟีเจอร์กลุ่มใหญ่ รวมถึงกฎที่เฉพาะเจาะจงมากขึ้นสำหรับฟีเจอร์หนึ่งๆ ได้ สไตล์องค์ประกอบสามารถกําหนดโดยค่าคงที่หรืออิงตามข้อมูล โดยอิงตามลักษณะขององค์ประกอบ
ออบเจ็กต์สไตล์
โครงสร้างพื้นฐานของออบเจ็กต์สไตล์แสดงอยู่ด้านล่าง กฎมี 2 ประเภท ได้แก่ กฎทั่วไปและกฎเฉพาะ กฎทั่วไปมีผลกับฟีเจอร์ทั้งหมดในFeatureView
ส่วนกฎที่เฉพาะเจาะจงมีผลกับฟีเจอร์บางส่วน
{
// Broad style rules.
opacity: …,
polygonFillColor: …,
// Specific style rules.
rules: [
{ … },
{ … }
]
};
กฎทั่วไป
หากต้องการใช้พร็อพเพอร์ตี้สไตล์กับองค์ประกอบทั้งหมด (หรือองค์ประกอบของประเภทเรขาคณิตที่เฉพาะเจาะจง) ให้ระบุพร็อพเพอร์ตี้สไตล์ที่ระดับบนสุดในออบเจ็กต์สไตล์
{
opacity: 0.5,
pointShape: 'triangle',
lineWidth: 10,
polygonFillColor: 'green'
};
กฎเฉพาะ
หากต้องการใช้พร็อพเพอร์ตี้สไตล์กับฟีเจอร์บางส่วน ให้ใช้ช่อง rules
ช่อง rules
จะยอมรับรายการออบเจ็กต์ JavaScript โดยแต่ละรายการจะมี filter
ที่เลือกฟีเจอร์ตามเงื่อนไขที่กําหนดโดยออบเจ็กต์ ee.Filter
ตามด้วยชุดพร็อพเพอร์ตี้สไตล์ ในตัวอย่างด้านล่าง มีกฎที่ตั้งค่า polygonStrokeWidth
และ polygonFillColor
เฉพาะในกรณีที่พร็อพเพอร์ตี้ "REP_AREA" น้อยกว่า 100 กฎที่เจาะจงจะลบล้างพร็อพเพอร์ตี้สไตล์ของกฎทั่วไป และกฎที่อยู่ใกล้กับท้ายรายการ 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'
};
เชิงหมวดหมู่
กฎรูปแบบเชิงหมวดหมู่ประกอบด้วยพร็อพเพอร์ตี้สไตล์ที่จะตั้งค่าและออบเจ็กต์ JavaScript ที่มีพร็อพเพอร์ตี้ 3 รายการ ได้แก่
property
— ชื่อพร็อพเพอร์ตี้ฟีเจอร์ที่มีค่าที่จะส่งผลต่อสไตล์categories
— รายการของรายการที่แมปค่าพร็อพเพอร์ตี้องค์ประกอบกับสัญลักษณ์พร็อพเพอร์ตี้ตามสไตล์ แต่ละหมวดหมู่ประกอบด้วยค่าพร็อพเพอร์ตี้ตามด้วยค่าสัญลักษณ์ที่จะใช้ ค่าพร็อพเพอร์ตี้ที่กําหนดหมวดหมู่ต้องเป็นสตริงdefaultValue
— สัญลักษณ์เริ่มต้นที่จะใช้กับองค์ประกอบที่ไม่มีการกําหนดค่าพร็อพเพอร์ตี้ในcategories
หากเป็นค่า Null/ไม่ระบุ ระบบจะใช้การตั้งค่าสไตล์เริ่มต้น
เช่น ออบเจ็กต์ต่อไปนี้จะตั้งค่าพร็อพเพอร์ตี้สไตล์ color
โดยอิงตามพร็อพเพอร์ตี้ฟีเจอร์ "MARINE" ฟีเจอร์ในหมวดหมู่ "MARINE" "0" จะตั้งค่าเป็นสีม่วง, "1" เป็นสีเขียว, "2" เป็นสีน้ำเงิน และหมวดหมู่อื่นๆ เป็นสีขาว
var visParams = {
color: {
property: 'MARINE',
categories: [
['0', 'purple'],
['1', 'green'],
['2', 'blue']
],
defaultValue: 'white'
}
};
ประมาณ
กฎสไตล์ที่แทรกประกอบด้วยพร็อพเพอร์ตี้สไตล์ที่จะตั้งค่าและออบเจ็กต์ JavaScript ที่มีพร็อพเพอร์ตี้ได้สูงสุด 5 รายการ ดังนี้
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 ถึง 1, 000 จะได้รับการปัดเศษระหว่างสีแดงและน้ำเงิน
var visParams = {
color: {
property: 'REP_AREA',
mode: 'linear',
palette: ['yellow', 'red', 'blue'],
min: 1,
max: 1000
}
};
ช่วงเวลา
โหมดการประมาณค่าเป็นช่วงตั้งค่าพร็อพเพอร์ตี้รูปแบบองค์ประกอบโดยการแมปค่าอินพุตกับช่วงชั้น แล้วใช้สัญลักษณ์เฉพาะชั้น ระบบจะกําหนดค่าอินพุตจากพร็อพเพอร์ตี้องค์ประกอบที่เลือกให้กับค่าแบ่งชั้นที่ใกล้ที่สุดโดยการปัดเศษลง พร็อพเพอร์ตี้ palette
มีการจัดรูปแบบเป็นรายการของลิสต์ โดยที่ลิสต์ย่อยแต่ละรายการมีค่าการแบ่งชั้นตามด้วยค่าพร็อพเพอร์ตี้สไตล์ องค์ประกอบที่มีค่าพร็อพเพอร์ตี้น้อยกว่าค่าแบ่งชั้นขั้นต่ำจะยังคงใช้การตั้งค่าพร็อพเพอร์ตี้สไตล์เริ่มต้น
ในตัวอย่างนี้ ระบบจะตั้งค่าความทึบของฟีเจอร์ที่เติมตามคลาสแบบเป็นขั้นของพร็อพเพอร์ตี้ "REP_AREA" คำจำกัดความของคลาสและสัญลักษณ์สไตล์จะระบุไว้ในพร็อพเพอร์ตี้ palette
เป็นรายการของรายการ ซึ่งบ่งบอกว่าควรมีคลาส 4 คลาสที่มีช่วงพักที่ค่า 0, 80, 2,000 และ 5,000 โดยมีระดับความทึบของฟีเจอร์ 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 |
กำหนดสีเติม/เส้นโครงร่างสำหรับรูปทรงเรขาคณิตทุกประเภท ต้องเป็นค่า Hex หรือสี CSS3 | ใช่ |
opacity |
Double |
กำหนดความทึบของเส้นขอบ/การเติมสำหรับเรขาคณิตทุกประเภท ต้องเป็นแบบ Double ระหว่าง 0 ถึง 1 | ใช่ |
width |
Double |
กำหนดความหนาของเส้นสำหรับรูปทรงเรขาคณิตทุกประเภท | ใช่ |
fillColor |
String |
กำหนดสีเติมสำหรับรูปทรงเรขาคณิตทุกประเภท ต้องเป็นค่าฐาน 16 หรือสี CSS3 | ใช่ |
เรขาคณิตของจุด | |||
pointShape |
String |
ตั้งค่ารูปร่างของเรขาคณิตจุด รองรับรูปทรงเดียวกับ ee.FeatureCollection.style (วงกลม สี่เหลี่ยมผืนผ้า เพชร กากบาท เครื่องหมายบวก ห้าแฉก หกแฉก สามเหลี่ยม triangle_up, triangle_down, triangle_left, triangle_right, ห้าเหลี่ยม หกเหลี่ยม star5, star6) |
ไม่ |
pointSize |
Double |
ตั้งค่าความกว้างของรูปเรขาคณิตของจุด (เป็นพิกเซล) | ใช่ |
pointFillColor |
String |
กำหนดสีเติมสำหรับเรขาคณิตจุด ต้องเป็นค่าฐาน 16 หรือสี CSS3 | ใช่ |
pointFillOpacity |
Double |
กำหนดความโปร่งแสงของสีเติมสำหรับเรขาคณิตจุด ต้องเป็นตัวแปรประเภท double ระหว่าง 0 ถึง 1 | ใช่ |
เรขาคณิตของเส้น | |||
lineType |
String |
ตั้งค่าประเภทเส้น รองรับประเภทเดียวกับ
ee.FeatureCollection.style (ทึบ ประ จุด) |
ไม่ |
lineWidth |
Double |
กำหนดความกว้างของเส้น (เป็นพิกเซล) | ใช่ |
lineColor |
String |
กำหนดสีสำหรับเรขาคณิตของเส้น ต้องเป็นค่าฐาน 16 หรือสี CSS3 | ใช่ |
lineOpacity |
Double |
ตั้งค่าความโปร่งแสงสำหรับเรขาคณิตของเส้น ต้องเป็นแบบ 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 | ใช่ |