จะเพิ่มความเร็วบริการ Dynamic Map ได้อย่างไร


16

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

มีขั้นตอนใดบ้างที่สามารถดำเนินการเพื่อเพิ่มความเร็วซึ่งไทล์ถูกส่งไปยังไคลเอนต์โดยเซิร์ฟเวอร์

ฉันกำลังดู Dynamic Maps ของ ESRI บน ArcGIS ออนไลน์และพวกมันค่อนข้างเร็ว มีความคิดเกี่ยวกับวิธีที่พวกเขาได้รับประสิทธิภาพที่ดีเช่นนี้?


4
คุณสามารถใช้บริการแผนที่แบบเรียงต่อกันสำหรับแต่ละเลเยอร์แล้วเปิดหรือปิดแต่ละรายการ
Britt Wescott

@ เซท: ฉันลงเอยด้วยข้อสรุปเดียวกับคุณ ด้วยจำนวนเลเยอร์ที่เราใช้ & จำนวนผู้ใช้พร้อมกันที่คาดไว้บริการแผนที่แบบเรียงต่อกันแยกกันจะให้ประสิทธิภาพที่ดีที่สุด
Devdatta Tengshe

เรากำลังประสบปัญหาเดียวกันฉันส่งคำขอการปรับปรุงไปยัง ESRI เพื่อรับการสนับสนุนสำหรับการดำเนินการแบบเลเยอร์ในบริการแผนที่แบบไดนามิกฉันคิดว่ามันจะช่วยเพิ่มประสิทธิภาพได้มาก
MathiasWestin

คำตอบ:


11

คุณอาจทำสิ่งนี้ไปแล้ว แต่ก็คุ้มค่าที่จะพูดถึงคนอื่นที่อาจเข้ามา การใช้เวลาสักครู่โดยใช้แถบเครื่องมือการเผยแพร่บริการแผนที่ใน ArcMap สามารถสร้างโลกที่แตกต่างในการทำงานของบริการแผนที่แบบไดนามิก เครื่องมือวิเคราะห์แผนที่ทำงานได้ดีสำหรับการค้นหาปัญหาที่ทำให้บริการแผนที่ช้าลง นอกจากนี้การบันทึกและเผยแพร่เป็นข้อกำหนดบริการแผนที่ (MSD) แทนที่จะเป็น MXD จะช่วยเพิ่มประสิทธิภาพได้อย่างมาก

ลิงค์บางส่วน:


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

14

ฉันสมมติว่าคุณต้องการใช้บริการแผนที่เว็บแบบออนไลน์ใด ๆ คุณทำให้เซิร์ฟเวอร์แผนที่ของคุณ 'คิด' น้อยที่สุดเท่าที่จะทำได้ กล่าวอีกนัยหนึ่งคำนวณทุกอย่างที่คุณทำได้ล่วงหน้า

  1. ใส่ข้อมูลทั้งหมดของคุณใน SRS เดียวกันดังนั้นจึงไม่มีการฉายภาพที่เกิดขึ้นทันที
  2. สร้างดัชนีเชิงพื้นที่บนข้อมูลของคุณ
  3. สร้างภาพรวมทั่วไปของข้อมูลของคุณและใช้การขึ้นต่อกันของสเกลเพื่อเลือกเลเยอร์ที่เหมาะสมสำหรับสเกลเฉพาะ (เช่นไม่เหมาะสมที่จะวาดโพลีที่มี 10,000 จุดยอดถ้าภาพออกมีความละเอียดเพียง 250 x 250 พิกเซล)

8

ประเด็นอื่น ๆ ที่ควรเพิ่มในคำตอบของ DavidF:

  • หากเป็นไปได้ตรวจสอบให้แน่ใจว่าได้ใช้บริการที่ได้รับการปรับปรุงประสิทธิภาพ (MSD) พวกเขาวาดเร็วกว่าบริการปกติ (MXD) และกระบวนการสร้างบริการ MSD จะเรียกใช้การวิเคราะห์บางอย่างบนแผนที่ของคุณซึ่งอาจทำให้เกิดปัญหาที่อาจทำให้เวลาการวาดช้าลง

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

  • ใช้จำนวนข้อมูลขั้นต่ำที่เป็นไปตามข้อกำหนดทางธุรกิจของคุณ หากคุณมีคุณสมบัติในข้อมูลของคุณที่จะไม่ถูกใช้ในการวาดแผนที่ให้ลบออก แม้ว่าคุณจะต้องการรายงานข้อมูลคุณสามารถรับมันได้ตามที่ต้องการจากลูกค้า (แม้ว่านี่จะเป็นการเพิ่มการเขียนโปรแกรมพิเศษ)

  • เปิดการบันทึกอย่างละเอียดสำหรับแผนที่ของคุณและตรวจสอบไฟล์บันทึกเพื่อดูว่า ArcGIS Server ทำอะไรเมื่อคุณวาดแผนที่ คำแนะนำสำหรับการกำหนดค่าการบันทึกรายละเอียดอยู่ในเว็บไซต์บล็อกของ Esri สำหรับรุ่น 9.3 แต่ตำแหน่งการตั้งค่านั้นเหมือนกันสำหรับ ArcGIS 10

โปรดจำไว้ว่าการปรับแต่งเป็นการทำงานที่เฉพาะเจาะจงมากซึ่งเป็นเรื่องส่วนตัวและเฉพาะเจาะจงกับสิ่งที่คุณกำลังทำ การเปรียบเทียบประสิทธิภาพของแผนที่ของคุณกับตัวเองจะมีค่ามากกว่าการเปรียบเทียบประสิทธิภาพของคุณกับคนอื่น


ฉันจัดการสามจุดแรกได้แล้ว แต่คุณสามารถอธิบายเพิ่มเติมเกี่ยวกับ 'การบันทึกอย่างละเอียดสำหรับแผนที่' ได้ไหม? ฉันพยายามค้นหาสิ่งนี้ แต่ลิงก์เดียวที่ฉันพบคือบริการของ ArcIMS
Devdatta Tengshe

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