3.4. خدمة التغطيات على الويب Web Coverage Service (WCS)¶
يوفر معيارا WCS 1.0.0 و 1.1.1 المطبَّقان في QGIS Server واجهة HTTP للوصول إلى البيانات الشبكية (رستر)، والتي يُشار إليها بـ التغطية (coverage)، القادمة من مشروع QGIS.
المواصفات:
الطلبات القياسية التي يوفرها QGIS Server:
الطلب |
وصف |
|---|---|
يُرجع بيانات وصفية بصيغة XML تتضمن معلومات عن الخادم |
|
يسترجع مستند XML يتضمن معلومات إضافية عن التغطيات |
|
يسترجع التغطية |
3.4.1. GetCapabilities¶
المعاملات القياسية للطلب GetCapabilities وفق مواصفات OGC WCS 1.1.1:
المعامل |
إلزامي |
وصف |
|---|---|---|
نعم |
اسم الخدمة (WCS) |
|
نعم |
اسم الطلب (GetCapabilities) |
|
لا |
إصدار الخدمة |
إضافة إلى المعاملات القياسية، يدعم QGIS Server المعاملات الإضافية التالية:
المعامل |
إلزامي |
وصف |
|---|---|---|
نعم |
ملف مشروع QGIS |
مثال على عنوان URL:
http://localhost/qgisserver?
SERVICE=WCS
&VERSION=1.1.1
&REQUEST=GetCapabilities
مثال على مستند XML عند نشر طبقة شبكية واحدة (باسم T20QPD_20171123T144719_TCI) في مشروع QGIS لخدمة WCS:
<WCS_Capabilities xmlns="http://www.opengis.net/wcs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" updateSequence="0" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd">
<Service>
...
</Service>
<Capability>
...
</Capability>
<ContentMetadata>
<CoverageOfferingBrief>
<name>T20QPD_20171123T144719_TCI</name>
<label>T20QPD_20171123T144719_TCI</label>
<lonLatEnvelope srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
<gml:pos>-61.585973 16.331189</gml:pos>
<gml:pos>-61.52537 16.400376</gml:pos>
</lonLatEnvelope>
</CoverageOfferingBrief>
</ContentMetadata>
</WCS_Capabilities>
VERSION¶
يتيح هذا المعامل تحديد إصدار الخدمة المراد استخدامه. حاليًا لا تُستخدم قيمة الإصدار داخليًا، ويُرجَع دائمًا إلى 1.1.1.
3.4.2. DescribeCoverage¶
يتيح هذا الطلب استرجاع معلومات إضافية عن التغطيات مثل صيغة مصدر البيانات الأساسي وعدد النطاقات وغير ذلك. المعاملات القياسية للطلب DescribeCoverage وفق مواصفات OGC WCS 1.1.1:
المعامل |
إلزامي |
وصف |
|---|---|---|
نعم |
اسم الخدمة (WCS) |
|
نعم |
اسم الطلب (DescribeCoverage) |
|
لا |
إصدار الخدمة |
|
لا |
تحديد طبقات التغطية (WCS 1.0.0) |
|
لا |
تحديد طبقات التغطية (WCS 1.1.1) |
إضافة إلى المعاملات القياسية، يدعم QGIS Server المعاملات الإضافية التالية:
المعامل |
إلزامي |
وصف |
|---|---|---|
نعم |
ملف مشروع QGIS |
يبدو مستند XML لطبقة شبكية GeoTIFF من 3 نطاقات كما يلي:
<CoverageDescription xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.opengis.net/wcs" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" updateSequence="0" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd">
<CoverageOffering>
<name>T20QPD_20171123T144719_TCI</name>
<label>T20QPD_20171123T144719_TCI</label>
<lonLatEnvelope srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
...
</lonLatEnvelope>
<domainSet>
...
</domainSet>
<rangeSet>
<RangeSet>
<name>Bands</name>
<label>Bands</label>
<axisDescription>
<AxisDescription>
<name>bands</name>
<label>bands</label>
<values>
<singleValue>1</singleValue>
<singleValue>2</singleValue>
<singleValue>3</singleValue>
</values>
</AxisDescription>
</axisDescription>
</RangeSet>
</rangeSet>
<supportedCRSs>
...
</supportedCRSs>
<supportedFormats nativeFormat="raw binary">
<formats>GeoTIFF</formats>
</supportedFormats>
</CoverageOffering>
</CoverageDescription>
COVERAGE¶
يتيح هذا المعامل، المعرَّف في WCS 1.0.0، تحديد الطبقات المراد الاستعلام عنها للحصول على معلومات إضافية. يجب فصل الأسماء بفاصلة.
إضافة إلى ذلك، قدّم QGIS Server خيارًا لتحديد الطبقات باسمها المختصر. يمكن ضبط الاسم المختصر للطبقة عبر في قائمة الطبقة. وإذا كان الاسم المختصر معرَّفًا، فإنه يُستخدم افتراضيًا بدلًا من اسم الطبقة:
http://localhost/qgisserver?
SERVICE=WCS
&REQUEST=DescribeCoverage
&COVERAGE=mylayer1name,mylayer2shortname
ملاحظة
المعامل COVERAGE إلزامي إذا لم يُضبط IDENTIFIER.
IDENTIFIER¶
يحل هذا المعامل محل المعامل COVERAGE في WCS 1.1.1. لكن QGIS Server لا يرشّح وفق المعامل VERSION، لذا فإن IDENTIFIER و COVERAGE لهما التأثير نفسه.
ملاحظة
المعامل IDENTIFIER إلزامي إذا لم يُضبط COVERAGE. وإذا عُرِّف المعاملان IDENTIFIER و COVERAGE كلاهما، فإن COVERAGE يُستخدم دائمًا بالأولوية.
3.4.3. GetCoverage¶
يتيح هذا الطلب استرجاع التغطية وفق قيود محددة مثل الامتداد أو نظام الإحداثيات المرجعي. المعاملات القياسية للطلب DescribeCoverage وفق مواصفات OGC WCS 1.1.1:
المعامل |
إلزامي |
وصف |
|---|---|---|
نعم |
اسم الخدمة (WCS) |
|
نعم |
اسم الطلب (GetCoverage) |
|
لا |
إصدار الخدمة |
|
لا |
تحديد طبقات التغطية (WCS 1.0.0) |
|
لا |
تحديد طبقات التغطية (WCS 1.1.1) |
|
نعم |
عرض الاستجابة بالبكسل |
|
نعم |
ارتفاع الاستجابة بالبكسل |
|
نعم |
امتداد الخريطة بوحدات نظام الإحداثيات المرجعي |
|
نعم |
نظام الإحداثيات المرجعي للامتداد |
|
لا |
نظام الإحداثيات المرجعي للاستجابة |
إضافة إلى المعاملات القياسية، يدعم QGIS Server المعاملات الإضافية التالية:
المعامل |
إلزامي |
وصف |
|---|---|---|
نعم |
ملف مشروع QGIS |
BBOX¶
يتيح هذا المعامل تحديد امتداد الخريطة بوحدات نظام الإحداثيات المرجعي الحالي. يجب فصل الإحداثيات بفاصلة. ويُكتب المعامل BBOX بالشكل minx,miny,maxx,maxy.
مثال على عنوان URL:
http://localhost/qgisserver?
SERVICE=WCS
&REQUEST=GetCoverage
&IDENTIFIER=T20QPD_20171123T144719_TCI
&BBOX=647533,1805950,660987,1813940
&CRS=EPSG:32620
CRS¶
يتيح هذا المعامل الإشارة إلى نظام الإسناد المكاني للمعامل BBOX، ويجب أن يُكتب بالشكل EPSG:XXXX.
RESPONSE_CRS¶
يتيح هذا المعامل الإشارة إلى نظام الإسناد المكاني لاستجابة المخرجات، ويجب أن يُكتب بالشكل EPSG:XXXX. ويُستخدم افتراضيًا نظام الإحداثيات المرجعي لطبقة التغطية المعنية.
WIDTH¶
يتيح هذا المعامل تحديد عرض صورة المخرجات بالبكسل. وتعتمد دقة صورة الاستجابة على هذه القيمة.
HEIGHT¶
يتيح هذا المعامل تحديد ارتفاع صورة المخرجات بالبكسل. وتعتمد دقة صورة الاستجابة على هذه القيمة.
شكل 3.24 من اليسار إلى اليمين: WIDTH=20&HEIGHT=20، WIDTH=50&HEIGHT=50، WIDTH=100&HEIGHT=100¶