JupyterGIS ก้าวล้ำด้วยระบบ GIS บนเบราว์เซอร์ พร้อมความร่วมมือแบบเรียลไทม์และเครื่องมือประมวลผลใหม่

ทีมชุมชน BigGo
JupyterGIS ก้าวล้ำด้วยระบบ GIS บนเบราว์เซอร์ พร้อมความร่วมมือแบบเรียลไทม์และเครื่องมือประมวลผลใหม่

ภูมิทัศน์เทคโนโลยีภูมิสารสนเทศกำลังพัฒนาอย่างรวดเร็วด้วยเครื่องมือบนเบราว์เซอร์ที่ทันสมัยมากขึ้น JupyterGIS ซึ่งเปิดตัวในเดือนมิถุนายน 2024 ในฐานะสภาพแวดล้อม GIS บนเว็บแบบร่วมมือกัน สร้างขึ้นบน JupyterLab ถือเป็นก้าวสำคัญในการนำเวิร์กโฟลว์ที่ได้รับแรงบันดาลใจจาก QGIS มาสู่เบราว์เซอร์โดยตรง แม้ความสามารถทางเทคนิคของแพลตฟอร์มจะน่าประทับใจ แต่การสนทนาของชุมชนเผยให้เห็นทั้งความตื่นเต้นเกี่ยวกับศักยภาพและคำถามเชิงปฏิบัติเกี่ยวกับการนำไปใช้ โดยเฉพาะอย่างยิ่งเกี่ยวกับความร่วมมือแบบเรียลไทม์ ความคงอยู่ของข้อมูล และความสัมพันธ์กับแหล่งข้อมูลที่จัดตั้งขึ้นเช่น OpenStreetMap

อินเทอร์เฟซแผนที่ดิจิทัลจาก JupyterGIS ที่แสดง convex hull polygon บนประเทศฝรั่งเศส เพื่อแสดงให้เห็นความสามารถด้าน GIS ของแพลตฟอร์ม
อินเทอร์เฟซแผนที่ดิจิทัลจาก JupyterGIS ที่แสดง convex hull polygon บนประเทศฝรั่งเศส เพื่อแสดงให้เห็นความสามารถด้าน GIS ของแพลตฟอร์ม

ความร่วมมือแบบเรียลไทม์: คำมั่นสัญญาและคำถามเชิงปฏิบัติ

หนึ่งในคุณสมบัติที่ได้รับการโปรโมตมากที่สุดของ JupyterGIS คือความสามารถในการแก้ไขแบบร่วมมือแบบเรียลไทม์ ซึ่งอธิบายว่าทำงานในสไตล์ Google Docs ฟังก์ชันการทำงานนี้สร้างขึ้นบนโครงสร้างพื้นฐานการทำงานร่วมกันที่มีอยู่ของ JupyterLab ซึ่งรวมถึงส่วนขยายที่ออกแบบมาสำหรับการแก้ไขพร้อมกัน อย่างไรก็ตาม สมาชิกชุมชนได้แสดงความไม่แน่ใจเกี่ยวกับวิธีการทำงานในทางปฏิบัติ โดยเฉพาะเมื่อผู้ใช้หลายคนอาจพยายามรันโค้ดพร้อมกัน ดังที่ผู้แสดงความคิดเห็นหนึ่งคนระบุเกี่ยวกับความขัดแย้งที่อาจเกิดขึ้น:

ฉันเดาว่าสิ่งต่างๆ อาจยุ่งเหยิงเมื่อคุณพยายามรันพร้อมกัน เว้นแต่พวกเขาจะได้ใช้ CRDT สำหรับสถานะสมุดบันทึกทั้งหมดจริงๆ

ระบบการทำงานร่วมกันดูเหมือนจะจัดการกับการแก้ไขพื้นฐานได้ดี คล้ายกับโปรแกรมแก้ไขแบบร่วมมืออื่นๆ แต่การผสานรวมการดำเนินการโค้ดกับการจัดการข้อมูลทางภูมิศาสตร์นำเสนอความท้าทายเฉพาะตัวที่ชุมชนกำลังจับตาดูอย่างใกล้ชิดในขณะที่แพลตฟอร์มกำลังพัฒนา

