Skip To Content

قوالب الإخراج في مشاركة ملف البيانات الضخمة

يتم تسجيل مشاركات ملف البيانات الضخمة كمخزن بيانات في ArcGIS Server Manager. تقوم مشاركة ملف بيانات ضخم بتحديد مجموعة بيانات المدخلات باستخدام ملف بيان مشاركة ملف بيانات ضخمة، بالإضافة إلى قوالب لكتابة النتائج إلى موقع مشاركة ملف البيانات الضخمة الخاص بك. عند كتابة نتيجة إلى مشاركة ملف بيانات ضخم، يتم تحديث مشاركة ملف البيانات الضخمة تلقائيًا لتضمين مجموعة بيانات الإخراج الجديدة كمجموعة بيانات مدخلات. يتناول هذا الموضوع تنسيق قوالب الإخراج والقيم المحتملة الخاصة بها. للحصول على نظرة عامة حول مشاركات ملف البيانات الضخمة، وكيفية عمل مجموعات بيانات الإدخال، ونماذج الإخراج وملفات التلميحات، راجع ابدأ بمشاركات ملف البيانات الضخمة.

ملاحظة:‏

يتناول هذا الموضوع تحرير قوالب الإخراج. لمعرفة المزيد عن تطبيق ملف النصائح للملفات المحددة، راجع موضوع فَهم ملف النصائح.

تتكون قوالب الإخراج من قوالب أخرى. يعتمد عدد القوالب على أنواع الملفات والتنسيق الذي تريد استخدامه لتخزين نتائج الإخراج. في المثال التالي، تتوفر ثلاثة قوالب إخراج:

"outputTemplates":[
  {.. template1 ..},
  {.. template2 ..},
  {.. template3 ..}
]

في كل قالب، توجد خمسة كائنات من المستوى الأول قد تكون قابلة للتطبيق. في هذه الكائنات، مطلوب nameوtitleوformat.

{
 "name": "ExampleTemplate", "title": "My Example Template", "format": {}, "geometry": {}, "time": {}
}

الاسم

كائن name مطلوب، ويُعرّف اسم مجموعة البيانات. يجب أن يكون الاسم فريدًا داخل البيان ولا يمكن أن يتضمن أي أحرف خاصة.

عنوان

كائن title مطلوب ويحدد العنوان الذي يظهر عند تشغيل أداة ما. يجب أن يكون العنوان فريدًا داخل البيان ولا يمكن أن يتضمن أي مسافات.

تنسيق

مطلوب كائن format ويُعرّف نوع ملف الإخراج وتنسيقه.

الصيغةمثال
"format" : {
 "type" :  "< delimited | shapefile | orc | parquet >",
 "extension" : "< csv | tsv | shp | orc | parquet >",
 "fieldDelimiter" : "< delimiter >",
 "recordTerminator: "< terminator >",
 "quoteChar":  "< character for quotes>",
 "delimited.write.header" :  < true | false >, 
 "encoding" : "< encoding format >",
 "dateFields" : "< date format >"
}

مثال على استخدام ملف الشكل:

"format" : {
 "type": "shapefile", "extension": "shp", "dateFields": "YYYY/MM/dd HH:mm:ss"
}

مثال على استخدام ملف محدد:

"format" : {
 "type": "delimited", "extension": "csv", "fieldDelimiter": ",", "recordTerminator": "\n",  "quoteChar" "\"",
 "hasHeaderRow": true, "encoding" : "UTF-8"
}

مثال على استخدام ملف parquet

"format" : {
 "type": "parquet"
}

مثال على استخدام ملف ORC:

"format" : {
 "type": "orc"
}

الوصف

  • type- خاصية مطلوبة تُعرّف نوع بيانات الإخراج. يمكن أن يكون ذلك delimited, أو shapefile, أو parquet, أو orc.
  • extension- خاصية مطلوبة تشير إلى ملحق الملف لملفات محددة.
  • fieldDelimiter—يتم استخدام هذا فقط كما أنه مطلوب عندما يكون type هو delimited. يمثل هذا الحقل ما يفصل بين الحقول في الملف المحدد.
  • recordTerminator—يتم تعيين ذلك دائمًا إلى \n على Linux و\r\n على Windows. إذا قمت بتعديل هذا الخيار، فسيتم استخدام هذه الإعدادات الافتراضية.
  • quoteChar- مطلوب فقط عند type هو delimited. يشير الحرف إلى كيفية تحديد الاقتباسات في الملف المحدد.
  • delimited.write.header- مطلوب فقط عند type هو delimited. تحدد هذه الخاصية ما إذا كان الصف الأول في ملف محدد هو أسماء الحقول.
  • encoding—يتم تعيينها دائمًا إلى UTF-8. إذا قمت بتعديل هذا الخيار، فسيستمر استخدام تلك الافتراضية.
  • dateFields—كيف سيتم تنسيق حقول النوعdate. هذه هي الحقول التي لا تمثل وقت المعلم (الفوري أو الفاصل). راجع التنسيقات الزمنية لمعرفة حقول تنسيق التاريخ.

