پرش به محتوای اصلی
پرش به محتوای مقاله

چگونه GeoLibre پردازش داده‌های جغرافیایی سنگین را به مرورگر منتقل کرد؟

·۲۱ خرداد ۱۴۰۵۵ دقیقه مطالعه
پلتفرم GIS سبک و بومی‌ابری برای نمایش، کاوش و تحلیل داده‌های مکانی
پلتفرم GIS سبک و بومی‌ابری برای نمایش، کاوش و تحلیل داده‌های مکانی
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

انتقال کامل موتور تحلیل SQL (از طریق DuckDB-WASM) به مرورگر، به‌طوری که کاربر برای پرس‌وجوهای پیچیده روی داده‌های حجیم، به هیچ سرور خارجی وابسته نباشد.

اگر تحلیلگر داده‌های مکانی هستید و از نصب نرم‌افزارهای حجیم و پیکربندی‌های پیچیده خسته شده‌اید، GeoLibre راهکاری ارائه می‌دهد تا تمام گردش‌کارهای حرفه‌ای GIS را به‌طور کامل در یک تب مرورگر وب اجرا کنید. این پلتفرم که در ۱۰ ژوئن ۲۰۲۶ به‌عنوان یک نمونه اولیه پایدار (Stable Prototype) عرضه شد، اصطکاک میان اکتشاف داده‌های محلی و تحلیل‌های بومیِ ابری (Cloud-native) را از بین برده است.

نرم‌افزارهای سنتی GIS معمولاً به نصب‌های محلی بسیار حجیم و پیکربندی‌های پیچیده دیتابیس نیاز دارند. GeoLibre با بهره‌گیری از یک استک وب مدرن، این معادله را تغییر می‌دهد و ابزارهای مکانی را به سادگیِ باز کردن یک وب‌سایت در دسترس قرار می‌دهد. مخاطب هدف این ابزار، توسعه‌دهندگان و تحلیلگرانی هستند که به محیط‌هایی سریع و واکنش‌گرا نیاز دارند که به‌طور یکسان روی صفحه‌نمایش‌های دسکتاپ و موبایل همگام شود.

به نقل از مستندات geolibre.app، این پلتفرم بر پایه استک فنی پیشرفته‌ای شامل Tauri، React، TypeScript، MapLibre GL JS و deck.gl بنا شده است. قلب تپنده این سیستم، موتور DuckDB-WASM Spatial است. این فناوری به کاربران اجازه می‌دهد کوئری‌های SQL را مستقیماً روی لایه‌های بارگذاری شده یا URLهای راه دور اجرا کنند. این سیستم از درخواست‌های محدوده HTTP (HTTP range requests) برای استریمینگ بهینه داده‌ها استفاده می‌کند.

زمینه و رابط کاربری

فضای کاری GeoLibre برای انعطاف‌پذیری حداکثری طراحی شده است. کاربران می‌توانند نقشه MapLibre را با استفاده از نقشه‌های پایه OpenFreeMap یا یک پس‌زمینه خالی، جابه‌جا (Pan)، زوم، چرخش (Rotate) و کج (Tilt) کنند. رابط کاربری شامل یک نوار ابزار، پنل‌ها، نوار وضعیت و مجموعه‌ای از کنترل‌های داخلی برای ناوبری، نمای کره (Globe view)، زمین (Terrain)، مکان‌یابی (Geolocation)، مقیاس، ارجاعات (Attribution) و لوگوها است.

ابزارهای روی-نقشه (On-map tools) کاربردهای فوری ارائه می‌دهند؛ از جمله ابزار اندازه‌گیری (Measure)، نشانه‌گذاری (Bookmark)، نقشه کوچک (Minimap) و وضعیت نما (View State). برای کسانی که با این پلتفرم تازه‌کار هستند، «راهنمای کاربر» و «آموزش‌ها» یک تور کامل از ویژگی‌های فضای کاری را فراهم می‌کنند؛ از نحوه افزودن اولین لایه تا اشتراک‌گذاری یک پروژه تکمیل‌شده.