รูปแบบการใช้งานและข้อกังวลเกี่ยวกับความคงอยู่ของข้อมูล

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

แพลตฟอร์มรองรับรูปแบบการใช้งานต่างๆ รวมถึงการติดตั้ง JupyterLab แบบดั้งเดิม การใช้งาน JupyterHub และการใช้งานแบบ Kubernetes ผ่าน Kubeflow แต่ละวิธีจัดการการจัดเก็บข้อมูลแตกต่างกัน—จากการจัดเก็บเบราว์เซอร์ชั่วคราวใน JupyterLite ไปจนถึงโวลุ่มถาวรในการใช้งานแบบเซิร์ฟเวอร์ ความยืดหยุ่นนี้ช่วยให้องค์กรสามารถเลือกกลยุทธ์การใช้งานที่เหมาะสม แต่ต้องการให้ผู้ใช้เข้าใจว่าข้อมูลทางภูมิографииและงานวิเคราะห์ของพวกเขาถูกเก็บไว้ที่ไหนจริงๆ และวิธีการดำเนินการขั้นตอนการสำรองข้อมูลที่เหมาะสม

สถาปัตยกรรมทางเทคนิคและความสามารถในการแสดงภาพ

JupyterGIS ใช้ OpenLayers เป็นแบ็กเอนด์การแสดงภาพด้วยการเรนเดอร์ที่ใช้ GPU ผ่าน WebGL เมื่อมีอยู่ การอัปเดตล่าสุดของแพลตฟอร์มรวมถึงชุดเครื่องมือประมวลผลใหม่ที่สำคัญซึ่งขับเคลื่อนโดยการสร้าง WebAssembly ของ GDAL (Geospatial Data Abstraction Library) นำการดำเนินการเช่น การคำนวณบัฟเฟอร์ การสร้างรูปทรงนูน และการดำเนินการละลาย มายังสภาพแวดล้อมเบราว์เซอร์โดยตรง ชุดเครื่องมือได้รับการออกแบบสำหรับการขยายผ่านสคีมา JSON ที่อนุญาตให้การดำเนินการ GDAL เพิ่มเติมสามารถรวมเข้ากับกระบวนการได้อย่างตรงไปตรงมา

การรองรับรูปแบบข้อมูลที่เกิดขึ้นใหม่เช่น GeoParquet และ PMTiles ของแพลตฟอร์ม สะท้อนให้เห็นถึงภูมิทัศน์ข้อมูลภูมิสารสนเทศที่กำลังพัฒนา GeoParquet ช่วยให้การจัดเก็บแบบคอลัมน์มีประสิทธิภาพสำหรับการสอบถามเชิงวิเคราะห์ ในขณะที่ PMTiles จัดการส่ง瓦イルเวกเตอร์ที่กะทัดรัดและเป็นมิตรกับการสตรีม การรองรับรูปแบบเหล่านี้กำหนดตำแหน่ง JupyterGIS เพื่อทำงานกับเวิร์กโฟลว์ข้อมูลภูมิสารสนเทศสมัยใหม่ ในขณะที่ยังคงความเข้ากันได้กับรูปแบบดั้งเดิม

ข้อมูลจำเพาะทางเทคนิคหลักของ JupyterGIS

  • Visualization Backend: OpenLayers พร้อมการเร่งความเร็วด้วย WebGL
  • Processing Engine: GDAL เวอร์ชัน WebAssembly
  • Core Collaboration: สร้างบนส่วนขยายการทำงานร่วมกันของ JupyterLab
  • New Data Formats: GeoParquet (columnar storage), PMTiles (vector tiles)
  • STAC Support: ปัจจุบันรองรับ Geodes STAC API โดยมีแผนรองรับ catalog ที่กว้างขึ้นในอนาคต
  • Deployment Options: JupyterLite (browser), JupyterLab (local/server), JupyterHub, Kubernetes

การบูรณาการกับระบบนิเวศข้อมูลภูมิศาสตร์เปิด

