أكثر

الفرق بين النقطية () و readGDAL ()؟


أنا جديد في العمل مع البيانات النقطية وبعد أن واجهت مشكلة في العمل معهم ، أود معرفة الفرق بين وظيفتي الاستيراد هاتين.

على سبيل المثال فعلت هذا

مكتبة (نقطية) s <-raster ("random.TIF")

عند محاولة رسمها ، يتم إرجاع الصورة الصحيحة ، ولكن جرب هذا:

s <-readGDAL ("random.TIF")

إرجاع صورة سوداء.


لا تقوم أي من هذه الوظائف بإرجاع صورة ملونة ، سوداء أو غير ذلك. هذا

مكتبة (نقطية) s <-raster ("random.TIF") s

يعود أالنقطيةكائن (أو ربما RasterBrick إذا كانت هناك طبقات متعددة في "random.TIF"). يتم تحديد هذه الفئة (نوع الكائن) في الحزمة النقطية. يمكنك تصور ذلك باستخدام

قطعة أرض

هذا

مكتبة (rgdal) x <- readGDAL ("random.TIF") فئة (x)

يعود أSpatialGridDataFrame. يتم تعريف هذه الفئة (نوع الكائن) في حزمة sp. ربما فعلتقطعة أرضلكن هذا لا يعمل بشكل جيد لأن ذلك قد يُظهر "صورة سوداء". الطريقة المناسبة لرسم SpatialGridDataFrame هي

سبلوت (x)

تلعب الكائنات sp و raster معًا بشكل جيد ، لكنها مختلفة. نقطة البداية المحتملة هي قراءة هذا: cran.r-project.org/web/packages/raster/vignettes/Raster.pdf


مجموعات البيانات النقطية أو الشبكية (بما في ذلك مجموعات البيانات x-y أو x-y-z كحالات خاصة) ، تنشأ بشكل متكرر في الممارسة العملية ، من مصادر مثل

  • نمذجة الطقس والمناخ
  • الاستشعار عن بعد بواسطة الأقمار الصناعية والطائرات
  • البيانات المدارة بواسطة نظام المعلومات الجغرافية ، والتي يمكن معالجتها وتصديرها على شبكة.

تقليديًا ، تتم إدارة هذه البيانات وتحليلها في برامج أو بيئات ذات أغراض خاصة ، مثل ENVI أو ERDAS Imagine لبيانات الاستشعار عن بُعد أو ArcGIS أو GRASS أو IDRISI للبيانات العامة للأغراض المستندة إلى GIS أو GrADS أو IDL أو NCL ، من أجل بيانات المناخ ، أو مع برامج مكتوبة بلغة Fortran أو C (أو مؤخرًا ، Python). عادةً ما يقوم المستخدم بمعالجة البيانات الأساسية في البيئة المتخصصة أو لغة البرمجة ، ثم يقوم بتصدير البيانات إلى R أو حزمة إحصائية أخرى لتحليل البيانات والتصور ، ثم إعادة البيانات إلى البرنامج المتخصص لمزيد من المعالجة.

غالبًا ما تحتوي التخصصات الفرعية الفردية على تنسيقات متخصصة لتخزين البيانات ، وأحيانًا تكون عامة أو على مستوى المجتمع مثل netCDF أو GRIB للبيانات المناخية أو GeoTIFF أو HDF لبيانات الاستشعار عن بُعد (الأخيرة خاصة لبيانات الأقمار الصناعية) ، أو التنسيقات "الملكية" لبيانات محددة حزم البرامج (مثل ArcGIS). تختلف هذه التنسيقات عن بعضها البعض بشكل كافٍ لجعل قراءتها وكتابتها مهمة أقل من تلقائية.

قامت R و S + قبلها بتضمين مكتبات / حزم تدعم الحوار بين ، على سبيل المثال ، R و GRASS مفتوح المصدر GIS (أي spgrass6). في الآونة الأخيرة ، ومع ذلك ، فإن الحزم sp و sf و raster في R تسمح بتنفيذ العديد من التحليلات النموذجية التي سيوفرها نظام المعلومات الجغرافية العام ، دون الحاجة إلى واجهة - يمكن إجراء التحليل بشكل مباشر (وكامل) في تم العثور على R.

يمكن لحزمة البيانات النقطية قراءة وكتابة العديد من التنسيقات القياسية لمعالجة البيانات النقطية ، ولديها أيضًا إمكانية القيام بذلك دون تحميل مجموعة البيانات بالكامل في الذاكرة ، مما يسهل تحليل مجموعات البيانات الكبيرة جدًا. في الأمثلة الموضحة هنا ، تُستخدم البيانات المخزنة كملفات netCDF ، وهو الوضع الأساسي الذي يتم فيه تخزين مجموعات كبيرة من بيانات المناخ وعلوم نظام الأرض ، لتوضيح نهج قراءة وكتابة مجموعات البيانات الكبيرة باستخدام حزمة ncdf4 والقراءة والتحليل البيانات باستخدام الحزمة النقطية ، ولكن تنطبق نفس الأفكار الأساسية ، على سبيل المثال ، قراءة ملفات HDF باستخدام readGDAL () من الحزمة rgdal. توفر حزمتي sp و sf جنبًا إلى جنب مع ggplot2 دعمًا لرسم الخرائط والتخطيط.


حساب المسافات الجغرافية

ربما تكون إحدى أكثر العمليات شيوعًا باستخدام البيانات الجغرافية هي حساب المسافات بين موقعين أو أفراد. يتم ذلك غالبًا باستخدام إحداثيات GPS (خطوط الطول والعرض). ضع في اعتبارك مونبلييه في جنوب فرنسا والتي لها إحداثيات تقريبية N 43 ° 36 '، E 4 ° 00'. ما هي المسافة من هذه المدينة إلى مكان يقع ثلاث درجات شرقا (بالقرب من مدينة كان)؟ يمكن حساب ذلك من خلال المسافة الجيوديسية التي تتضمن حسابات زاوية. يتم تنفيذه في دالة geod في pegas التي تأخذ كوسيطين متجهين للإحداثيات (أو مصفوفة ذات عمودين) وتعيد مصفوفة (متماثلة) بالمسافات بالكيلومترات (كم):