قابلیت‌های فنی و فرمت‌ها

این پلتفرم طیف گسترده‌ای از فرمت‌های داده و سرویس‌ها را پشتیبانی می‌کند:

  • فرمت‌های بومی ابری (Cloud-Native): شامل GeoParquet، FlatGeobuf، PMTiles، Zarr و COG.
  • سرویس‌های وب: شامل XYZ، WMS، WFS، WMTS، ArcGIS و STAC.
  • داده‌های سه‌بعدی و رستر: شامل LiDAR، Gaussian splats، 3D Tiles، GeoTIFF و MBTiles.
  • دیتابیس‌ها: یکپارچگی مستقیم با DuckDB و PostgreSQL.

پلتفرم GIS سبک و بومی‌ابری برای نمایش، کاوش و تحلیل داده‌های مکانی

پردازش داده‌ها و SQL

قدرت پردازشی GeoLibre بین مرورگر و «سایدکارهای» (Sidecars) اختیاری تقسیم شده است. فضای کاری SQL به کاربران اجازه می‌دهد DuckDB Spatial SQL را مستقیماً در مرورگر اجرا کنند. این محیط به‌طور خودکار URLهای خام را در خواننده (Reader) مناسب می‌پیچاند و کوئری‌های نمونه و تاریخچه کوئری‌ها را ارائه می‌دهد. نتایج را می‌توان به صورت CSV یا GeoParquet صادر کرد یا با تعیین یک نام لایه اختیاری، مستقیماً به نقشه افزود.

پردازش‌ها بر اساس نوع داده به تفکیک زیر انجام می‌شوند:

  • ابزارهای برداری (Vector): در مسیر Processing $\rightarrow$ Vector، کاربر ابزارهایی برای ایجاد بافر (Buffer)، مرکزثقل‌ها (Centroids)، پوسته محدب (Convex hull)، ادغام (Dissolve)، جعبه محدوده (Bounding box)، ساده‌سازی (Simplify)، برش (Clip)، تقاطع (Intersection)، تفاضل (Difference) و اجتماع (Union) می‌یابد. این ابزارها از طریق Turf.js در مرورگر اجرا می‌شوند و یک موتور سایدکار GeoPandas اختیاری نیز برای آن‌ها وجود دارد.
  • ابزارهای رستر (Raster): در مسیر Processing $\rightarrow$ Raster، قابلیت‌هایی نظیر Hillshade، شیب (Slope)، جهت شیب (Aspect)، بازپروژکسیون (Reproject)، بازنمونه‌گیری (Resample)، برش بر اساس محدوده (Clip by extent)، برش بر اساس لایه ماسک (Clip by mask layer)، چندضلعه‌سازی (Polygonize) و خطوط تراز (Contour) ارائه می‌شود. این‌ها روی یک سایدکار پایتونی rasterio با استفاده از مسیر فایل‌ها برای ورودی و خروجی اجرا می‌شوند.
  • تبدیل (Conversion): منوی تبدیل به کاربران اجازه می‌دهد داده‌ها را به فرمت‌های بومی ابری مانند GeoParquet، FlatGeobuf، PMTiles و COG تبدیل کنند.

قابلیت گسترش و یکپارچگی

برای کاربران پیشرفته، پلتفرم یک جعبه‌ابزار Whitebox برای پردازش‌های مکانی دسته‌ای (Batch geoprocessing) روی یک سایدکار پایتونی اختیاری فراهم کرده است. همچنین یکپارچگی کامل با دفترچه‌های Jupyter از طریق بسته پایتونی geolibre وجود دارد. یک API به سبک leafmap (شامل دستوراتی مثل add_geojson ،add_tile_layer و add_cog) نقشه را هدایت می‌کند و همگام‌سازی پروژه دوطرفه است؛ به این معنا که ویرایش‌های رابط کاربری در پایتون قابل خواندن هستند.