การสนทนาของชุมชนเผยให้เห็นความสนใจในวิธีที่ JupyterGIS เชื่อมต่อกับแหล่งข้อมูลภูมิศาสตร์เปิดที่จัดตั้งขึ้น โดยเฉพาะอย่างยิ่ง OpenStreetMap แม้ที่เก็บของแพลตฟอร์มจะไม่ได้กล่าวถึง OpenStreetMap อย่างชัดเจน แต่ผู้พัฒนายืนยันว่า JupyterGIS สามารถใช้ข้อมูล OSM เป็นแผนที่ฐานหรือการซ้อนทับควบคู่ไปกับแหล่งข้อมูลอื่นๆ ตัวเบราว์เซอร์ STAC (SpatioTemporal Asset Catalog) ที่ฝังตัวอยู่เพิ่มความสามารถในการค้นพบข้อมูลให้ดียิ่งขึ้นไปอีก แม้ว่าปัจจุบันจะรองรับเฉพาะ Geodes STAC API โดยมีการรองรับแคตตาล็อกที่กว้างขึ้นอยู่ระหว่างการพัฒนา

ความสัมพันธ์ระหว่าง JupyterGIS และ OpenStreetMap เป็นตัวอย่างของวิธีที่เครื่องมือวิเคราะห์เฉพาะทางสามารถใช้ประโยชน์จากข้อมูลทางภูมิศาสตร์ที่ได้มาจากฝูงชน ผู้ใช้สามารถแสดงภาพ สอบถาม และประมวลผลข้อมูล OSM โดยตรงภายในสมุดบันทึก ในขณะที่ใช้เครื่องมือ Python เช่น GeoPandas สำหรับการวิเคราะห์เพิ่มเติม สร้างสะพานเชื่อมระหว่างความพยายามในการรวบรวมข้อมูลและเวิร์กโฟลว์การวิเคราะห์

เครื่องมือประมวลผล GDAL ที่สามารถใช้งานได้ในเบราว์เซอร์

  • Buffer: คำนวณพื้นที่บัฟเฟอร์รอบๆ เรขาคณิตของเวกเตอร์
  • Convex Hull: คำนวณรูปทรงนูนสำหรับแต่ละฟีเจอร์
  • Dissolve: รวมฟีเจอร์ของเลเยอร์เวกเตอร์เข้าด้วยกันเป็นฟีเจอร์ใหม่
  • Bounding Boxes: คำนวณกรอบขอบเขตสำหรับแต่ละฟีเจอร์
  • Centroids: สร้างเลเยอร์ใหม่ที่มีจุดศูนย์กลางของเรขาคณิต
  • Concave Hull: คำนวณรูปทรงเว้าสำหรับเลเยอร์จุด

การพัฒนาในอนาคตและการมีส่วนร่วมของชุมชน

แผนงานการพัฒนา JupyterGIS รวมถึงการขยายชุดเครื่องมือประมวลผลตาม GDAL การบูรณาการที่ลึกซึ้งยิ่งขึ้นกับ QGIS และตัวแก้ไข Story Maps สำหรับการสื่อสารเชิงโต้ตอบของข้อมูลภูมิสารสนเทศ รูปแบบการมีส่วนร่วมของชุมชนรวมถึงแบบฝึกหัดเอกสารประกอบ การสนทนาผ่านช่องทางการสื่อสาร GeoJupyter และแฮกกาธอนทุกสองสัปดาห์ ส่งเสริมการมีส่วนร่วมจากนักวิจัย นักพัฒนา และนักการศึกษาทั่วโลก

ในขณะที่เครื่องมือ GIS บนเบราว์เซอร์ยังคงเติบโตเต็มที่ JupyterGIS แสดงถึงวิวัฒนาการที่สำคัญในวิธีการที่การวิเคราะห์ทางภูมิศาสตร์สามารถดำเนินการแบบร่วมกันได้ แม้คำถามจะยังคงอยู่เกี่ยวกับรายละเอียดการใช้งานเชิงปฏิบัติ แต่การรวมกันของความร่วมมือแบบเรียลไทม์ การประมวลผลบนเบราว์เซอร์ และการบูรณาการกับรูปแบบข้อมูลสมัยใหม่ของแพลตฟอร์ม กำหนดตำแหน่งให้มันเป็นการพัฒนาที่สำคัญในภูมิทัศน์การวิเคราะห์ภูมิสารสนเทศที่เข้าถึงได้

อ้างอิง: JupyterGIS breaks through to the next level