ما المسافة التي تفصل بين موقعين لهما نفس خطي الطول ولكن على خط الاستواء؟

يجب أن تتم العمليات الحسابية باستخدام الإحداثيات بالدرجات العشرية ، ومع ذلك ، عادةً ما يتم تخزين الإحداثيات الجغرافية في وحدات زاوية. للمساعدة في تحويل هذه البيانات ، توفر pegas أيضًا وظيفة geoTrans التي تتسم بمرونة كبيرة فيما يتعلق بتنسيق الإدخال وإخراج الإحداثيات بالدرجات العشرية:

إذا كانت الإحداثيات في UTM ، فيمكن استخدام مسافات إقليدية بسيطة لأن مربعات نظام UTM مسطحة تقريبًا (الشكل 8.1).

في المجموعات الطبيعية ، لا تكون المسافات الجغرافية دائمًا ذات معنى لتحديد الروابط فيما بينها. تحسب حزمة gdistance مصفوفات المسافات العامة باستخدام بيانات GIS التي يجب أن تكون في فئة البيانات النقطية للحزمة. تستمر العملية على طول عدة خطوات. تتمثل الخطوة الأولى في الحصول على خطوط المسح مع المتغير (المتغيرات) المناسبة لحساب المسافات (الارتفاع والغطاء الأرضي.) والخطوة الثانية هي تحديد الانتقالات بين خلايا البيانات النقطية مع انتقال الوظيفة والوظيفة التي ستحدد حسب ، على سبيل المثال ، الغطاء الأرضي و / أو الارتفاع ، وما إلى ذلك. الخطوة الثالثة هي تصحيح التحيز الجغرافي باستخدام وظيفة التصحيح الجغرافي لأن التحولات بين الخلايا ليس لها نفس المسافة (خاصة بسبب الأحجام المختلفة للخلايا المتعلقة بخط العرض ، انظر أعلاه المثالين لحسابات المسافة الجيوديسية). الخطوة الرابعة هي حساب المسافات بين مجموعة من المواقع بالنظر إلى الإحداثيات الموجودة على البيانات النقطية وتعريفات الانتقال المذكورة أعلاه.


ال أبوجياتورا تشير الزخرفة إلى دقة التعليق وليس بها سكتة دماغية. إنها تثير الشعور "بالتوق". تستغرق الملاحظات الوقت الفعلي في المقياس بالنسبة إلى نوع الملاحظة المستخدمة لتمثيلها. إذا كانت هناك ملاحظات متعددة في الزخرفة ، فيجب أن تستغرق جميعها وقتًا من المدير.

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

الصور مأخوذة من ويكيبيديا لذا يجب أن تكون مناسبة لرخصة ويكيميديا.


الفرق بين النقطية () و readGDAL ()؟ - نظم المعلومات الجغرافية

هناك تنسيقان شائعان للبيانات يعتمدان على نموذج البيانات النقطية وهما الشبكات والصور.

الشبكات هي تنسيق ملف ESRI يستخدم لتخزين كل من الميزات المنفصلة مثل المباني والطرق والطرود والظواهر المستمرة مثل الارتفاع ودرجة الحرارة وهطول الأمطار.

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

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

تُستخدم الشبكة المستمرة لتمثيل الظواهر المستمرة ، حيث تكون قيم الخلية عبارة عن نقاط عائمة. يمكن أن تحتوي كل خلية في شبكة متصلة على قيمة مختلفة للفاصلة العائمة. على سبيل المثال ، في شبكة متصلة تمثل الارتفاع ، قد تخزن خلية واحدة قيمة ارتفاع تبلغ 564.3 مترًا ، بينما قد تخزن الخلية الموجودة على اليسار قيمة ارتفاع تبلغ 565.1 مترًا. على عكس الشبكات المنفصلة ، لا تحتوي الشبكات المستمرة على جدول خصائص.

تمثل الشبكات المنفصلة ميزات منفصلة مثل فئات استخدام الأراضي ذات القيم الصحيحة. تمثل الشبكات المستمرة ظواهر مستمرة مثل الارتفاع بقيم الفاصلة العائمة.

جداول السمات للشبكات المنفصلة هي تنسيق INFO ، وهو نفس التنسيق الذي يتم فيه تخزين جداول سمات فئة ميزة التغطية. كما هو الحال مع جداول سمات التغطية ، يتم تخزين جدول INFO الخاص بالشبكة المنفصلة داخل مجلد المعلومات ، والذي يتم تخزينه على نفس مستوى الشبكة في مجلد مساحة العمل. مرة أخرى مثل التغطيات ، يوجد مجلد معلومات واحد لجميع الشبكات في مجلد مساحة العمل. لتجنب قطع أو إتلاف الاتصال بين ملفات الشبكة ومجلد المعلومات ، استخدم دائمًا ArcCatalog لنقل الشبكات ونسخها وإعادة تسميتها وحذفها.

يحتوي مجلد مساحة عمل الشبكات على شبكتين: التربة والنباتات. يتم تخزين جداول البيانات الجدولية لكلتا الشبكتين في مجلد المعلومات. تربط الملفات المساعدة التي تسمى التربة. aux و الغطاء النباتي. aux الشبكات وجداول البيانات الجدولية الخاصة بها.

مصطلح & quotimage & quot هو مصطلح جماعي للنقطية التي تخزن خلاياها أو وحدات البكسل قيم سطوع الضوء المرئي المنعكس أو أنواع أخرى من الإشعاع الكهرومغناطيسي ، مثل الحرارة المنبعثة (الأشعة تحت الحمراء) أو الأشعة فوق البنفسجية (UV). الصور الجوية وصور الأقمار الصناعية والخرائط الورقية الممسوحة ضوئيًا هي أمثلة للصور شائعة الاستخدام في نظم المعلومات الجغرافية.

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

على سبيل المثال ، الصورة الجوية لأنها تأتي من الكاميرا هي مجرد صورة ثابتة ، مثل صورة منزل. لا توجد معلومات حول أي جزء من العالم التقطته الصورة ، وقد تحتوي الصورة على تشويه وتغيرات في الحجم ناتجة عن زاوية الكاميرا. للعرض بشكل صحيح مع طبقات الخريطة الأخرى ، يجب تعيين نظام إحداثي للصورة الجوية ويجب ربط بعض وحدات البكسل الخاصة بها بالإحداثيات الجغرافية المعروفة.

