Skip To Content

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

ملاحظة:‏

في ArcGIS Enterprise 10.9.1 أو أعلى، يوصى بإضافة مشاركات ملف البيانات الضخمة أو تحريرها من خلال صفحة محتويات البوابة الإلكترونية بدلاً من 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