لا يمكن إنشاء إعدادات ملف محدد على الرغم من ArcGIS Server Manager. لتعديل إعدادات الملفات المحددة، قم بتحرير القوالب بالانتقال إلى "دليل المسؤول" لـ GeoAnalytics Server وانقر فوق عناصر > البيانات > bigDataFileShares ومشاركة ملف البيانات الضخمة وانقر فوق تحرير. قم بإجراء التغييرات، وانقر فوق تحديث.

الرسوم الهندسية

كائن geometry هو كائن اختياري. إذا لم يتم تزويدها، فسيتم كتابة الحقل الهندسي في XYZ للنقاط المخزنة في ملفات محددة، وORC، وملفات parquet، وستتم كتابتها في WKT للخطوط والمضلعات في ملفات محددة وملفات ORC وparquet. بالنسبة لملفات الشكل، ستتم كتابة الحقول في حقل الشكل.

الصيغةمثال
"geometry" : {
 "spatialReference" : {
  "wkid": <wkidNum>,
  "latestwkid" : <latestWkidNum>
  },
 "encodings":[
 {
  "types" : ["< esriGeometryType >"],
  "fields" [
   {
    "name": "<fieldName1>",
    "formats": ["<fieldFormat1>"]
   },
   {
    "name": "<fieldName2>",
    "formats": ["<fieldFormat2>"]
   }
  },
 {...}
 ]
}

مثال على استخدام ملف محدود بقيم x وy:

"geometry" : {
 "spatialReference" : {
  "wkid": 3857 }, "encodings": [{
		"types": ["esriGeometryPoint"],		"fields": [{
				"name": "XValue",				"formats": ["x"]			},			{
				"name": "YValue",				"formats": ["y"]			}
		]	},	{
		"types": ["esriGeometryPolyline",			"esriGeometryPolygon"
		],		"fields": [{
			"name": "geometry",			"formats": ["geojson"]		}]	}
]  
}

مثال على استخدام ملف محدود بقيم x وy وz:

"geometry" : {
	"spatialReference": {
		"wkid": 4326	},	"encodings": [{
	 "types": ["esriGeometryPoint"],		"fields": [{
				"name": "Longitude",				"formats": ["x"]			},			{
				"name": "Latitude",				"formats": ["y"]			},			{
				"name": "Height",				"formats": ["z"]			}
		]	}]
}

مثال على استخدام ملف .tsv:

"geometry" : {
	"spatialReference": {
		"wkid": 3857	},	"encodings": [{
	"types": ["esriGeometryPolygon", "esriGeometryPoint"],   "fields": [{
			"name": "Shapelocation",			"formats": ["WKT"]		}]	}]
}

الوصف

ملاحظة:‏

يوضح الجدول أعلاه الخيارات الافتراضية لكائن geometry ، إذا لم تقم بتحديده، بناءً على الشكل الهندسي ونوع الملف. يتم سرد الخصائص التالية على النحو المطلوب أو بشكل اختياري، بافتراض استخدام الهندسة:

  • spatialReference- خاصية مطلوبة تشير إلى الإسناد المكاني لإخراج قواعد البيانات.
    • wkid- حقل يشير إلى الإسناد المكاني حيث إن wkid أو latestWkid مطلوب لمجموعة بيانات بشكل هندسي.
    • latestWkid- حقل يشير إلى الإسناد المكاني في إصدار برنامج متوفر حيث يكون wkid أو latestWkid مطلوبًا لمجموعة بيانات بشكل هندسي.
  • encodings- مطلوب. سيحدد هذا كيفية تشفير هندسة الإخراج. تتكون الخاصية من جزأين: النوع الهندسي والحقول التي ستُكتب بها الهندسة.
    • types—أنواع الهندسة المحددة في هذا الترميز. تتضمن الخيارات ما يلي:
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields- مطلوب. يحدد هذا name لواحد أو أكثر من الحقول المستخدمة لتخزين نتائج الهندسة، بالإضافة إلى formats من الحقول التي يتم تخزين الهندسة فيها.
      • name—خاصية مطلوبة لتسمية الحقل المستخدم لهندسة مجموعة بيانات الإخراج. تُشير إلى اسم الحقل المستخدم لتمثيل الشكل الهندسي. وقد تتوفر مثيلات متعددة منها.
      • formats- خاصية مطلوبة لمجموعات بيانات محدودة بتمثيل مكاني. تُشير إلى تنسيق الحقل المستخدم لتمثيل الشكل الهندسي. يمكن أن يكون هناك تنسيقات متعددة. لا يمكن تحديد حقل هندسة shapefiles. يتم دعم أنواع التنسيق التالية:
        • WKT—الإعداد الافتراضي للخطوط والمضلعات المخزنة كملفات محددة، وORC، وملفات parquet.
        • GeoJSON
        • EsriJSON
        • X, Y,Z—الإعداد الافتراضي للنقاط المخزنة كملفات محددة، وORC، وملفات parquet.
        • EsriShape— لا يتوفر هذا الخيار إلا لملفات ORC وparquet.
        • WKB— لا يتوفر هذا الخيار إلا لملفات ORC وparquet.

زمن

كائن time هو كائن اختياري. إذا لم يتم تحديدها، وتم تمكين النتائج في الوقت المحدد، فسيتم استخدام الإعداد الافتراضي.

الصيغةمثال
"time" : {
 "timeReference" : {
  "timeZone" : "<timeZone >"
  },
 "encodings":[{
  "types" : ["< instant | interval >",]
  "fields": [
  {
   "name": "<fieldName1>",
   "formats": ["<fieldFormat1>"],
   "role": "< start | end >"
  }
 ]
}]
}

مثال على استخدام مثيل بتنسيقات متعددة في حقول الوقت:

"time": {
	"timeReference": {
		"timeZone": "UTC"
	},	"encodings": [{
		"types": ["instant"],		"fields": [{
			"name": "iso_time",			"formats": [				"yyyy-MM-dd HH:mm:ss",				"MM/dd/yyyy HH:mm"
			]		}]	}]
}

مثال على استخدام فاصل بحقول متعددة مستخدمة لـ startTime:

"time": {
	"timeReference": {
		"timeZone": "-0900"
	},	"encodings": [{
		"types": ["interval"],		"fields": [{
				"name": "time_start",				"formats": ["HH:mm:ss"],				"role": "start"
			},			{
				"name": "date_start",				"formats": ["yyyy-MM-dd"],				"role": "start"
			},			{
				"name": "datetime_ending",				"formats": ["yyyy-MM-dd HH:mm:ss"],				"role": "end"
			}
		]	},{
		"types": ["instant"],		"fields": [{
				"name": "time",				"formats": ["HH:mm:ss"],				"role": "start"
			},			{
				"name": "date",				"formats": ["yyyy-MM-dd"]			}
		]	}]
}

الوصف

ملاحظة:‏

نظرًا لأن كائن time هو كائن اختياري، يتم إدراج الخصائص التالية على أنها خصائص مطلوبة أو اختيارية على افتراض أن time مستخدَم:

  • encodings—هذا مطلوب إذا كنت تقوم بتنسيق الوقت. سيحدد هذا كيفية تشفير وقت الإخراج. تتكون الخاصية من جزأين: نوع الوقت والحقول التي سيُكتب بها الوقت.
    • types—أنواع الهندسة المحددة في هذا الترميز. تتضمن الخيارات ما يلي:
      • Instant- لحظة مفردة في الوقت.
      • Interval- لفاصل زمني مُمثّل بواسطة وقت بداية وتوقُّف.
    • fields- مطلوب. يحدد هذا name لواحد أو أكثر من الحقول المستخدمة لتخزين نتائج الوقت، بالإضافة إلى formats من الحقول التي يتم تخزين الوقت فيها.
      • name—خاصية مطلوبة لتسمية الحقل المستخدم لوقت مجموعة بيانات الإخراج. تُشير إلى اسم الحقل المستخدم لتمثيل الوقت. وقد تتوفر مثيلات متعددة منها.
      • formats- حقل مطلوب يُشير إلى تنسيق الحقل المستخدم لتمثيل الوقت. قد توجد تنسيقات متعددة لحقل مفرد (كما هو معروض أعلاه). قد تتوفر مثيلات متعددة من هذا الكائن. لمعرفة كيفية تنسيق الحقول، راجع موضوع تنسيقات الوقت في بيان مشاركة ملف البيانات الضخمة.
    • role- حقل مطلوب عندما يكون timeType هو interval. يمكن تمثيله إما startTime أو endTime لفاصل زمني.
  • timeReference- حقل مطلوب إذا تم تمكين مجموعة البيانات زمنيًا، مما يُشير إلى المنطقة الزمنية (timeZone).
    • timeZone- حقل اختياري لـ timeReference يُشير إلى تنسيق المنطقة الزمنية للبيانات. timeZone يمكن تنسيقه كما يلي:
      • استخدام الاسم الكامل للمنطقة الزمنية: Pacific Standard Time
      • استخدام اختصار المنطقة الزمنية: PST
      • باستخدام إزاحة المنطقة الزمنية بالساعات: -0900