يمكن الرجوع إلى الصور النقطية ، مثل الصور الجوية والخرائط الممسوحة ضوئيًا ، إلى مواقع العالم الحقيقي ، ثم عرضها كطبقة في خريطة GIS.

هناك العديد من تنسيقات ملفات الصور ، والتي تختلف في نوع الضغط المستخدم لتقليل حجم الملف. بعض تنسيقات الصور التي يدعمها برنامج ArcGIS هي. tif (تنسيق ملف الصور الموسوم) ،. sid (LizardTech MrSID) ،. img (ERDAS Imagine) و .jpg (مجموعة خبراء التصوير المشتركة).


R. إنشاء نصوص R R

يختلف تكامل R في QGIS عن تكامل SAGA من حيث عدم وجود مجموعة محددة مسبقًا من الخوارزميات التي يمكنك تشغيلها (باستثناء بعض الأمثلة). بدلاً من ذلك ، يجب عليك كتابة البرامج النصية الخاصة بك واستدعاء أوامر R ، تمامًا كما تفعل من R ، وبطريقة مشابهة جدًا لما رأيناه في القسم المخصص لمعالجة البرامج النصية. يوضح لك هذا القسم البنية التي يجب استخدامها لاستدعاء أوامر R هذه من QGIS وكيفية استخدام كائنات QGIS (الطبقات والجداول) فيها.

أول شيء عليك القيام به ، كما رأينا في حالة SAGA ، هو إخبار QGIS بمكان وجود ثنائيات R الخاصة بك. يمكنك القيام بذلك باستخدام ملف مجلد R. الدخول في مربع حوار تكوين المعالجة. بمجرد تعيين هذه المعلمة ، يمكنك البدء في إنشاء البرامج النصية الخاصة بك وتنفيذها.

ل شبابيك المستخدم ، عادةً ما يكون ملف R القابل للتنفيذ في ملف C: ملفات البرنامج RR-3.2 مجلد. أضف فقط المجلد و ليس الثنائي!

مرة أخرى ، يختلف هذا في Linux ، وعليك فقط التأكد من تضمين المجلد R في متغير بيئة PATH. إذا كنت تستطيع أن تبدأ R بالكتابة فقط ص في وحدة التحكم ، فأنت على استعداد للذهاب.

لإضافة خوارزمية جديدة تستدعي وظيفة R (أو نص R أكثر تعقيدًا قمت بتطويره وترغب في توفره من QGIS) ، يجب عليك إنشاء ملف نصي يخبر إطار عمل المعالجة بكيفية تنفيذ هذه العملية و أوامر R المقابلة للقيام بذلك.

ملفات البرنامج النصي R لها الامتداد .rsx ، ويكون إنشائها أمرًا سهلاً للغاية إذا كان لديك فقط معرفة أساسية ببناء جملة R والبرمجة النصية R. يجب تخزينها في مجلد البرامج النصية R. يمكنك ضبط هذا المجلد في ملف ص مجموعة الإعدادات (متوفرة من مربع حوار إعدادات المعالجة) ، تمامًا كما تفعل مع مجلد البرامج النصية للمعالجة المنتظمة.

دعونا نلقي نظرة على ملف نص برمجي بسيط للغاية ، والذي يستدعي طريقة R. spsample لإنشاء شبكة عشوائية داخل حدود المضلعات في طبقة مضلعة معينة. هذه الطريقة تنتمي إلى maptools رزمة. نظرًا لأن جميع الخوارزميات تقريبًا التي قد ترغب في دمجها في QGIS ستستخدم أو تنشئ بيانات مكانية ، فإن معرفة الحزم المكانية مثل maptools وخاصة ص ، إلزامي.

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

الرجاء إلقاء نظرة على R مقدمة و ال R النحو فصول دليل التدريب للحصول على مزيد من المعلومات حول كيفية كتابة نصوص R الخاصة بك-

عندما تعلن عن معلمة إدخال ، يستخدم QGIS هذه المعلومات لشيئين: إنشاء واجهة مستخدم لمطالبة المستخدم بقيمة تلك المعلمة وإنشاء متغير R مناظر يمكن استخدامه لاحقًا كمدخل لأوامر R.

في المثال أعلاه ، نعلن عن إدخال من النوع المتجه اسم الشيئ مضلع . عند تنفيذ الخوارزمية ، سيفتح QGIS في R الطبقة التي حددها المستخدم ويخزنها في متغير يسمى أيضًا مضلع . لذلك ، فإن اسم المعلمة هو أيضًا اسم المتغير الذي يمكننا استخدامه في R للوصول إلى قيمة تلك المعلمة (وبالتالي ، يجب تجنب استخدام كلمات R المحجوزة كأسماء معلمات).

