GeoJSON (.geojson)

IETF תקן

GeoJSON נפוץ במפות רשת, אך התמיכה משתנה. GitHub מציג קבצים נתמכים עם מגבלות; RFC 7946 קובע אורך גאוגרפי לפני רוחב.

המר GEOJSON ל-KML

ממיר חינמי מ-GEOJSON ל-KML פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי GeoJSON על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי GeoJSON על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 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
אימוץ במיפוי רשתנפוץ במיפוי ברשת; התמיכה משתנה בין יישומיםברירת המחדל של Google Earthברירת המחדל למכשירי GPS וכושרתקן ותיק ל-GIS שולחני
סדר קואורדינטות[קו אורך, קו רוחב] (X, Y)קו אורך, קו רוחב, גובהקו רוחב, קו אורךקואורדינטות X, Y
סגנון תחבירמפתחות-ערכים נקיים ב-JSONתגיות XML מרובות מלל (<kml>)תגיות XML מרובות מלל (<gpx>)קבצים בינאריים מרובים (.shp, .shx, .dbf)
סכמת מאפייניםאובייקט מאפייני JSON שרירותיתגיות סכמה של ExtendedDataתגיות סכמה קבועות של GPXעמודות קבועות של dBase IV (.dbf)

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

נקודות המפה מופיעות באוקיינוס ליד אנטארקטיקה במקום במיקומן האמיתי.

גורם שורש: ערכי קו הרוחב וקו האורך הוחלפו בטעות במערך הקואורדינטות.

שחזור: החלף בחזרה את מיקומי הקואורדינטות [lon, lat] באמצעות ממיר ה-GeoJSON של File2File.app.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

מאפייני GeoJSON עשויים להכיל קלט משתמש שרירותי שיש לנקות לפני הרינדור בחלונות קופצים במפה כדי למנוע מתקפות XSS.

ווקטורי תקיפה ידועים

  • סקריפטים חוצי אתרים (XSS) באמצעות HTML שלא עבר ניקוי במאפייני GeoJSON המוצגים בחלוניות המידע של המפה.
  • מניעת שירות (DoS) באמצעות אובייקטי GeometryCollection מקוננים לעומק או פוליגונים בעלי מיליוני קודקודים.
  • זיוף בקשות בצד השרת (SSRF) באמצעות טעינה מרחוק של מאפייני GeoJSON.

שיטות מומלצות להגנה: נקה את כל מחרוזות הטקסט של המאפיינים באמצעות DOMPurify לפני הוספה לחלונות קופצים במפה.

היסטוריה ואבני דרך

2016ארגון IETF מתקנן באופן רשמי את פורמט GeoJSON בתור תקן RFC 7946, המחייב מערכות ייחוס קואורדינטות מסוג WGS 84.
2014GeoJSON נפוץ במפות רשת, אך התמיכה משתנה. GitHub מציג קבצים נתמכים עם מגבלות; RFC 7946 קובע אורך גאוגרפי לפני רוחב.
2008הווארד באטלר, שון גילס וקהילת ה-GIS בקוד פתוח מפרסמים את מפרט ה-GeoJSON 1.0 המקורי.

יתרונות מרכזיים

  • תקן רשת מקורי: ממופה ישירות לאובייקטי JavaScript בספריות מיפוי בדפדפן (כמו Mapbox GL JS ו-Leaflet).
  • מבנה JSON קריא לבני אדם המאפשר יצירה, סינון וניפוי שגיאות תכנותיים בקלות רבה.
  • סכמת מאפיינים שרירותית: צירוף כל מטא-דאטה מותאם אישית (אוכלוסייה, שם, מהירות, הכנסות) ישירות לצורות הגיאומטריות.

מגבלות טכניות וחסרונות

  • מלל טקסטואלי מרובה: שמירת קואורדינטות בנקודה צפה כספרות ASCII חוזרות, המובילה לקבצים גדולים יותר בהשוואה ל-Shapefiles בינאריים או ל-FlatGeobuf.
  • תקן RFC 7946 מחייב בקפדנות סדר [אורך, רוחב] (Longitude, Latitude), דבר המבלבל לעתים קרובות מפתחים הרגילים לסדר 'קו רוחב/קו אורך'.
  • פוליגונים גדולים עם מיליוני קודקודים עלולים לגרום להאטה ברינדור ה-DOM של דפדפן האינטרנט.

עובדות טכניות מעניינות

  • תקן ה-GeoJSON הרשמי מסדר את הקואורדינטות בסדר [קו אורך, קו רוחב] (סדר קרטזיאני X, Y), וזהו בדיוק ההפך מהאופן שבו בני אדם אומרים זאת בדרך כלל ('קו רוחב, קו אורך').
  • GeoJSON נפוץ במפות רשת, אך התמיכה משתנה. GitHub מציג קבצים נתמכים עם מגבלות; RFC 7946 קובע אורך גאוגרפי לפני רוחב.
  • תקן RFC 7946 דורש שטבעות הגבול של פוליגונים יפעלו לפי 'כלל יד ימין': יש לכוון את הטבעות החיצוניות נגד כיוון השעון.

שאלות טכניות נפוצות

מדוע קואורדינטות ה-GeoJSON שלי מסודרות כ-[אורך, רוחב] (longitude, latitude) במקום [רוחב, אורך]?

GeoJSON נפוץ במפות רשת, אך התמיכה משתנה. GitHub מציג קבצים נתמכים עם מגבלות; RFC 7946 קובע אורך גאוגרפי לפני רוחב.

כיצד אוכל להמיר KML או Shapefile ל-GeoJSON?

באפשרותך להמיר קובצי Google Earth KML או Esri Shapefiles ל-GeoJSON נקי המוכן לווב תוך שניות באמצעות File2File.app ישירות בדפדפן שלך.

מה ההבדל בין GeoJSON לבין Shapefile?

Shapefile עדיין נמצא בשימוש נרחב להעברת נתונים ונתמך בתוכנות GIS, אך המבנה שלו הכולל כמה קבצים ומגבלות המאפיינים עשויים להפוך את GeoJSON או מסד נתונים גאוגרפי למתאימים יותר לחלק מתהליכי העבודה.