อะไรคือวิธีที่เร็วที่สุด (ใช้ประสิทธิภาพ) ในการให้บริการคุณสมบัติของ PostGIS


12

ฉันสนใจวิธีที่เร็วที่สุดในการให้บริการคุณสมบัติของ PostGIS ฉันสามารถค้นหาการปรับปรุง WMS และทางเลือกได้หลายอย่าง (MapProxy, TileCache, Mapnik ... ) แต่ไม่มีการปรับปรุงและทางเลือก WFS โอเพนซอร์สมากมาย ฉันไม่สนใจกระเบื้อง แต่เป็นรูปหลายเหลี่ยมเหนือชั้นฐานของฉัน เสิร์ฟเร็ว

คุณช่วยฉันชี้ไปในทิศทางที่ถูกต้องได้ไหม


ปรับปรุง:

ฉันลืมที่จะพูดถึงว่าแอพของฉันแสดงข้อมูลเกี่ยวกับที่ดิน และรูปหลายเหลี่ยมแบบ CADastral ต้องเลือกได้ (ไม่สามารถแก้ไขได้พวกมันจะถูกเน้นเมื่อคุณคลิกที่รูป)

ตอนนี้ฉันกำลังใช้การผสมผสานของ WMS + Django ที่สร้างวัตถุ GeoJSON เมื่อผู้ใช้คลิกที่ส่วนใดส่วนหนึ่งของแผนที่เพื่อหลีกเลี่ยงสถานการณ์ที่มีรูปหลายเหลี่ยมหลายพันรูปพร้อมกันในไคลเอนต์ (OpenLayers)

ฉันไม่ทราบว่าฉันอยู่ในทางที่ถูกต้องหรือไม่ (ฉันควรหลีกเลี่ยงสถานการณ์ที่ยากลำบากอย่างเช่นโพลหลายพันคนในไคลเอนต์โดยแสดงผลพวกเขาผ่าน WMS หรือโซลูชั่นอื่น ๆ หรือไม่ฉันควรปรับปรุงวิธีการเสิร์ฟรูปหลายเหลี่ยมหรือไม่)


1
คุณมีฮาร์ดแวร์อะไร
Mapperz

Ubuntu 10.04 32 บิต RAM 512 MB ทำงานภายใต้เซิร์ฟเวอร์ VMWare มันเป็นเครื่องจักรสำหรับการพัฒนา แต่ฉันยังไม่สามารถเข้าถึงเครื่องอื่นได้ มันควรจะทำงานได้ดีพอสมควรที่นี่ (สิ่งที่จำเป็น)
Jorge Arévalo

คำตอบ:


6

แล้วรูปทรงเรขาคณิตที่ทำให้เรียบง่ายล่ะ?

http://www.bostongis.com/postgis_simplify.snippet

/programming/1849928/how-to-intelligently-degrade-or-smooth-gis-data-simplifying-polygons

หรืออาจเป็นการรวมกันของ WFS, WFS ด้วยคุณสมบัติที่ง่ายขึ้นและ WMS?


ฟังดูเข้าท่า. ตอนนี้ฉันกำลังแสดง pols และให้บริการพวกเขาผ่าน WMS ฉันคิดว่าลูกค้าจะไม่จัดการรูปหลายเหลี่ยมหลายล้านในเวลาเดียวกัน แต่ฉันอาจจะผิด ...
Jorge Arévalo

6

GeoServer จัดเตรียมการตั้งค่าผู้ใช้เพื่อควบคุมจำนวนตำแหน่งทศนิยมในรูปทรงเรขาคณิตที่วางไว้เพื่อเพิ่มความเร็วในการให้บริการ WFS

ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์บีบอัดเอาต์พุตเฉพาะในกรณีที่ลูกค้าของคุณสามารถคลายการบีบอัดได้อย่างมีประสิทธิภาพ

ในที่สุดฉันก็ได้ยินเรื่องดีๆเกี่ยวกับ OWS เล็ก ๆ ในแง่ของความเร็ว


ฉันเคยได้ยิน OWS เล็ก ๆ แต่ไม่เคยใช้ ขอบคุณสำหรับคำแนะนำ!
Jorge Arévalo

6

การแคช WFS อาจเหมาะสมกับความต้องการของคุณ เท่าที่ผมรู้ว่ามีสองโซลูชั่นที่มาเปิดให้ WFS แคช: TileStacheและGeoWebCache

ในหน้าแรกของ TileStache ส่วนคุณสมบัติจะกล่าวว่า "สร้างเวกเตอร์ไทล์จากแหล่งข้อมูล OGR ใน GeoJSON ที่ใช้งานได้ใน Polymaps"

