جيوسون
| ملحقات اسم الملف | .json,.geojson |
|---|---|
| نوع الوسائط على الإنترنت | application/geo+json[1] |
| نوع التنسيق | تنسيق ملف نظم المعلومات الجغرافية |
| ممتدة من | جيسون |
| معيار | طلب التعليقات رقم 7946 |
| تنسيق مفتوح ؟ | نعم |
| موقع إلكتروني | جيو جيسون.org |
GeoJSON [1] هو تنسيق قياسي مفتوح مصمم لتمثيل المعالم الجغرافية البسيطة ، إلى جانب سماتها غير المكانية. وهو يعتمد على تنسيق JSON .
تتضمن الميزات نقاطًا (وبالتالي عناوين ومواقع)، وسلاسل خطوط (وبالتالي شوارع وطرق سريعة وحدود)، ومضلعات (دول ومقاطعات ومساحات من الأراضي)، ومجموعات متعددة الأجزاء من هذه الأنواع. لا يلزم أن تمثل ميزات GeoJSON كيانات العالم المادي فقط؛ على سبيل المثال، قد تصف تطبيقات التوجيه والملاحة المحمولة تغطية خدماتها باستخدام GeoJSON. [2]
يختلف تنسيق GeoJSON عن معايير GIS الأخرى في أنه لم يتم كتابته وصيانته بواسطة منظمة معايير رسمية، ولكن بواسطة مجموعة عمل من المطورين على الإنترنت. [3]
أحد الأبناء البارزين لـ GeoJSON هو TopoJSON، وهو امتداد لـ GeoJSON يقوم بتشفير الطوبولوجيا الجغرافية ويوفر عادةً أحجام ملفات أصغر.
تاريخ
بدأت مجموعة عمل تنسيق GeoJSON والمناقشة في مارس 2007 [4] وتم الانتهاء من مواصفات التنسيق في يونيو 2008.
في أبريل 2015، أسس فريق عمل هندسة الإنترنت مجموعة عمل JSON الجغرافية [5] والتي أصدرت GeoJSON كـ RFC 7946 في أغسطس 2016.
مثال
{
"type" : "FeatureCollection" ، "features" : [ { "type" : "Feature" ، "geometry" : { "type" : "Point" ، "coordinates" : [ 102.0 ، 0.5 ] }، "properties" : { "prop0" : "value0" } }، { "type" : "Feature" ، "geometry" : { "type" : "LineString" ، "coordinates" : [ [ 102.0 ، 0.0 ]، [ 103.0 ، 1.0 ]، [ 104.0 ، 0.0 ]، [ 105.0 ، 1.0 ] ] }، "properties" : { "prop0" : "value0" ، "prop1" : 0.0 } }، { "type" : "Feature" ، "geometry" : { "النوع" : "مضلع" ، "الإحداثيات" : [ [ [ 100.0 ، 0.0 ]، [ 101.0 ، 0.0 ]، [ 101.0 ، 1.0 ]، [ 100.0 ، 1.0 ]، [ 100.0 ، 0.0 ] ] ] }، "الخصائص" : { "prop0" : "value0" ، "prop1" : { "هذا" : "ذلك" } } } ] }
الهندسة
النقاط هي [x, y] أو [x, y, z]. وقد تكون [خط الطول، خط العرض] أو [اتجاهات الشرق، اتجاه الشمال] . الارتفاع، بالأمتار، [6] هو رقم ثالث اختياري. وهي أرقام عشرية. [7]
على سبيل المثال، لندن (51.5074 درجة شمالاً، 0.1278 درجة غربًا) هي [-0.1278، 51.5074]
| يكتب | أمثلة | |
|---|---|---|
| نقطة | {
"النوع" : "النقطة" ، "الإحداثيات" : [ 30.0 ، 10.0 ] }
| |
| سلسلة سطرية | {
"نوع" : "سلسلة خطية" ، "الإحداثيات" : [ [ 30.0 , 10.0 ], [ 10.0 , 30.0 ], [ 40.0 , 40.0 ] ] }
| |
| مضلع | {
"النوع" : "مضلع" ، "الإحداثيات" : [ [ [ 30.0 ، 10.0 ]، [ 40.0 ، 40.0 ]، [ 20.0 ، 40.0 ]، [ 10.0 ، 20.0 ]، [ 30.0 ، 10.0 ] ] ] }
| |
{
"النوع" : "مضلع" ، "الإحداثيات" : [ [ [ 35.0 ، 10.0 ]، [ 45.0 ، 45.0 ]، [ 15.0 ، 40.0 ]، [ 10.0 ، 20.0 ]، [ 35.0 ، 10.0 ] ]، [ [ 20.0 ، 30.0 ]، [ 35.0 ، 35.0 ]، [ 30.0 ، 20.0 ]، [ 20.0 ، 30.0 ] ] ] }
| ||
| يكتب | أمثلة | |
|---|---|---|
| متعدد النقاط | {
"النوع" : "متعدد النقاط" ، "الإحداثيات" : [ [ 10.0 ، 40.0 ]، [ 40.0 ، 30.0 ]، [ 20.0 ، 20.0 ]، [ 30.0 ، 10.0 ] ] }
| |
| سلسلة متعددة الأسطر | {
"النوع" : "سلسلة أسطر متعددة" ، "الإحداثيات" : [ [ [ 10.0 ، 10.0 ]، [ 20.0 ، 20.0 ]، [ 10.0 ، 40.0 ] ]، [ [ 40.0 ، 40.0 ] ، [ 30.0 ، 30.0 ]، [ 40.0 ، 20.0 ]، [ 30.0 ، 10.0 ] ] ] }
| |
| متعدد الأضلاع | {
"النوع" : "متعدد الأضلاع" ، "الإحداثيات" : [ [ [ [ 30.0 , 20.0 ], [ 45.0 , 40.0 ], [ 10.0 , 40.0 ], [ 30.0 , 20.0 ] ] ], [ [ [ 15.0 , 5.0 ] , [ 40.0 , 10.0 ], [ 10.0 , 20.0 ], [ 5.0 , 10.0 ] , [ 15.0 , 5.0 ] ] ] ] }
| |
{
"النوع" : "متعدد الأضلاع" ، "الإحداثيات" : [ [ [ [ 40.0 , 40.0 ], [ 20.0 , 45.0 ], [ 45.0 , 30.0 ], [ 40.0 , 40.0 ] ] ], [ [ [ 20.0 , 35.0 ], [ 10.0 , 30.0 ], [ 10.0 , 10.0 ], [ 30.0 , 5.0 ], [ 45.0 , 20.0 ], [ 20.0 , 35.0 ] ], [ [ 30.0 , 20.0 ], [ 20.0 , 15.0 ], [ 20.0 , 25.0 ], [ 30.0 ، 20.0 ] ] ] ] }
| ||
| مجموعة الهندسة | {
"النوع" : "مجموعة الهندسة" ، "الهندسة" : [ { "النوع" : "نقطة" ، "الإحداثيات" : [ 40.0 ، 10.0 ] }، { "النوع" : "سلسلة أسطر" ، "الإحداثيات" : [ [ 10.0 ، 10.0 ]، [ 20.0 ، 20.0 ]، [ 10.0 ، 40.0 ] ] }، { "النوع" : "مضلع" ، "الإحداثيات" : [ [ [ 40.0 ، 40.0 ]، [ 20.0 ، 45.0 ]، [ 45.0 ، 30.0 ]، [ 40.0 ، 40.0 ] ] ] } ] }
| |
توبوجيسون
TopoJSON هو امتداد لـ GeoJSON يشفر الطوبولوجيا . بدلاً من تمثيل الأشكال الهندسية بشكل منفصل، يتم تجميع الأشكال الهندسية في ملفات TopoJSON معًا من مقاطع خطية مشتركة تسمى الأقواس . [8] الأقواس عبارة عن تسلسلات من النقاط، بينما يتم تعريف سلاسل الخطوط والمضلعات على أنها تسلسلات من الأقواس. يتم تعريف كل قوس مرة واحدة فقط، ولكن يمكن الرجوع إليه عدة مرات بأشكال مختلفة، وبالتالي تقليل التكرار وتقليل حجم الملف. [9] بالإضافة إلى ذلك، يسهل TopoJSON التطبيقات التي تستخدم الطوبولوجيا، مثل تبسيط الشكل مع الحفاظ على الطوبولوجيا، والتلوين التلقائي للخرائط، والرسوم البيانية .
يتوفر تنفيذ مرجعي لمواصفات TopoJSON كأداة سطر أوامر لترميز TopoJSON من GeoJSON (أو ESRI Shapefiles) ومكتبة JavaScript على جانب العميل لفك تشفير TopoJSON إلى GeoJSON مرة أخرى. كما تدعم أداة OGR الشهيرة TopoJSON اعتبارًا من الإصدار 1.11 [10] وPostGIS اعتبارًا من الإصدار 2.1.0. [11]
مخطط TopoJSON
بالنظر إلى شكل GIS بالقرب من إحداثيات خط العرض 0 درجة وخط الطول 0 درجة، يتم تعريف ملف topojson بسيط ولكنه صالح وكامل يحتوي على جميع البيانات الوصفية وعناصر Polygon و LineString و Point والأقواس والخصائص على النحو التالي:

