ลดความซับซ้อนของเอาท์พุท GeoServer WFS


12

ฉันกำลังจัดการกับชุดข้อมูลขนาดใหญ่และต้องการลดจำนวนข้อมูลที่ส่งผ่านเครือข่าย ฉันใช้กลยุทธ์ BBL ของ OpenLayers เพื่อถ่ายโอนข้อมูลที่ต้องการเท่านั้น แต่ฉันสงสัยว่าฉันสามารถทำให้การแสดงผลง่ายขึ้นหรือไม่เพื่อให้ฉันสามารถแสดงระดับการซูมที่ต่ำลงโดยไม่ต้องถ่ายโอนข้อมูลด้วยความแม่นยำ / รายละเอียดที่ไม่จำเป็น

ฉันใช้ GeoServer เป็นเซิร์ฟเวอร์ WFS เป็นส่วนหนึ่งของชุด OpenGeo

คำตอบ:


8

WFS / GeoServer ไม่ได้ให้วิธีการทั่วไปในการบินตามขนาด แต่มีส่วนขยายพิเศษที่ทำในสิ่งที่คุณกำลังมองหาโดยทำ pregeneralization

http://docs.geoserver.org/stable/en/user/data/featurepregen.html


1
+1 - ส่วนขยายที่ดีมาก จะดีจะมีเทียบเท่า MapServer ..
geographika

3

แนวทางแก้ไขที่เป็นไปได้:

  • คุณต้องการข้อมูลในรูปแบบเวกเตอร์หรือไม่? หากรูปหลายเหลี่ยมเชิงซ้อนขนาดใหญ่เป็นเพียงสำหรับการอ้างอิงก็จะเป็น WMS / ภาพ หากคุณสามารถทำให้มันง่ายขึ้นคุณอาจไม่ต้องการรูปทรงเรขาคณิตอยู่ดี
  • คุณสามารถส่งพารามิเตอร์ทั่วไปไปยังเลเยอร์แผนที่ผ่านพารามิเตอร์ที่กำหนดเองและใช้สิ่งนี้เพื่อทำให้รูปทรงเรขาคณิตง่ายขึ้น หัวข้อนี้เป็นเรื่องเกี่ยวกับ MapServer แต่ฉันคิดว่าสิ่งที่คล้ายกันสามารถทำได้ด้วย GeoServer - http://osgeo-org.1803224.n2.nabble.com/WFS-Server-Control-output-by-scale-td2279383.html
  • นอกจากนี้ยังมีการอ้างอิงในเธรดด้านบนคุณสามารถจัดเก็บชุดข้อมูลที่กำหนดไว้ล่วงหน้าสำหรับเครื่องชั่งที่แตกต่างกันและซ่อน / แสดงไว้ในแผนที่ของคุณได้ตามต้องการ
  • ตรวจสอบให้แน่ใจว่าคุณเปิดใช้งานการบีบอัดgZipไว้ที่เว็บเซิร์ฟเวอร์เพราะจะทำให้ไฟล์ GML / XML ย่อขนาดลงอย่างน้อยครึ่งหนึ่ง

ฉันต้องการรูปแบบเวกเตอร์แน่นอนเพราะฉันต้องการคลิกเพื่อรับข้อมูลเพิ่มเติมรวมทั้งแก้ไขรูปหลายเหลี่ยม (แต่เห็นได้ชัดว่าฉันต้องการแก้ไขรูปทรงจริงเท่านั้นไม่ใช่รูปแบบที่เรียบง่ายซึ่งอาจเป็น หากินเล็กน้อย)
Mr_Chimp

1
@mr_chimp - คุณสามารถใช้คำขอ WMS GetFeatureInfo เพื่อส่งกลับเฉพาะรูปทรงเรขาคณิตและคุณลักษณะสำหรับคุณลักษณะภายใต้การคลิกเมาส์
geographika

3

การใช้กลยุทธ์คลัสเตอร์ OL คุณสามารถทำให้การแทน (สำหรับผู้ใช้) ง่ายขึ้น แต่จำนวนของการถ่ายโอนข้อมูลจะไม่ต่ำกว่าเนื่องจากการทำคลัสเตอร์จะทำในฝั่งไคลเอ็นต์

โปรดดูในหน้าเอกสาร

(ฉันไม่รู้เกี่ยวกับตัวเลือกที่มีอยู่ในฝั่งเซิร์ฟเวอร์)


บางทีฉันเข้าใจผิด แต่กลยุทธ์คลัสเตอร์ดูเหมือนจะเป็นข้อมูลจุด ฉันมีข้อมูลรูปหลายเหลี่ยมที่ซับซ้อนซึ่งฉันต้องการลดความซับซ้อน
Mr_Chimp

สิ่งนี้จะไม่ลดทราฟฟิกเครือข่ายเนื่องจากจะต้องใช้คะแนนทั้งหมดในการทำคลัสเตอร์ฝั่งไคลเอ็นต์
geographika

@geographika> นั่นคือสิ่งที่ฉันต้องการจะพูด แต่อย่างที่คุณสามารถเดาได้ฉันลืมการปฏิเสธในประโยคของฉัน (repared ตอนนี้)! ยังคงเป็นวิธีที่ดีในการเพิ่มความสามารถในการอ่านสำหรับผู้ใช้ขั้นสุดท้าย
simo

@Mr_Chimp> เทียบเท่าไม่มีรูปหลายเหลี่ยมแน่นอน
simo

0

หากข้อกังวลของคุณคือ WFS นั้น 'หนัก' (ผลลัพธ์ของ GML นั้นละเอียดมากตามธรรมชาติ) คำแนะนำของฉันคือแทนที่จะใช้ Well-Known Text (WKT) แทนหากเป็นไปได้ ฉันเดาว่ากลยุทธ์ BBL ของ OpenLayers นั้น "เข้ากันได้" กับ WKT

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.