GeoWebCache มีความสามารถในการแคช WFS ตั้งแต่รุ่น 1.1.0 (ปัจจุบันเป็น 1.2.6):

GeoWebCache 1.1.0 (ในที่สุด) เปิดตัว

...

1.c การแคช WFS พื้นฐาน GeoWebCache 1.1.0 รองรับการแคช WFS ขั้นพื้นฐานมาก ผลลัพธ์จากการสืบค้นจะถูกเก็บไว้ในดิสก์ขณะนี้ไม่มีฟังก์ชั่นสำหรับการตรวจสอบหรือการลบโดยทางโปรแกรม อัลกอริทึมนั้นอาศัยแฮชที่คำนวณและไม่ตรวจสอบความเป็นเอกลักษณ์ดังนั้นจึงมีโอกาสเล็กน้อยในการชน แรงจูงใจในการพัฒนานี้คือรูปแบบผลลัพธ์ SHP-ZIP (zipped shapefile) ใน GeoServer ไฟล์เหล่านี้มีขนาดใหญ่และมีราคาแพงอย่างมากในการคำนวณ บริการ WFS นี้อยู่ในสถานะปัจจุบันไม่ได้มีวัตถุประสงค์เพื่อใช้สำหรับกรณีที่ซับซ้อนมากขึ้น

http://old.nabble.com/GeoWebCache-1.1.0-(finally)-released-td22870524.html

น่าเสียดายที่ฉันไม่เคยทำงานกับ TileStache ไม่ว่าจะเป็น GeoWebCache ดังนั้นฉันจึงไม่สามารถแบ่งปันประสบการณ์เกี่ยวกับการแคช WFS ได้


ขอบคุณ ฉันกำลังพิจารณา 2 ตัวเลือก: แสดงรูปหลายเหลี่ยมของฉันและให้บริการผ่านแคช WMS + (มีหลายล้านตัวอาจจะมากเกินไปสำหรับลูกค้า ... ) หรือพยายามที่จะให้บริการรูปหลายเหลี่ยมของฉันผ่านแคช WFS + ฉันกำลังทำงานกับตัวเลือกแรกตอนนี้
Jorge Arévalo

1
ฉันแนะนำตัวเลือกแรก (การเรนเดอร์ WMS บนฝั่งเซิร์ฟเวอร์ + แคช) ตัวเลือก WFS บอกเป็นนัยว่าการเรนเดอร์จะทำได้บนฝั่งไคลเอ็นต์ จากประสบการณ์ของฉันนี่เป็นปัญหาสำหรับผู้ใช้ที่มีเว็บเบราว์เซอร์หรือคอมพิวเตอร์เก่าซึ่งเป็นตัวแปรที่คุณไม่สามารถควบคุมได้
dariapra

3

ฉันกำลังพัฒนา web-gis ขนาดใหญ่ฉันทำงานกับข้อมูลจำนวนมาก (ประมาณ 700,000 ฟีเจอร์ต่อเลเยอร์) ทางออกเดียวคือที่คุณทำอยู่ WMS สำหรับการเรนเดอร์คุณสมบัติและ WFS สำหรับรับข้อมูลของฟีเจอร์ สิ่งที่ฉันทำ (มีประสิทธิภาพที่ดี) คือ:

  • Geoserver (พร้อมไลบรารีJAI ดั้งเดิม )
  • เมื่อผู้ใช้คลิกที่แผนที่ wms getfeatureinfo จะถูกใช้เพื่อรับข้อมูล (ทั้งรูปร่างและข้อมูล) ของคุณสมบัติที่เลือก (ที่นี่คุณควรนำระบบการกรองบางส่วนมาใช้หากคุณมีคุณลักษณะที่ทับซ้อนกัน)
  • ผลลัพธ์ของ getFeatureInfo ถูกเพิ่มเป็นคุณสมบัติในเลเยอร์อื่นเพื่อจำลอง "การเลือกไฮไลท์"

ขอบคุณ! ในที่สุดโครงการก็ถูกยกเลิก แต่ฉันคิดว่าทางออกของคุณดี
Jorge Arévalo

1

เซิร์ฟเวอร์ Solid State DRAM

http://en.wikipedia.org/wiki/Solid-state_drive#DRAM-based

"ความต้องการบิต DRAM ที่มาจากภาคเซิร์ฟเวอร์จะเพิ่มขึ้น 93.7% ต่อปีในช่วงครึ่งหลังของปี 2011"

แหล่งที่มา: http://www.digitimes.com/Reports/Report.asp?datePublish=2011/08/16&pages=PD&seq=206


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