อะไรคือโซลูชันการแมปเว็บแบบโอเพนซอร์ซที่ดีที่สุดสำหรับการจัดการรูปหลายเหลี่ยม 3000+ [ปิด]


12

ฉันมีรูปหลายเหลี่ยมมากกว่า 3,000 รูปที่แสดงถึงแหล่งต้นน้ำ (18 แหล่งต้นน้ำหลัก) ในระยะแรกลุ่มน้ำทั้ง 18 แห่งจะปรากฏและรายการของพวกเขาจะถูกวางไว้ในแถบด้านข้างซ้าย หากผู้ใช้วางเมาส์เหนือแผนที่จะมีเพียงป๊อปอัปแสดงชื่อลุ่มน้ำ หากผู้ใช้คลิกที่ลุ่มน้ำสำคัญบนแผนที่ผู้ใช้จะเปิดหน้าต่างป๊อปอัปพร้อมรายละเอียด เมื่อขยายใหญ่ขึ้นแหล่งต้นน้ำทั้งหมดจะแสดงขึ้น

ฉันขอคำแนะนำจากคุณว่าโซลูชันโอเพ่นซอร์สใดที่ดีที่สุดสำหรับการจัดการรูปหลายเหลี่ยมจำนวนมากนั้น

ฉันกำลังคิดเกี่ยวกับLeafletหรือOpenLayersแต่ฉันไม่รู้ว่าสามารถจัดการรูปหลายเหลี่ยมจำนวนมากได้หรือไม่

นอกจากนี้คุณแนะนำให้เก็บไว้ใน mysql หรือ?


3
คุณสามารถ rasterize รูปหลายเหลี่ยมเหล่านี้ได้หรือไม่ หรืออาจใช้เซิร์ฟเวอร์คุณสมบัติเช่นเซิร์ฟเวอร์ทางภูมิศาสตร์หรือเซิร์ฟเวอร์คุณสมบัติ?
dassouki

คำตอบ:


12

ฉันจะสร้างบริการภาพ (ชั้นแรสเตอร์) และให้บริการได้ออกมาพร้อมกับเว็บบริการแผนที่ (WMS) วิธีนี้คุณสามารถใช้เฟรมเวิร์ก API ใดก็ได้ที่คุณรู้สึกพอใจตราบใดที่มันรองรับ WMS ( OpenLayers ทำ ) คุณสามารถใช้ WMS เพื่อแสดงเลเยอร์ของคุณลักษณะรูปหลายเหลี่ยมทั้งหมดจากนั้นใช้ GetFeatureInfo ของ OnClick เพื่อดึงข้อมูลในรูปหลายเหลี่ยมนั้น

หากด้วยเหตุผลใดก็ตามที่คุณต้องการข้อมูลเวกเตอร์บนแผนที่คุณสามารถสร้างมันขึ้นมาคลิกแบบไดนามิกด้วยข้อมูลการตอบกลับของ GetFeatureInfo


5

ดูTileMillซึ่งสามารถ rasterize UTFGridปฏิสัมพันธ์เป็นMBTilesไฟล์และโฮสต์บนMapBoxหรือเปิดแหล่งที่มาการดำเนินงาน MBTiles เซิร์ฟเวอร์เช่นTileStache

นี่มันมีรูปหลายเหลี่ยมมากมาย วิธีนี้ทำให้คุณต้อง rasterize - หรือที่รู้จักกันในนาม bake - tile แต่เป็นวิธีเดียวที่จะทำสิ่งที่คุณต้องการโดยไม่ต้องมีทรัพยากรเซิร์ฟเวอร์ขนาดใหญ่แอปที่กำหนดเองหรือเบราว์เซอร์ชุดที่ จำกัด


ฉันชอบตัวอย่างนี้ คุณสามารถบอกฉันได้ว่า ใน TileMill? ขอบคุณ
ต่อต้านโฟลว์

ใช่มันเป็นวิธีที่พบมากที่สุด นี่คือเอกสารเกี่ยวกับการเพิ่มเคล็ดลับเครื่องมือด้วยวิธีนี้ หากคุณแพ้เครื่องมือ GUI และ Python / Mapnik pro อย่างยิ่งนอกจากนี้ยังมีเส้นทาง cliที่หลีกเลี่ยงสิ่งเหล่านี้ทั้งหมด แต่เป็นความลับเล็กน้อย
tmcw

2

การพึ่งพาสเกลและฐานข้อมูลที่มีการทำดัชนีเชิงพื้นที่จะเป็นกุญแจสู่ปัญหานี้ คุณควรจะสามารถเป็นตัวแทนของแหล่งต้นน้ำโดยใช้ระดับอย่างน้อยสองอาจเป็นสามหรือสี่ระดับ ตัวอย่างเช่นคุณสามารถแบ่งข้อมูลออกเป็น Major (18), Minor (การรวมกันของแหล่งต้นน้ำระดับกลางทั้งหมดที่อยู่ภายใน Major เดียวกัน) และ Tertiary (3000 รูปหลายเหลี่ยม) นี่จะให้เลเยอร์ / บริการเวกเตอร์ที่ต่างกันสามแบบ

ใช้การพึ่งพาสเกลเพื่อวาดเฉพาะบริการที่เหมาะสมขึ้นอยู่กับระดับการซูมของผู้ใช้

ใช้ฐานข้อมูลพร้อมการจัดทำดัชนีเชิงพื้นที่เพื่อให้แน่ใจว่าบริการวาดอย่างรวดเร็วและดึงเฉพาะส่วนที่จำเป็นในการเติมหน้าต่างมุมมองปัจจุบัน

อีกทางหนึ่งคุณอาจลองสร้างไทล์ของแผนที่ต้นน้ำ (อีกครั้งสร้างจากสเกลที่เหมาะสมสำหรับแต่ละเลเยอร์) และให้บริการแบบนั้น

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


0

นอกจาก TileMill คุณสามารถตรวจสอบMangoMapมันไม่ใช่โอเพ่นซอร์ส แต่ขณะนี้ฟรีและสามารถจัดการข้อมูลประเภทนี้ได้

[ข้อจำกัดความรับผิดชอบ: ฉันทำงานกับ MangoMap แต่กำลังตอบเพราะเหมาะสมในกรณีนี้]

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