أكثر

هل تريد تغيير الخريطة النقطية لأنواع الموائل بشكل عشوائي؟

هل تريد تغيير الخريطة النقطية لأنواع الموائل بشكل عشوائي؟


لدي بيانات نقطية لأنواع الموائل لمنطقة معينة في اسكتلندا. أحتاج إلى إنشاء سيناريوهات مستقبلية للموئل مع تغييرات في الموائل لتقييم قابلية بقاء أنواع الطيور.

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

هل يبدو أن هذا هو أفضل طريقة للقيام بذلك؟ هل هناك طريقة أفضل؟

إذا كانت هذه هي أفضل طريقة متاحة ، فكيف يمكنني القيام بذلك ، ويفضل أن يكون ، R؟ (أنا أبحث حاليًا في وظيفة rpoints في "spatstat" جنبًا إلى جنب مع حزمة CellularAutomata)

لدي أيضًا إمكانية الوصول إلى GRASS و QGis و ArcMap 10 إذا كانت هناك طرق أبسط في أي منها.


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

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

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

على سبيل المثال ، ضع في اعتبارك تكوين البداية هذا مع فئتين فقط ، أبيض وأسود:

لتوضيح ما يمكن أن يحدث ، قمت بإنشاء نموذج معلمات (لا يعتمد على أي بيانات) يحدث فيه الانتقال إلى اللون الأسود مع احتمال 1 - q ^ k حيث k هو متوسط ​​عدد الخلايا السوداء داخل 3 في 3 جوار (k = 0 ، 1/9 ، 2/9 ، ... ، 1). عندما يكون q صغيرًا أو يكون معظم الحي أسود بالفعل ، ستكون الخلية الجديدة سوداء. فيما يلي أربع عمليات محاكاة مستقلة للجيل العاشر لخمس قيم لـ q تتراوح من 0.25 إلى 0.05:

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


رمز

ما يلي يطبق المحاكاة فيص.

# # قم بالانتقال من الحالة 'x' باستخدام نواة لها 'k.ft' كـ # تحويل فورييه الخاص بها. # الانتقال <- الوظيفة (x، k.ft، q = 0.1) {k <- zapsmall (Re (fft (k.ft * fft (x)، معكوس = TRUE))) / length (x) matrix (runif ( length (k))> q ^ k، nrow = nrow (k))} # # أنشئ الجيل الصفري و fft لنواة الانتقال. # n.row <- 2 ^ 7 # FFT هو الأفضل مع قوى 2 n.col <- 2 ^ 7 kernel <- matrix (0، nrow = n.row، ncol = n.col) kernel [1: 3، 1: 3] <- 1/9 kernel.f <- fft (kernel) set.seed (17) x <- matrix (sample (c (0،1)، n.row * n.col، replace = TRUE، prob = c (599، 1))، n.row) # # استعد لتشغيل عمليات محاكاة متعددة. # y. قائمة <- قائمة () المعلمات <- c (.25 ، .2 ، .15 ، .1 ، .05) # # قم بإجراء عمليات المحاكاة وقياسها. # i <- 0 system.time ({لـ (q في المعلمات) {y <- x لـ (الجيل في 1:10) {y <- transfer (y، kernel.f، q)} y.list [[i <- i + 1]] <- y}}) # # اعرض النتائج. # par (mfrow = c (1، length (parameters))) غير مرئي (sapply (1: length (parameters)، function (i) image (y.list [[i]]، col = c ("White"، " أسود ") ، main = parameters [i])))

شاهد الفيديو: الجغرافية الرابع الادبي. انواع الخرائط.