ملف GeoJSON (.geojson)

IETF قياسي

يشيع GeoJSON في الخرائط على الويب، لكن الدعم يختلف. يعرض GitHub الملفات المتوافقة ضمن حدود؛ ويحدد RFC 7946 ترتيب خط الطول ثم العرض.

تحويل GEOJSON إلى KML

محول مجاني داخل المتصفح للتحويل من GEOJSON إلى KML. قم بتحويل الملفات فوراً على جهازك.

فحص البيانات الوصفية

تتعرف أنظمة التشغيل ومحللات الملفات على ملفات GeoJSON من خلال فحص تسلسل البايت الثنائي البادئ:

اختر الملفات أو أسقطها هنا

خاص - لا تغادر الملفات جهازك أبدًا

أو الصق Ctrl+V
ضمان الخصوصية وعدم الإرسال عبر الشبكة: صفر بايت يتم رفعه إلى خوادم خارجية. تمت كل عمليات المعالجة محلياً في صندوق الحماية (Sandbox) الخاص بمتصفحك.

توقيع رأس الملف على مستوى البايت (Magic Bytes)

تتعرف أنظمة التشغيل ومحللات الملفات على ملفات GeoJSON من خلال فحص تسلسل البايت الثنائي البادئ:

التوقيع الست عشري (الإزاحة 0):

7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65

