GeoJSON และ TopoJSON แตกต่างกันอย่างไรและเมื่อใดที่ฉันจะใช้อันอื่น
รายละเอียดของ TopoJSON บน GitHubหมายถึงไฟล์ TopoJSON มีขนาดเล็ก 80% แล้วทำไมไม่ใช้ TopoJSON ตลอดเวลาล่ะ?
GeoJSON และ TopoJSON แตกต่างกันอย่างไรและเมื่อใดที่ฉันจะใช้อันอื่น
รายละเอียดของ TopoJSON บน GitHubหมายถึงไฟล์ TopoJSON มีขนาดเล็ก 80% แล้วทำไมไม่ใช้ TopoJSON ตลอดเวลาล่ะ?
คำตอบ:
หากคุณสนใจเกี่ยวกับขนาดไฟล์หรือโทโพโลยีให้ใช้ TopoJSON หากคุณไม่สนใจอย่างใดอย่างหนึ่งให้ใช้ GeoJSON เพื่อความเรียบง่าย
ข้อได้เปรียบหลักของ TopoJSON คือขนาด ด้วยการกำจัดความซ้ำซ้อนและใช้การเข้ารหัสพิกัดจำนวนเต็มที่มีความแม่นยำคงที่ที่มีประสิทธิภาพมากขึ้นไฟล์ TopoJSON มักมีลำดับขนาดที่เล็กกว่าไฟล์ GeoJSON ข้อได้เปรียบรองของไฟล์ TopoJSON คือการเข้ารหัสโทโพโลยีมีแอปพลิเคชั่นที่มีประโยชน์เช่นการลดความซับซ้อนของโทโพโลยี (คล้ายกับMapShaper ) และการสร้างตาข่ายอัตโนมัติ (เช่นเดียวกับขอบเขตของรัฐในตัวอย่างนี้ )
ข้อดีเหล่านี้มีค่าใช้จ่าย: รูปแบบไฟล์ที่ซับซ้อนมากขึ้น ใน JavaScript ตัวอย่างเช่นคุณต้องการโดยทั่วไปแล้วจะใช้ห้องสมุดลูกค้า TopoJSONการแปลง TopoJSON เพื่อ GeoJSON สำหรับใช้กับเครื่องมือมาตรฐานเช่นd3.geoPath (ใน Python คุณสามารถใช้topojson.pyได้) นอกจากนี้รูปแบบจำนวนเต็มของ TopoJSON ต้องการพิกัดเชิงปริมาณซึ่งหมายความว่าจะทำให้เกิดข้อผิดพลาดในการปัดเศษได้หากคุณไม่ระวัง (ดูเอกสารประกอบสำหรับtopojson -q
)
สำหรับการจัดการรูปทรงเรขาคณิตทางฝั่งเซิร์ฟเวอร์ที่ไม่ต้องการโทโพโลยี GeoJSON น่าจะเป็นตัวเลือกที่ง่ายกว่า มิฉะนั้นหากคุณต้องการโทโพโลยีหรือต้องการส่งรูปทรงเรขาคณิตผ่านสายไปยังไคลเอนต์ให้ใช้ TopoJSON
TopoJSON เหมาะอย่างยิ่งสำหรับคุณลักษณะที่เป็นระเบียบเรียบร้อยซึ่ง "เชื่อมต่อ" ซึ่งกันและกันเช่นพื้นที่การดูแลระบบ แต่ไม่ได้ช่วยให้มีข้อมูลที่ยุ่งเหยิงหรืออินทรีย์มากขึ้น หากข้อมูลของคุณเป็นเพียงจุดเดียว TopoJSON ก็ไม่ช่วยอะไรเลย
ขึ้นอยู่กับการพิจารณาหลายประการ ในหมู่พวกเขามีดังต่อไปนี้:
1) ลักษณะ (แบบจำลองข้อมูล) ของคุณลักษณะหรือคุณลักษณะที่คุณต้องการเป็นตัวแทน 2) คุณลักษณะใด ๆ ที่คุณต้องการให้เชื่อมโยงกับคุณลักษณะเหล่านั้น 3) คุณต้องการให้คุณลักษณะเหล่านี้ทำงานอย่างไรบนหน้าเว็บ (แบบคงที่เทียบกับ ไดนามิก)
อย่างไรก็ตามนี่เป็นคำถามที่ยากที่จะตอบในบทคัดย่อ เกี่ยวกับข้อมูลจำเพาะบางอย่างหากคุณมีความครอบคลุมของรูปหลายเหลี่ยมที่อยู่ติดกันหรือสถานการณ์อื่นที่คุณลักษณะต่างๆกำลังแบ่งปันขอบเขตโมเดลของ topojson จะช่วยให้คุณใช้ประโยชน์จากความซ้ำซ้อนและปัจจัยที่เข้ามาในโมเดลได้
อ่านเอกสารแยกตัวอย่าง (เช่น bl.ocks.org) จากนั้นรับข้อมูลและนำเสนอทั้งใน geojson และ topojson และสร้างภาพของคุณเอง