{
"type" : "Topology" , "transform" : { "scale" : [ 1 , 1 ], "translate" : [ 0 , 0 ] }, "objects" : { "two-squares" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Polygon" , "arcs" : [[ 0 , 1 ]], "properties" : { "name" : "Left_Polygon" }}, { "type" : "Polygon" , "arcs" : [[ 2 , - 1 ]], "properties" : { "name" : "Right_Polygon" }} ] }, "one-line" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "LineString" , "arcs" : [ 3 ], "properties" : { "name" : "Under_LineString" }} ] }, "two-places" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Point" , "coordinates" : [ 0 , 0 ], "properties" : { "name" : "Origine_Point" }}, { "type" : "Point" , "coordinates" : [ 0 , - 1 ], "properties" : { "name" :"Under_Point" }} ] } }, "arcs" : [ [[ 1 , 2 ],[ 0 , - 2 ]], [[ 1 , 0 ],[ - 1 , 0
],[ 0 , 2 ],[ 1 , 0 ]],
[[ 1 , 2 ] ,[ 1 , 0 ],[ 0 , - 2 ],[ - 1 , 0 ]]، [[ 0 , - 1 ] ,[ 2 , 0 ]] ] }
انظر أيضا
مراجع
- ^ ab Butler, Howard; Daly, Martin; Doyle, Allan; Gillies, Sean; Hagen, Stefan; Schaub, Tim (أغسطس 2016). RFC 7946. IETF . doi : 10.17487/RFC7946 .
- ^ "توفير الاتجاهات". developer.apple.com .
- ^ "صفحة معلومات GeoJSON". lists.geojson.org .
- ^ "أرشيف GeoJSON مارس 2007 حسب الموضوع". lists.geojson.org .
- ^ "JSON الجغرافي (geojson) -". datatracker.ietf.org .
- ^ بتلر، هـ.؛ دالي، م.؛ دويل، أ.؛ جيليس، شون؛ شوب، ت.؛ هاجن، ستيفان (أغسطس 2016). تنسيق GeoJSON (تقرير). فريق عمل هندسة الإنترنت.
- ^ Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan (أغسطس 2016). "GeoJSON RFC #3.1.1".
- ^ "topojson/topojson-specification". 11 ديسمبر 2020 – عبر GitHub.
- ^ “توبوجسون/توبوجسون”. جيثب .
- ^ "الإصدار/1.11.0-أخبار – GDAL". trac.osgeo.org .
- ^ "AsTopoJSON". postgis.net .
مصادر
- أندروز، كريستوفر (18 سبتمبر 2007). "التكنولوجيا الناشئة: AJAX وGeoJSON". مؤرشف من الأصل في 22 مايو 2009.
- "Geoweb Guru: نظرة عامة تقنية: GeoJSON". 16 فبراير 2009. مؤرشف من الأصل في 21 فبراير 2009.
- لامبرت، كريس (4 مايو 2009). "مدونة مطوري Google Geo: البناء على موقع Latitude العام الخاص بك باستخدام GeoJSON وKML".
روابط خارجية
- الموقع الرسمي
- https://geojsonlint.com
- توبوجسون/توبوجسون
