เมื่อส่งออก FeatureCollection
เป็นชิ้นงาน FeatureView
คุณสามารถตั้งค่าพารามิเตอร์ที่ให้ความสำคัญกับการแสดงผลองค์ประกอบที่ระดับการซูมหนึ่งๆ (การกรอง) และวิธีจัดเรียงองค์ประกอบที่ทับซ้อนกัน (ลําดับ z)
การตั้งค่าเหล่านี้ส่งผลต่อความเร็วและลักษณะการแสดงผลของออบเจ็กต์ FeatureView
ส่วนต่อไปนี้อธิบายพารามิเตอร์การเพิ่มประสิทธิภาพและแสดงผลลัพธ์โดยใช้แผนภาพแนวคิดที่แบ่งเขตไทล์แผนที่ด้วยเส้นประ องค์ประกอบที่มองเห็นได้คือรูปหลายเหลี่ยมเส้นเต็ม และองค์ประกอบที่ถูกทิ้ง (ทำให้บางลง) คือรูปหลายเหลี่ยมที่มีเส้นประและไม่มีเส้นขอบ
บล็อกโค้ดต่อไปนี้เป็นตัวอย่างการส่งออกจาก FeatureCollection
ไปยัง FeatureView
ที่ไฮไลต์พารามิเตอร์การเพิ่มประสิทธิภาพที่อธิบายไว้ในหน้านี้
Export.table.toFeatureView({
collection: fooFc,
assetId: 'foo-featureview-demo',
description: 'foo-featureview-demo',
maxFeaturesPerTile: 1500,
thinningStrategy: 'HIGHER_DENSITY',
thinningRanking: ['my-property DESC'],
zOrderRanking: ['my-property DESC']
});
ฟีเจอร์สูงสุดต่อชิ้นส่วนแผนที่
พารามิเตอร์องค์ประกอบสูงสุดต่อไทล์ (maxFeaturesPerTile
) จะกำหนดจำนวนองค์ประกอบสูงสุดที่จะแสดงผลในไทล์แผนที่เดียว ค่านี้เป็นขอบเขตบนและอาจต่ำกว่ามาก ทั้งนี้ขึ้นอยู่กับกลยุทธ์การกรอง ค่านี้ตั้งค่าเป็นอะไรก็ได้ระหว่าง 1 ถึง 2000 ค่าที่สูงขึ้นจะแสดงฟีเจอร์ต่อไทล์มากขึ้น แต่ไทล์จะใช้เวลาโหลดนานขึ้น
โปรดสังเกตในตารางต่อไปนี้ว่าเมื่อค่าพารามิเตอร์ maxFeaturesPerTile
ลดลง จำนวนองค์ประกอบที่ตัดกับแต่ละไทล์แผนที่ก็จะลดลงด้วย ไทล์อาจมีค่าน้อยกว่าค่าสูงสุด แต่ต้องไม่เกินค่าสูงสุด
ฟีเจอร์ทั้งหมด (สําหรับการอ้างอิง) |
แสดงสถานที่ไม่เกิน 5 แห่งต่อการ์ด |
แสดงสถานที่ไม่เกิน 2 แห่งต่อการ์ด |
การจัดอันดับที่บางลง
พารามิเตอร์การจัดลําดับความสำคัญในการกรอง (thinningRanking
) จะควบคุมวิธีจัดลําดับความสําคัญของข้อมูลสําหรับการกรองตามประเภทเรขาคณิต ขนาดองค์ประกอบ และค่าพร็อพเพอร์ตี้องค์ประกอบ โดยรับชุดกฎที่จะแจ้งให้อัลกอริทึมการกรองให้ทราบถึงองค์ประกอบที่จะกรองออกก่อนองค์ประกอบอื่นๆ เมื่อถึง maxFeaturesPerTile
แต่ละกฎประกอบด้วยพร็อพเพอร์ตี้ฟีเจอร์ตามด้วยทิศทางการจัดเรียง (จากน้อยไปมาก/ASC
หรือจากมากไปน้อย/DESC
) โดยอาจมีกฎตั้งแต่ 1 กฎขึ้นไป นอกจากพร็อพเพอร์ตี้องค์ประกอบแบบดั้งเดิมแล้ว ยังมีพร็อพเพอร์ตี้พิเศษ 2 รายการที่สามารถใช้เพื่อจัดลําดับความสําคัญในการทำให้บางลงได้ ได้แก่ .geometryType
และ .minZoomLevel
.geometryType
– ระบุลักษณะขององค์ประกอบเป็นจุด เส้น หรือรูปหลายเหลี่ยม ประเภทเรขาคณิตเหล่านี้จะได้รับการวัดเป็นขนาดเล็ก ปานกลาง และใหญ่ตามลำดับเพื่อวัตถุประสงค์ในการเรียงลำดับ.minZoomLevel
– ระดับการซูมแผนที่ต่ำสุดที่องค์ประกอบอาจแสดงผลเป็นไทล์ ระดับการซูมต่ำกว่าค่านี้จะไม่แสดงฟีเจอร์นี้ ส่วนระดับการซูมมากกว่าหรือเท่ากับค่านี้อาจแสดงฟีเจอร์ โปรดทราบว่าระดับการซูมต่ำแสดงภูมิภาคทางภูมิศาสตร์ที่ใหญ่กว่าต่อชิ้นส่วนแผนที่ 1 รายการเมื่อเทียบกับระดับการซูมสูง ฟีเจอร์จุดจะได้รับค่า 0 (แสดงในทุกระดับการซูม) เรขาคณิตของเส้นและรูปหลายเหลี่ยมจะได้รับค่าโดยอิงตามขอบเขต (เส้น) หรือพื้นที่ (รูปหลายเหลี่ยม) ขององค์ประกอบนั้นๆ โดยองค์ประกอบขนาดใหญ่จะมีค่า.minZoomLevel
ต่ำกว่าองค์ประกอบขนาดเล็ก
คุณสามารถระบุกฎการจัดอันดับแบบกรองออกเป็นสตริงหรือรายการสตริงก็ได้ โดยเว้นวรรคระหว่างชื่อพร็อพเพอร์ตี้และทิศทางการจัดเรียงที่ต้องการ
// String input format for setting thinning ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'
// List of strings input format for setting thinning ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']
กฎข้างต้นจะกำหนดอัลกอริทึมการกรองให้จัดลําดับความสําคัญขององค์ประกอบที่มีแอตทริบิวต์ "my-property" ขนาดใหญ่กว่า (กรององค์ประกอบที่มีค่า "my-property" เล็กกว่าก่อน) จัดลําดับความสําคัญขององค์ประกอบที่มีประเภทเรขาคณิตเล็กกว่า (เช่น กรองรูปหลายเหลี่ยมก่อนเส้น และเส้นก่อนจุด) และจัดลําดับความสําคัญขององค์ประกอบที่มีระดับการซูมขั้นต่ำเล็กกว่า (จุดเหนือรูปหลายเหลี่ยมขนาดใหญ่เหนือรูปหลายเหลี่ยมขนาดเล็ก)
ตารางต่อไปนี้แสดงวิธีที่การเปลี่ยนแปลงกฎ thinningRanking
สําหรับพร็อพเพอร์ตี้ size
ส่งผลต่อฟีเจอร์ที่วาด จํานวนองค์ประกอบทั้งหมดต่อไทล์ ("องค์ประกอบทั้งหมด") มากกว่า 5 ดังนั้นระบบจะใช้การกรองเพื่อจํากัดองค์ประกอบที่วาด (thinningRanking: 5
) ในแถวแรก ฟีเจอร์จะจัดเรียงตาม size
จากมากไปน้อย ซึ่งหมายความว่าฟีเจอร์ขนาดใหญ่จะมีความสำคัญมากกว่าฟีเจอร์ขนาดเล็ก (ระบบจะวาดฟีเจอร์ตามลําดับจากมากไปน้อยตามขนาดจนกว่าจะถึง maxFeaturesPerTile
) ในแถวที่ 2 ระบบจะจัดเรียงองค์ประกอบตามขนาดจากน้อยไปมาก ดังนั้นระบบจะวาดองค์ประกอบที่เล็กที่สุดก่อนตามลำดับขนาดจนกว่าจะถึง maxFeaturesPerTile
thinningRanking |
ฟีเจอร์ทั้งหมด (สําหรับการอ้างอิง) | maxFeaturesPerTile: 5 |
---|---|---|
จัดลําดับความสําคัญของฟีเจอร์ที่มี |
||
จัดลําดับความสําคัญของฟีเจอร์ที่มี |
กลยุทธ์การลดจำนวน
พารามิเตอร์กลยุทธ์การกรอง (thinningStrategy
) ใช้ร่วมกับการจัดอันดับการกรอง (thinningRanking
) เพื่อกรองข้อมูลออกเมื่อถึงเวลาส่งออกเพื่อปรับปรุงประสิทธิภาพการแสดงผล โดยระบบรองรับกลยุทธ์ 2 รูปแบบ ได้แก่ HIGHER_DENSITY
และ GLOBALLY_CONSISTENT
เมื่อทำการกรองที่ระดับการซูมหนึ่งๆ กลยุทธ์การกรองที่มีความหนาแน่นสูงขึ้นหมายความว่าแต่ละไทล์อาจอยู่ใกล้กับขีดจำกัด maxFeaturesPerTile
มากที่สุดโดยไม่คำนึงถึงลําดับขององค์ประกอบในไทล์อื่นๆ กลยุทธ์การกรองที่สม่ำเสมอทั่วโลกหมายความว่าหากมีการนำองค์ประกอบออกจากไทล์ใดก็ตามโดยการกรอง ระบบจะนำองค์ประกอบทั้งหมดที่มีลําดับการกรองเท่ากันหรือต่ำกว่าออกจากไทล์ทั้งหมด โดยไม่คํานึงว่าไทล์นั้นต้องได้รับการกรองหรือไม่ (เกินขีดจํากัด maxFeaturesPerTile
) ใช้กลยุทธ์ HIGHER_DENSITY
เพื่อเพิ่มประสิทธิภาพความหนาแน่นของฟีเจอร์ และ ใช้กลยุทธ์ GLOBALLY_CONSISTENT
เพื่อเพิ่มประสิทธิภาพการแสดงระดับฟีเจอร์ที่สอดคล้องกับแต่ละไทล์
ตารางต่อไปนี้แสดงผลที่การเปลี่ยนแปลง thinningStrategy
มีต่อการตัด ในตัวอย่างนี้ ระบบจะกรองข้อมูลโดยใช้รูปร่าง/สีของจุด วงกลมสีน้ำเงิน สี่เหลี่ยมจัตุรัสสีเขียว และสามเหลี่ยมสีแดงมีลําดับความหนาตามลําดับจากดีที่สุดไปแย่ที่สุด สําหรับ thinningStrategy
แต่ละรายการ (HIGHER_DENSITY
และ GLOBALLY_CONSISTENT
) จะมีค่า maxFeaturesPerTile
ที่แตกต่างกัน 3 ค่า ได้แก่ ตัวเลขที่มากพอที่จะแสดงฟีเจอร์ทั้งหมด 10 ฟีเจอร์ และ 9 ฟีเจอร์
เมื่อใช้ HIGHER_DENSITY
และ 10 maxFeaturesPerTile
ระบบจะกรองสามเหลี่ยมสีแดง 6 รูป (ลำดับความสำคัญต่ำสุดในการกรอง) ออกจากไทล์ด้านซ้ายบน และกรองสามเหลี่ยมสีแดง 1 รูปออกจากไทล์ด้านซ้ายล่าง เมื่อใช้ HIGHER_DENSITY
และ 9
maxFeaturesPerTile
ระบบจะลบสามเหลี่ยมสีแดง 7 รูปออกจากการ์ดด้านซ้ายบน และลบสามเหลี่ยมสีแดงและสี่เหลี่ยมจัตุรัสสีเขียวออกจากการ์ดด้านซ้ายล่าง
ในตัวอย่างเหล่านี้ ระบบจะกรองแต่ละไทล์แยกกันโดยไม่คำนึงถึงลําดับการกรองขององค์ประกอบในไทล์ใกล้เคียง กลยุทธ์การกรองนี้อาจทําให้แผนที่ที่อยู่ติดกันดูแตกต่างกันอย่างเห็นได้ชัด แต่ก็จะเพิ่มจํานวนฟีเจอร์ที่วาดได้สูงสุด ทั้งนี้ขึ้นอยู่กับลักษณะของข้อมูล
โปรดทราบว่าGLOBALLY_CONSISTENT
การกรองออกหมายความว่าหากมีการนําองค์ประกอบหนึ่งๆ ออกด้วยการกรองออกจากไทล์ใดก็ตาม ระบบก็จะนําองค์ประกอบอื่นๆ ทั้งหมดที่มีthinningRank
เท่ากันหรือแย่กว่านั้นออกด้วย เมื่อตั้งค่า maxFeaturesPerTile
เป็น 10 สามเหลี่ยมสีแดงจะไม่แสดงในการ์ดใดๆ เนื่องจากสามเหลี่ยมสีแดงมีขนาดเล็กลงในการ์ดซ้ายบนและซ้ายล่าง
เมื่อตั้งค่า maxFeaturesPerTile
เป็น 9 สี่เหลี่ยมจัตุรัสสีเขียวก็จะไม่แสดงในการ์ดใดๆ ในทำนองเดียวกัน เนื่องจากสี่เหลี่ยมจัตุรัสสีเขียวบางลงในการ์ดซ้ายล่าง
กลยุทธ์การกรองนี้มีโอกาสน้อยที่จะสร้างลักษณะไทล์ที่โดดเด่นซึ่งกลยุทธ์ HIGHER_DENSITY
ทำได้ แต่มีแนวโน้มที่จะกรองไทล์ให้มีจำนวนฟีเจอร์ต่ำกว่าขีดจํากัด maxFeaturesPerTile
มาก
thinningStrategy |
ฟีเจอร์ทั้งหมด (สำหรับใช้อ้างอิง) | maxFeaturesPerTile: 10 | maxFeaturesPerTile: 9 |
---|---|---|---|
ลดความถี่ในการลดจำนวน รักษาความหนาแน่นขององค์ประกอบให้สูงด้วยการลดความหนาแน่นภายในไทล์ |
|||
การปรับให้บางลงอย่างเข้มงวดมากขึ้น รักษาอันดับการกรองขั้นต่ำที่สอดคล้องกันทั่วโลกผ่านการกรองระหว่างไทล์ |
การจัดอันดับตามลําดับ Z
พารามิเตอร์การจัดลําดับ z (zOrderRanking
) จะควบคุมลําดับของฟีเจอร์ที่ทับซ้อนกัน โดยยอมรับชุดกฎที่กำหนดว่าองค์ประกอบใดควรปรากฏใต้/เหนือองค์ประกอบอื่นๆ เมื่อซ้อนทับกัน ตรรกะและรูปแบบกฎสำหรับการตั้งค่าลําดับฟีเจอร์เหมือนกับการจัดลําดับขั้นต่ำ โปรดดูรายละเอียดเพิ่มเติมในส่วนนั้น
กฎการจัดอันดับลําดับ Z สามารถระบุเป็นสตริงหรือรายการสตริง โดยคั่นชื่อพร็อพเพอร์ตี้และทิศทางการจัดเรียงที่ต้องการด้วยการเว้นวรรค
// String input format for setting z-order ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'
// List of strings input format for setting z-order ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']
กฎข้างต้นระบุว่าองค์ประกอบที่มีค่า "my-property" มากกว่าควรปรากฏใต้องค์ประกอบที่มีค่าน้อยกว่า องค์ประกอบที่มีประเภทเรขาคณิตขนาดเล็กควรปรากฏใต้องค์ประกอบที่มีประเภทเรขาคณิตขนาดใหญ่ (เช่น จุดใต้เส้นและเส้นใต้รูปหลายเหลี่ยม) และองค์ประกอบที่มีระดับการซูมต่ำสุดน้อยกว่า (องค์ประกอบขนาดใหญ่) ควรปรากฏใต้องค์ประกอบที่มีระดับการซูมต่ำสุดมากกว่า (องค์ประกอบขนาดเล็ก)
ตารางต่อไปนี้แสดงวิธีที่การเปลี่ยนแปลงกฎ zOrderRanking
สําหรับพร็อพเพอร์ตี้ "size" ส่งผลต่อฟีเจอร์ที่ปรากฏอยู่ด้านหน้าฟีเจอร์อื่นๆ เมื่อฟีเจอร์ซ้อนทับกัน ในแถวแรก ระบบจะจัดเรียงองค์ประกอบตามขนาดจากมากไปน้อย ซึ่งหมายความว่าองค์ประกอบขนาดใหญ่ควรปรากฏใต้องค์ประกอบขนาดเล็ก (ระบบจะวาดองค์ประกอบขนาดใหญ่ก่อน) ในทางกลับกัน ในแถวที่ 2 ระบบจะจัดเรียงองค์ประกอบตามขนาดจากน้อยไปมาก ซึ่งหมายความว่าองค์ประกอบที่มีขนาดเล็กกว่าควรปรากฏใต้องค์ประกอบที่มีขนาดใหญ่กว่า (ระบบจะวาดองค์ประกอบขนาดเล็กก่อน)
ฟีเจอร์ที่มี |
ฟีเจอร์ที่มี |