تمثيل ASCII: {\n "type": "Feature

التوحيد القياسي: IETF RFC 7946

المواصفات الفنية

هيكلية الحاويةمستند JSON وفق RFC 7946، يمثّل المعالم الجغرافية ومجموعاتها وهندساتها
الضغطنص غير مضغوط (يمكن ضغطه بسهولة عبر HTTP باستخدام Gzip أو Brotli)
ترتيب البايتات (Endianness)تدفق نصي بترميز UTF-8
مساحات الألوانلا ينطبق (بيانات جغرافية)
القنوات والبنيةنقاط ونقاط متعددة وخطوط متعددة ومضلعات ومضلعات متعددة ومجموعات هندسية وخصائص مخصصة
الحد الأقصى للأبعادنظام WGS 84 للإحداثيات الجغرافية: خط الطول من -180 إلى +180، وخط العرض من -90 إلى +90
الشفافيةلا ينطبق
البث والتحميل التدرجييتيح GeoJSON المفصول بأسطر (GeoJSONL / GeoJSONSeq) معالجة ملايين المعالم بالتدفق

مصفوفة المقارنة التقنية: GeoJSON مقابل المنافسين

السمة التقنيةGeoJSON (الحالي)KMLGPXSHP
اعتماد خرائط الويبافتراضي ويب GIS عالمي بنسبة 100%الافتراضي في Google Earthالافتراضي لأجهزة GPS وتطبيقات اللياقة البدنيةالمعيار القديم لنظم المعلومات الجغرافية المكتبية
ترتيب الإحداثيات[خط الطول، خط العرض] (X, Y)خط الطول، خط العرض، الارتفاعخط العرض، خط الطولإحداثيات X, Y
أسلوب الصياغةأزواج مفاتيح وقيم JSON نظيفةوسوم XML مطولة (<kml>)وسوم XML مطولة (<gpx>)مجموعة ملفات ثنائية (.shp و.shx و.dbf)
مخطط الخصائصكائن خصائص JSON مرنوسوم مخطط ExtendedDataوسوم مخطط GPX ثابتةأعمدة dBase IV (.dbf) ثابتة

أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري

تظهر نقاط الخريطة في المحيط قرب القارة القطبية الجنوبية بدلاً من مواقعها الحقيقية.

السبب الجذري: عُكست قيمتا خط العرض وخط الطول عن طريق الخطأ في مصفوفة الإحداثيات.

الاسترداد: بدّل موضعي الإحداثيين إلى [lon, lat] باستخدام محوّل GeoJSON في File2File.app.

تحليل الأمان ومتجهات الهجوم على المحلّل

قد تتضمن خصائص GeoJSON مدخلات عشوائية من المستخدم، لذا يجب تنقيحها قبل عرضها في نوافذ الخرائط المنبثقة لتجنب هجمات XSS.

ناقلات الهجوم المعروفة

  • هجوم XSS عبر شيفرة HTML غير مهربة في خصائص معالم GeoJSON، تظهر في تلميحات الخرائط.
  • حجب الخدمة عبر مجموعات هندسية متداخلة بعمق أو مضلعات تضم ملايين الرؤوس.
  • تزوير طلبات من جانب الخادم (SSRF) عبر تحميل معالم GeoJSON عن بُعد.

أفضل الممارسات الدفاعية: نقّح النصوص في جميع الخصائص باستخدام DOMPurify قبل إدراجها في نوافذ الخرائط المنبثقة.

الأصول التاريخية والمحطات الرئيسية

2016وحّدت IETF تنسيق GeoJSON رسميًا في RFC 7946، وألزمت باستخدام نظام الإحداثيات WGS 84.
2014يشيع GeoJSON في الخرائط على الويب، لكن الدعم يختلف. يعرض GitHub الملفات المتوافقة ضمن حدود؛ ويحدد RFC 7946 ترتيب خط الطول ثم العرض.
2008نشر Howard Butler وSean Gillies ومجتمع نظم المعلومات الجغرافية مفتوح المصدر المواصفة الأولى لـ GeoJSON 1.0.

المزايا الرئيسية والإيجابيات

  • معيار ويب أصلي: يُحوَّل مباشرةً إلى كائنات جافا سكريبت في مكتبات خرائط المتصفح (مثل Mapbox GL JS و Leaflet).
  • تتيح بنية JSON المقروءة للبشر إنشاء البيانات وتصفيتها وتصحيح أخطائها برمجيًا بسهولة.
  • تتيح بنية الخصائص المرنة إضافة أي بيانات وصفية مخصصة، مثل السكان والاسم والسرعة والإيرادات، مباشرةً إلى الأشكال الهندسية.

القيود الفنية والسلبيات

  • الإحداثيات النصية العشرية تزيد حجم الملف مقارنةً بتنسيقات Shapefile الثنائية أو FlatGeobuf.
  • يفرض RFC 7946 ترتيب [خط الطول، خط العرض]، وهو ما قد يربك المطورين المعتادين على ترتيب «خط العرض، خط الطول».
  • قد تبطئ المضلعات الكبيرة التي تضم ملايين الرؤوس عرض DOM في متصفحات الويب.

معلومات تقنية طريفة

  • يرتّب معيار GeoJSON الرسمي الإحداثيات [خط الطول، خط العرض]، أي ترتيب X ثم Y، وهو عكس الترتيب الشائع في الكلام: «خط العرض، خط الطول».
  • يشيع GeoJSON في الخرائط على الويب، لكن الدعم يختلف. يعرض GitHub الملفات المتوافقة ضمن حدود؛ ويحدد RFC 7946 ترتيب خط الطول ثم العرض.
  • يشترط RFC 7946 اتباع قاعدة اليد اليمنى في حلقات حدود المضلعات؛ إذ يجب رسم الحلقات الخارجية عكس اتجاه عقارب الساعة.

الأسئلة التقنية المتكررة

لماذا تأتي إحداثيات GeoJSON بترتيب [خط الطول، خط العرض] بدلًا من [خط العرض، خط الطول]؟

يشيع GeoJSON في الخرائط على الويب، لكن الدعم يختلف. يعرض GitHub الملفات المتوافقة ضمن حدود؛ ويحدد RFC 7946 ترتيب خط الطول ثم العرض.

كيف يمكنني تحويل KML أو Shapefile إلى GeoJSON؟

يمكنك تحويل ملفات KML من Google Earth أو ملفات Shapefile من Esri إلى GeoJSON جاهز للويب باستخدام File2File.app مباشرةً في المتصفح.

ما الفرق بين GeoJSON وShapefile؟

لا تزال ملفات Shapefile مستخدمة على نطاق واسع لتبادل البيانات وتدعمها برامج نظم المعلومات الجغرافية، لكن بنيتها متعددة الملفات وقيود السمات قد تجعل GeoJSON أو قاعدة بيانات جغرافية أنسب لبعض سير العمل.