این پلتفرم شامل یک بازارچه داخلی برای گسترش قابلیت‌هاست. کاربران می‌توانند افزونه‌هایی برای Overture Maps، نمای خیابانی (Street view)، لغزنده‌های زمانی (Time sliders)، LiDAR، ویرایشگر GeoEditor و یک GeoAgent تخصصی را فعال کنند. وضعیت پروژه در یک فرمت قابل حمل .geolibre.json ذخیره می‌شود که می‌تواند از طریق URL برای همکاری فوری بین کاربران به اشتراک گذاشته شود.

استقرار و حریم خصوصی

این تغییر به سمت معماری «اول-مرورگر» (Browser-first) به این معناست که سد ورود به تحلیل‌های مکانی در حال فروپاشی است. با انتقال محاسبات به سمت کاربر (Client-side) از طریق WASM، GeoLibre هزینه‌های سرور را کاهش و حریم خصوصی را افزایش داده است. دمو زنده این پروژه یک سایت استاتیک است که روی GitHub Pages مستقر شده، هیچ سیستم تحلیل داده‌ای (Analytics) ندارد و نیازی به حساب کاربری سرور ندارد؛ تمام داده‌ها در سمت کاربر پردازش می‌شوند.

برای یک متخصص عادی، این یعنی «استک GIS» دیگر یک نرم‌افزار ایستا نیست، بلکه ابزاری منعطف و قابل جاسازی است. شما می‌توانید یک نقشه کاملاً کاربردی را با استفاده از پارامترهای URL در یک گزارش جاسازی کنید:

  • &maponly: نوار ابزار، تمام پنل‌ها و نوار وضعیت را مخفی می‌کند تا تجربه‌ای بدون حاشیه (Chrome-free) ایجاد شود.
  • &panels=none (یا جایگزین‌هایی مثل panels=hidden یا hidePanels=true): پنل‌های لایه‌ها، استایل و جدول ویژگی‌ها (Attribute table) را مخفی می‌کند.
  • ?layout=compact: از دکمه‌های نوار ابزار فقط-آیکون استفاده کرده و متادیتای پروژه را مخفی می‌کند.

برای شروع اکتشاف، می‌توانید به دموی زنده در GitHub Pages دسترسی پیدا کنید یا اپلیکیشن Tauri را برای دسترسی کامل به سیستم فایل، MBTiles محلی و خواندن رسترهای محلی نصب کنید. منتظر به‌روزرسانی‌های نقشه راه (Roadmap) باشید تا ببینید این نمونه اولیه پایدار چگونه به یک مجموعه تولیدی کامل تبدیل می‌شود.

چرا این موضوع مهم است؟

این رویکرد با حذف نیاز به زیرساخت‌های گران‌قیمت سروری، دسترسی به تحلیل‌های پیشرفته جغرافیایی را دموکراتیزه می‌کند. تخصص در مدیریت داده‌های محلی در مرورگر، اکنون به یک اعتبار فنی برای توسعه‌دهندگان ابزارهای تحلیل داده تبدیل شده است.

تأثیر برای ایران

به‌دلیل هزینه‌های بالای اجاره سرورهای خارجی و محدودیت‌های دسترسی، ابزارهای Client-side مانند GeoLibre برای تحلیل‌گران ایرانی گزینه‌ای ایده‌آل هستند؛ چراکه تمام پردازش‌ها روی سخت‌افزار محلی کاربر انجام می‌شود.

·نگاه ما
تحریریه دات‌هوش

تحلیل ما نشان می‌دهد که GeoLibre تنها یک ابزار جدید نیست، بلکه بخشی از موج «مرورگر-محوری» در نرم‌افزارهای تخصصی است. وقتی مرورگر به دلیل WebAssembly تبدیل به یک محیط اجرای قدرتمند می‌شود، مرز بین اپلیکیشن‌های وب و نرم‌افزارهای دسکتاپ کاملاً می‌شکند و مدل توزیع نرم‌افزاری تغییر می‌کند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

موضوع‌ها

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.