تتم قراءة العناصر المكانية مثل طبقات المتجهات والنقطية باستخدام امتداد readOGR () و قالب طوب() الأوامر (لا داعي للقلق بشأن إضافة هذه الأوامر إلى ملف الوصف الخاص بك & # 8211 QGIS سيفعل ذلك) ، ويتم تخزينها على أنها المكاني * DataFrame شاء. يتم تخزين حقول الجدول كسلاسل تحتوي على اسم الحقل المحدد.

يتم فتح الجداول باستخدام ملف read.csv () أمر. إذا لم يكن الجدول الذي أدخله المستخدم بتنسيق CSV ، فسيتم تحويله قبل استيراده إلى R.

بالإضافة إلى ذلك ، يمكن قراءة الملفات النقطية باستخدام امتداد readGDAL () الأمر بدلاً من قالب طوب() باستخدام ملف ## usereadgdal .

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

باستخدام المعلومات الواردة أعلاه ، يمكننا الآن فهم السطر الأول من النص البرمجي الأول للمثال (السطر الأول لا يبدأ بتعليق بايثون).

المتغير مضلع يحتوي بالفعل على المضلع المكاني DataFrame كائن ، لذلك يمكن استخدامه لاستدعاء spsample الطريقة ، تمامًا مثل عدد النقاط واحد ، والذي يشير إلى عدد النقاط التي يجب إضافتها إلى شبكة العينة التي تم إنشاؤها.

منذ أن أعلنا عن إخراج من نوع متجه اسمه خارج ، علينا إنشاء متغير اسمه خارج وتخزين أ المكاني * DataFrame كائن فيه (في هذه الحالة ، أ SpatialPointsDataFrame ). يمكنك استخدام أي اسم لمتغيراتك الوسيطة. فقط تأكد من أن المتغير الذي يخزن نتيجتك النهائية له نفس الاسم الذي استخدمته للإعلان عنه ، وأنه يحتوي على قيمة مناسبة.

في هذه الحالة ، النتيجة التي تم الحصول عليها من spsample يجب تحويل الطريقة صراحةً إلى ملف SpatialPointsDataFrame كائن ، لأنه في حد ذاته موضوع فئة PPP ، وهي فئة غير مناسبة ليتم إعادتها إلى QGIS.

إذا أنشأت الخوارزمية طبقات نقطية ، فستعتمد طريقة حفظها على ما إذا كنت قد استخدمت الامتداد ## dontuserasterpackage اختيار. إذا كنت قد استخدمته ، فسيتم حفظ الطبقات باستخدام امتداد writeGDAL () طريقة. إذا لم يكن كذلك ، فإن writeRaster () طريقة من النقطية سيتم استخدام الحزمة.

إذا كنت قد استخدمت ملف ## أسماء ملفات المرور الخيار ، يتم إنشاء النواتج باستخدام النقطية الحزمة (مع writeRaster () ) ، على الرغم من عدم استخدامه للمدخلات.

إذا لم تُنشئ الخوارزمية أي طبقة ، بل نتيجة نصية في وحدة التحكم بدلاً من ذلك ، فيجب عليك الإشارة إلى أنك تريد عرض وحدة التحكم بمجرد انتهاء التنفيذ. للقيام بذلك ، ما عليك سوى بدء سطور الأوامر التي تنتج النتائج التي تريد طباعتها باستخدام ملف & GT علامة (& # 8216 الكبرى & # 8217). لن يتم عرض إخراج جميع الخطوط الأخرى. على سبيل المثال ، يوجد هنا ملف وصف الخوارزمية التي تقوم بإجراء اختبار الحالة الطبيعية في حقل (عمود) معين لسمات طبقة متجه:

تتم طباعة مخرجات السطر الأخير ، ولكن لم يتم إخراج إخراج السطر الأول (ولا يتم إضافة مخرجات سطور الأوامر الأخرى تلقائيًا بواسطة QGIS).

إذا قامت الخوارزمية الخاصة بك بإنشاء أي نوع من الرسومات (باستخدام امتداد قطعة() الطريقة) ، أضف السطر التالي:

سيؤدي هذا إلى قيام QGIS بإعادة توجيه جميع المخرجات الرسومية R إلى ملف مؤقت ، والذي سيتم فتحه بمجرد انتهاء تنفيذ R.

سيتم عرض نتائج الرسومات ووحدة التحكم في مدير نتائج المعالجة.

لمزيد من المعلومات ، يرجى التحقق من ملفات البرامج النصية المتوفرة مع المعالجة. معظمها بسيط نوعًا ما وسيساعدك كثيرًا على فهم كيفية إنشاء البرامج النصية الخاصة بك.

رجدال و النقطية يتم تحميل المكتبات افتراضيًا ، لذلك لن تضطر إلى إضافة ملفات مكتبة() الأوامر (عليك فقط التأكد من تثبيت هاتين الحزمتين في توزيع R الخاص بك). ومع ذلك ، فإن المكتبات الإضافية الأخرى التي قد تحتاج إلى تحميلها بشكل صريح عن طريق الكتابة ، مكتبة (ggplot2) . إذا لم تكن الحزمة مثبتة بالفعل على جهازك ، فستقوم المعالجة بتنزيلها وتثبيتها. وبهذه الطريقة ، ستتوفر الحزمة أيضًا في R Standalone. كن حذرا أنه إذا كان لابد من تنزيل الحزمة ، فقد يستغرق الأمر وقتًا طويلاً في المرة الأولى التي تقوم فيها بتشغيل البرنامج النصي.


الفصل 6 استخدام R كنظام المعلومات الجغرافية: العمل مع البيانات النقطية والمتجه

تتمثل إحدى مهام نظم المعلومات الجغرافية الشائعة في علم الآثار في ربط البيانات النقطية والمتجهية - على سبيل المثال ، ربط مواقع الموقع بالمتغيرات البيئية مثل الارتفاع والمنحدر والجانب. من الشائع القيام بذلك عن طريق حساب قيم مواقع النقاط في ملف أشكال المواقع ، وغالبًا ما تكون مهمة لمقارنة المتغيرات البيئية عبر بعض جوانب متغيرات الموقع - الوظيفة ، والفترة الزمنية ، والحجم ، وما إلى ذلك. نهج قوي يبحث في المناطق المحيطة بالمواقع بدلاً من مواقعها الدقيقة ، وحساب المخزن المؤقت حول كل موقع موقع ومن ثم حساب متوسط ​​قيم المتغيرات البيئية المتعددة داخل تلك المخازن المؤقتة. من أجل التبسيط ، سنستخدم DEM ونقطية للمنحدر والجانب الذي يمكننا اشتقاقه منه ، ولكن يمكن أيضًا استخدام أي بيانات نقطية أخرى. باستخدام مجموعة بيانات خيالية لمنطقة صغيرة في بروفانس ، سنلقي نظرة على بعض الأدوات لاستكشاف البيانات المكانية ، ونبين أن المناطق التي استقرت في العصر الحديدي المبكر والعصر الغالو الروماني كانت متميزة بشكل كبير فيما يتعلق ببعض المتغيرات ، لكنها متشابهة في الآخرين.

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

6.0.1.1 الخطوات الأولى: استيراد البيانات وتنسيقها

سنبدأ بتحميل بعض الحزم ...

... ثم استيراد البيانات وفحصها.

6.0.1.2 العمل مع ماركا ألمانيا

يمكننا استخدام المارك الألماني لحساب مشتقات المارك الألماني.

هذه الملخصات مفيدة ، ولكن دعنا أيضًا نرسم DEM النقطي ، وهذا ليس ضروريًا تمامًا ، ولكن من المطمئن أن نرى أن البيانات ذات مغزى. لن نحاول أن نجعل الحبكة جميلة جدًا ، فالخيارات المحددة تفعل ما يكفي فقط لرسمها على أنها تضاريس واضحة DEM.

6.0.1.3 التخطيط النقطي والنقطي

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

نحن مقتنعون بأن بياناتنا منطقية ، وربما بعد أن طورت بالفعل بعض الأفكار حول توزيع الموقع بمجرد التحديق في الخريطة ، يمكننا المضي قدمًا لاستكشاف مواقع الموقع بشكل تحليلي. سنبدأ ببناء مكدس نقطي يتكون من البيانات النقطية للمتغيرات الثلاثة التي سنقوم بفحصها: الارتفاع ، والمنحدر ، والجانب.

6.0.1.4 النقطية المكدسة

6.0.1.5 استخدام extract () لتلخيص البيانات النقطية بشكل انتقائي

يمكننا بعد ذلك أخذ مكدس البيانات النقطية واستخدام extract () لتلخيص قيم DEM والمنحدر والجانب داخل المخزن المؤقت حول كل نقطة.

يمكن فحص النتائج بأي عدد من الطرق هنا ، سنقوم بعمل مربعات لكل متغير من المتغيرات ذات الأهمية. سنقوم برسم كل متغير حسب الفترة الزمنية ، لذلك ستشتمل كل نتيجة على مخططين للصندوق والشعر ، أحدهما للعصر الحديدي المبكر والآخر للعصر الغالو الروماني

6.0.1.6 Boxplotting لتحليل البيانات الاستكشافية

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

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

يمكننا الآن تقييم أي تقييمات مرئية أجريناها كميًا: من الواضح (تعطي الشقوق فاصل ثقة تقريبي 95٪ للمتوسطات) أن أجزاء من المنظر الطبيعي ذات المنحدرات المختلفة والجذع كانت مفضلة في الفترتين (وعلى النقيض من ذلك ، هذا تم اعتبار الجانب بالمثل أو ربما ظل غير مهم).

6.0.1.7 ملخص

ماذا يعني كل هذا بالنسبة للسؤال الأثري؟ تبدو فرضيتنا مقنعة للغاية للوهلة الأولى. هناك تغيير ملحوظ بين العصر الحديدي المبكر وفترة غالو الرومانية في أجزاء من المناظر الطبيعية المفضلة ، والنمط قوي. ومع ذلك ، يجب اعتبار ذلك تحليلًا استكشافيًا ، ويتم تطبيق تحذيرات GIS الشائعة:

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

ومع ذلك ، فهذه مشكلات بناء الحجة أكثر من كونها مشكلة ، وأجد هذه مجموعة قوية من الأدوات التي يمكن من خلالها استكشاف البيانات والتفكير في الحجج التي يجب اختبارها بمزيد من التفصيل. يمكن معالجة هذه المشكلات من خلال المزيد من استكشاف البيانات (على سبيل المثال ، استكشاف متغيرات الموقع الأخرى ، وتغيير حجم المخزن المؤقت ، وتغيير الإحصائيات الموجزة المستخدمة لوصف المشهد داخل المخزن المؤقت) ، وإضافة بيانات أخرى (على سبيل المثال ، البيانات النقطية للمسافة من التدفقات ، ونوع التربة وعمقها ، وما إلى ذلك) ، والتفكير في ما يتطلبه الأمر لبناء حجة أكثر قوة.

أخيرًا ، من خلال النظر في ما قد نحققه من استخدام R كنظام المعلومات الجغرافية بهذه الطريقة (بدلاً من QGIS و ArcGIS وما إلى ذلك) ، أريد إبراز أربع من الخطوات التي مررنا بها:

  1. البيانات الجزئية
  2. إضافة متغيرات بيئية (أو أي متغيرات مكانية) كبيانات نقطية وتلخيصها فيما يتعلق بمواقع الموقع
  3. تحديد المعلمات التحليلية (على سبيل المثال ، حجم المخزن المؤقت ، والإحصاءات الموجزة)
  4. تصور توزيعات المتغيرات البيئية للمواقع

توفر كل هذه المرونة في تفاصيل التحليل ، ويمكن تكرار العملية بأكملها بسهولة في تباديل متنوع أو مع بيانات مختلفة.


ببليوجرافي

بونهام كارتر ، ج. ، 1994 ، نظم المعلومات الجغرافية لعلماء الجيولوجيا: النمذجة باستخدام نظم المعلومات الجغرافية ، نيويورك: بيرغامون.

فورد ، أ ، ك. كلارك ، جي رينيس ، 2009 ، "نمذجة أنماط الاستيطان لحضارة المايا الكلاسيكية المتأخرة باستخدام أساليب بايز وأنظمة المعلومات الجغرافية" ، حوليات جمعية الجغرافيين الأمريكيين ، المجلد 99 ، العدد 3 ، 1-25.

مرحبًا ، A. ، S. Tansley ، و K. Tolle ، 2009 ، النموذج الرابع: الاكتشاف العلمي المكثف للبيانات ، ريدموند ، واشنطن: أبحاث مايكروسوفت.

لي و ل. و م. Goodchild ، 2011 ، "نموذج تحسين لمطابقة الميزات الخطية في دمج البيانات الجغرافية" ، المجلة الدولية للصور ودمج البيانات ، المجلد 2 ، العدد 4 ، 309-328.

لونجلي ، با ، م. جود تشيلد ، دي جي. ماغواير و د. ريند ، 2015 ، علوم ونظم المعلومات الجغرافية. هوبوكين ، نيوجيرسي ، وايلي.

ميلر ، إتش جيه ، إم إف. Goodchild ، 2014 ، "الجغرافيا القائمة على البيانات" ، GeoJournal، المجلد 80 ، العدد 4 ، 449-461. DOI: 10.1007 / s10708-014-9602-6.

Sui ، D.Z. ، 2009 ، "Mashup and the GIS and Geography" ، GeoWorld رقم 12 ، 15-17.

تيرنر ، أ. ، 2006 ، مقدمة في الجغرافيا الحديثة ، سيباستوبول ، كاليفورنيا ، أورايلي.


4.2 تحضير طبقات التربة المتغيرة

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

تحويل خرائط المضلعات إلى نقطية ،

تصغير الحجم أو الارتقاء (التجميع) النقطية لمطابقة الدقة المستهدفة (أي إعداد ملف كومة),

تصفية وحدات البكسل المفقودة / تقليل الضوضاء ومشاكل الخطية المتعددة (تداخل البيانات) ،

تراكب وتقسيم مجموعات النقاط والنقاط النقطية ،

يجب أن توفر الأمثلة التالية بعض الأفكار حول كيفية برمجة هذه الخطوات باستخدام بناء الجملة الأكثر إيجازًا والذي يعمل على تشغيل أسرع الخوارزميات وأكثرها قوة. غالبًا ما تكون البيانات النقطية كبيرة جدًا (على سبيل المثال ملايين وحدات البكسل) لذا يجب التخطيط بعناية لمعالجة مجموعات كبيرة من مشاهد الاستشعار عن بعد في R. يمكن تنزيل البرنامج التعليمي الكامل R من مستودع github. يمكن العثور على إرشادات حول كيفية تثبيت وإعداد جميع البرامج المستخدمة في هذا المثال في الفصل 2 الخاص بتثبيت البرنامج.

4.2.1 تحويل خرائط المضلعات إلى نقطية

قبل أن نتمكن من إرفاق خريطة مضلعة بحزم أخرى من المتغيرات المشتركة ، يجب تنقيطها ، أي تحويلها إلى طبقة نقطية محددة بمربعها المحيط (المدى) والدقة المكانية. ضع في اعتبارك على سبيل المثال خريطة مضلعة لمجموعة بيانات Ebergötzen من حزمة plotKML (الشكل 4.1):

الشكل 4.1: خريطة مضلع المادة الأصلية لـ Ebergotzen مع وسيلة الإيضاح.

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

الكائن eberg_grids25 هو SpatialPixelsDataFrame ، وهو عبارة عن بنية بيانات مكانية شبكية لحزمة حزمة sp. توفر الحزمة النقطية أيضًا هياكل بيانات للبيانات المكانية (الشبكية) وتخزين البيانات مثل فئة RasterLayer. يمكن تحويل البيانات الشبكية من فئة SpatialPixelsDataFrame إلى طبقة نقطية باستخدام الأمر النقطي. يمكن استخدام أمر CRS الخاص بحزمة sp لضبط الإسقاط المكاني. EPSG projection 31467 هو نظام إحداثيات ألماني (كل نظام إحداثيات له رقم EPSG مرتبط يمكن الحصول عليه من http://spatialreference.org/).

أصبح التحويل من مضلع إلى نقطي ممكنًا الآن عبر أمر التنقيط:

الشكل 4.2: خريطة مضلع مادة Ebergotzen الأصلية منقطة إلى 25 مترًا من الدقة المكانية.

يمكن أن يستغرق تحويل المضلعات الكبيرة في R باستخدام الحزمة النقطية وقتًا طويلاً. لتسريع عملية التحويل النقطي للمضلعات ، نوصي بشدة باستخدام وظيفة التعجيل بدلاً من ذلك:

تعد وظيفة أسرع ترتيبًا من حيث الحجم أسرع وبالتالي فهي أكثر ملاءمة للعمل التشغيلي ، فهي تعمل فقط مع كائنات الميزة البسيطة (sf) ، ومع ذلك ، لذلك يجب أولاً إجبار كائن sp polygon على كائن sf.

هناك طريقة أخرى فعالة لتنقيط المضلعات وهي استخدام SAGA GIS ، والتي يمكنها التعامل مع البيانات الكبيرة وسهلة التشغيل بالتوازي. أولاً ، تحتاج إلى تصدير خريطة المضلع إلى تنسيق ملف الشكل والذي يمكن إجراؤه باستخدام أوامر حزمة حزمة rgdal:

يكتب الأمر writeOGR () SpatialPolygonsDataFrame (بنية البيانات لبيانات المضلع في R) إلى ملف أشكال ESRI. هنا نكتب فقط السمة & quotZONES_int & quot إلى ملف الأشكال. ومع ذلك ، من الممكن أيضًا كتابة جميع سمات SpatialPolygonsDataFrame إلى ملف أشكال.

بعد ذلك ، يمكنك تحديد موقع برنامج سطر أوامر SAGA GIS (المثبت مسبقًا) (على نظام Microsoft Windows OS أو Linux):

وأخيراً استخدم الشبكة grid_gridding لتحويل ملف الشكل إلى شبكة:

باستخدام الأمر system () ، يمكننا استدعاء أمر نظام التشغيل (OS) ، وهنا نستخدمه لتشغيل ملف saga_cmd.exe من R. تُستخدم وظيفة لصق 0 للصق سلسلة يتم تمريرها إلى الأمر system () معًا. . تبدأ السلسلة بأمر نظام التشغيل الذي نرغب في استدعاؤه (هنا saga_cmd.exe) متبوعًا بالإدخال المطلوب لتشغيل أمر نظام التشغيل.

لاحظ أن المربع المحيط (في SAGA GIS) يحتاج إلى تحديد باستخدام مركز بكسل الزاوية وليس الزوايا ، ومن ثم نأخذ نصف حجم البكسل لإحداثيات المدى من الحزمة النقطية. لاحظ أيضًا أن أسماء الفئات قد فقدت أثناء التنقيط (نحن نعمل مع الأعداد الصحيحة في SAGA GIS) ، ولكن يمكننا إرفاقها مرة أخرى باستخدام على سبيل المثال:

الشكل 4.3: مناطق Ebergotzen التي تم تنقيطها بدقة تصل إلى 25 مترًا وبتسميات عوامل صحيحة.

4.2.2 تصغير الحجم أو الارتقاء (تجميع) البيانات النقطية

من أجل جميع المتغيرات المشتركة إلى الكمال كومة، نحتاج أيضًا إلى ضبط دقة بعض المتغيرات المشتركة التي تحتوي على دقة خشنة جدًا أو دقيقة جدًا مقارنة بالدقة المستهدفة. تُعرف أيضًا عملية إحضار الطبقات النقطية إلى دقة الشبكة المستهدفة باسم جارى الاختزال. تأمل المثال التالي من دراسة حالة Ebergotzen:

في هذه الحالة ، لدينا بضع طبقات نرغب في استخدامها للتنبؤ المكاني بالاشتراك مع الخرائط التي تم إنتاجها في الأقسام السابقة ، لكن دقتها تبلغ 100 متر ، أي حوالي 16 مرة أكثر خشونة. ربما تكون الطريقة الأكثر فعالية لإعادة تشكيل البيانات النقطية هي استخدام وظيفة gdalwarp من برنامج GDAL. بافتراض أنك قمت بالفعل بتثبيت GDAL ، فأنت تحتاج فقط إلى تحديد موقع البرنامج على نظامك ، وبعد ذلك يمكنك مرة أخرى تشغيل gdalwarp عبر أمر النظام:

يكتب الأمر writeGDAL شبكة TWISRT6 المخزنة في مكدس الشبكة eberg_grid إلى ملف TIFF. تتم قراءة TIFF لاحقًا بواسطة دالة gdalwarp وأعيد تشكيلها إلى ملف TIFF بحجم 25 مترًا باستخدام خط مكعب ، والذي سيملأ القيم بين عقد الشبكة الأصلية باستخدام الأسطح الملساء. Note that the paste0 function in the system() command pastes together the following string:

We can compare the two maps (the original and the downscaled) next to each other by using:

Figure 4.4: Original TWI vs downscaled map from 100 m to 25 m.

The map on the right looks much smoother of course (assuming that this variable varies continuously in space, this could very well be an accurate picture), but it is important to realize that downscaling can only be implemented up to certain target resolution i.e. only for certain features. For example, downscaling TWI from 100 to 25 m is not much of problem, but to go beyond 10 m would probably result in large differences from a TWI calculated at 10 m resolution (in other words: be careful with downscaling because it is often not trivial).

The opposite process to downscaling is upscaling or aggregation. Although this one can also potentially be tricky, it is a much more straightforward process than downscaling. We recommend using the average method in GDAL for aggregating values e.g.:

Figure 4.5: Original TWI vs aggregated map from 100 m to 250 m.

4.2.3 Deriving DEM parameters using SAGA GIS

Now that we have established a connection between R and SAGA GIS, we can also use SAGA GIS to derive some standard DEM parameters of interest to soil mapping. To automate further processing, we make the following function:

To run this function we only need DEM as input:

which processes all DEM derivatives at once. We can plot them using:

Figure 4.6: Some standard DEM derivatives calculated using SAGA GIS.

This function can now be used with any DEM to derive a standard set of 7–8 DEM parameters consisting of slope and curvature, TWI and MrVBF, positive and negative openness, valley depth and deviation from mean value. You could easily add more parameters to this function and then test if some of the other DEM derivatives can help improve mapping soil properties and classes. Note that SAGA GIS will by default optimize computing of DEM derivatives by using most of the available cores to compute (parallelization is turned on automatically).

4.2.4 Filtering out missing pixels and artifacts

After bringing all covariates to the same grid definition, remaining problems for using covariates in spatial modelling may include:

Multicolinearity (i.e. data overlap),

In a stack with tens of rasters, the weakest layer (i.e. the layer with greatest number of missing pixels or largest number of artifacts) could cause serious problems for producing soil maps as the missing pixels and artifacts would propagate to predictions: if only one layer in the raster stack misses values then predictive models might drop whole rows in the predictions even though data is available for 95% of rows. Missing pixels occur for various reasons: in the case of remote sensing, missing pixels can be due to clouds or similar noise is often due to atmospheric conditions. Missing pixels (as long as we are dealing with only a few patches of missing pixels) can be efficiently filtered by using for example the gap filling functionality available in the SAGA GIS e.g.:

In this example we use the same input and output file for filling in gaps. There are several other gap filling possibilities in SAGA GIS including Close Gaps with Spline, Close Gaps with Stepwise Resampling and Close One Cell Gaps. Not all of these are equally applicable to all missing pixel problems, but having <10% of missing pixels is often not much of a problem for soil mapping.

Another elegant way to filter the missing pixels, to reduce noise and to reduce data overlap is to use Principal Components transformation of original data. This is available also via the GSIF function spc :

Figure 4.7: 11 PCs derived using input Ebergotzen covariates.

The advantages of using the spc function are:

All output soil covariates are numeric (and not a mixture of factors and numeric),

The last 1-2 PCs often contain signal noise and could be excluded from modelling,

In subsequent analysis it becomes easier to remove covariates that do not help in modelling (e.g. by using step-wise selection and similar),

A disadvantage of using spc is that these components are often abstract so that interpretation of correlations can become difficult. Also, if one of the layers contains many factor levels, then the number of output covariates might explode, which becomes impractical as we should then have at least 10 observations per covariate to avoid overfitting.

4.2.5 Overlaying and subsetting raster stacks and points

Now that we have prepared all covariates (resampled them to the same grid and filtered out all problems), we can proceed with running overlays and fitting statistical models. Assuming that we deal with a large number of files, an elegant way to read all those into R is by using the raster package, especially the stack and raster commands. In the following example we can list all files of interest, and then read them all at once:

One could now save all the prepared covariates stored in SpatialGridDataFrame as an RDS data object for future use.

To overlay rasters and points and prepare a regression matrix, we can either use the over function from the sp package, or extract function from the raster package. By using the raster package, one can run overlay even without reading the rasters into memory:

If the raster layers can not be stacked and if each layer is available in a different projection system, you can also create a function that reprojects points to the target raster layer projection system:

which can also be run in parallel for example by using the parallel package:

In a similar way, one could also make wrapper functions that downscale/upscale grids, then filter missing values and stack all data together so that it becomes available in the working memory (sp grid or pixels object). Overlay and model fitting is also implemented directly in the GSIF package, so any attempt to fit models will automatically perform overlay.

4.2.6 Working with large(r) rasters

As R is often inefficient in handling large objects in memory (such as large raster images), a good strategy to run raster processing in R is to consider using for example the clusterR function from the raster package, which automatically parallelizes use of raster functions. To have full control over parallelization, you can alternatively tile large rasters using the getSpatialTiles function from the GSIF package and process them as separate objects in parallel. The following examples show how to run a simple function in parallel on tiles and then mosaic these tiles after all processing has been completed. Consider for example the sample GeoTiff from the rgdal package:

We can split that object in 35 tiles, each of 5 x 5 km in size by running:

Figure 4.8: Example of a tiling system derived using the GSIF::getSpatialTiles function.

rgdal further allows us to read only a single tile of the GeoTiff by using the offset and region.dim arguments:

Figure 4.9: A tile produced from a satellite image in the example in the previous figure.

We would like to run a function on this raster in parallel, for example a simple function that converts values to 0/1 values based on a threshold:

This can now be run through the mclapply function from the parallel package (which automatically employs all available cores):

If we look in the tiles folder, this should show 35 newly produced GeoTiffs. These can be further used to construct a virtual mosaic by using:

Note we use a few important settings here for GDAL e.g. -overwrite -co "COMPRESS=DEFLATE" to overwrite the GeoTiff and internally compress it to save space, and -r "near" basically specifies that no resampling is applied, just binding of tiles together. Also, if the output GeoTiff is HUGE, you will most likely have to turn on -co "BIGTIFF=YES" otherwise gdalwarp would not run through. The output mosaic looks like this:

Figure 4.10: Final processed output.

This demonstrates that R can be used to compute with large rasters, provided that these operations can be parallelized. Suggested best practice for this is to: (1) design a tiling system that optimizes use of RAM and read/write speed of a disk, (2) prepare and test a function that can then be run in parallel, and (3) stitch back all tiles to create a single large raster using gdalwarp .

Note that such tiling و stitching can not be applied universally to all problems e.g. functions that require global geographical search or all data in the raster. In such cases tiling should be applied with overlap (to minimize boundary effects) or to irregular tiling systems (e.g. per watershed). Once an optimal tiling system and function is prepared, R is no longer limited to running efficient computing, but only dependent on how much RAM and how many cores you have available i.e. it becomes more of a hardware than a software problem.


R-bloggers

Posted on November 20, 2009 by joe in Uncategorized | 0 Comments

Recently (2008) the European Space Agency produced GlobCover ( ESA GlobCover Project, led by MEDIAS-France ), the highest resolution (300m) global land cover map to date. GlobCover uses 21 primary land cover classes and many more sub-classes. Land cover classification (LCC) schemes divide the earth into biomes. Biomes are the simplest way to classify vegetation which can be applied globally. LCC makes sense because the boundaries between different ecosystems (ecotones) are sharp. However, definitions vary and there is no agreed standard set of biomes. [1]

GlobCover Example

Puntarenas is a province on the pacific coast of Costa Rica. The province has a typical mix of tropical land cover. This includes some spectacular examples of Pacific Rainforest, notably on the Osa Peninsula. Puntarenas has an area of ≈ 11,000 sq. km or about 120,000 GlobCover pixels.

13 land cover types are present in the GlobCover map below. The barplot on the right shows the total amounts present in each class.

The GlobCover legend (above) has mixed land cover classes, where more than one biome occurs inside a map pixel. This is especially true in the man-made biomes (agriculture) . For example, there are three cropland land cover types depending on the relative amounts of other vegetation present.

GlobCover map making in ص

ص is a programming language, not a specialised geographic information system (GIS) such as GRASS or commercial packages. However applications of ص to spatial problems is a growth industry. [2]

A GlobCover map similar to the above can be produced for any area of interest. ال Geospatial Data Abstraction Library (GDAL) should be installed on your system. FWTools is the place to go. You also need ص packages sp و rgdal installed. The regional GLOBCOVER map for Central America can be downloaded from ESA هنا. GlobCover is in GeoTiff format i.e. a Tiff image file which contains georeferencing information. The following GDAL command (from command line, or run from R using shell) creates a 4° x 4° submap centred on Costa Rica.
gdalwarp GLOBCOVER_200412_200606_V2.2_CentralAmerica_Reg.tif -te -86 8 -82 12 costaRica.tif

costaRica.tif is read into ص باستخدام rgdal package:

library(rgdal) costa <- readGDAL("costaRica.tif")

costa has class SpatialGridDataFrame, which is a class defined in the package sp (loaded when rgdal is loaded).

Administative boundaries for Costa Rica were obtained from Global Administrative Areas www.gadm.org (see Revolution R blog post)

con <- url("http://gadm.org/data/rda/CRI_adm1.RData") load(con) close(con)

Costa Rican provinces are now contained in the object gadm of class SpatialPolygonsDataFrame. The boundaries of Puntarenas province (excluding Cocos Island) are extracted as follows:

Polygons(list(Polygon([email protected][[6]]@Polygons[[27]]@coords),Polygon([email protected][[6]]@Polygons[[25]]@coords)),"puntarenas") temp <- SpatialPolygons(list(temp),proj4string=CRS(proj4string(gadm))) punt.sp <- SpatialPolygonsDataFrame(temp, data.frame(cbind(2,2), row.names=c("puntarenas"))) # puntarenas

ال overlay() method is used to extract the land cover map puntarenas from costa:

puntarenas <- costa puntarenas.overlay <- overlay(costa,punt.sp) # 1 in interior of puntarenas polygons, 0 outside puntarenas$band1 <- costa$band1*puntarenas.overlay

Unfortunately overlay() is rather slow, because it applies point.in.polygon() to the entire raster. Eventually puntarenas appears as a SpatialGridDataFrame which can be plotted using standard ص tools such as image().

The code needed to generate the above plot is هنا.

Footnotes

[1] For example, the International Biosphere-Geosphere Programme (IGBP) land cover legend used 17 biomes. The University of Maryland map used 14 biomes. At much lower resolution, numerical weather forecasting models such as US National Center for Climate Prediction Global Forecasting System (NCEP-GFS) also use alternative schemes.

[2] Roger S. Bivand, Edzer J. Pebesma, and Virgilio Gómez-Rubio. Applied Spatial Data Analysis with R. Springer, New York, 2008


شاهد الفيديو: DigitalImages الفيديو الثاني: الصور الرقمية (شهر اكتوبر 2021).