أكثر

المخزن المؤقت من نقطة أو مضلع بمعلومات من نقطية

المخزن المؤقت من نقطة أو مضلع بمعلومات من نقطية


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

سيسمح هذا بإنشاء مخازن مؤقتة غير موحدة بناءً على المعلومات البيئية بدلاً من إعداد مخزن مؤقت عشوائي حول مضلع.

set.seed (8354) r <-raster (matrix (ncol = 5، nrow = 5، abs (round (rnorm (25،5،5)، 0)))) e <- مدى (c (0،5، 0،5)) المدى (r) <- e المؤامرة (r) النقاط (2.5،2.5 ، cex = 3 ، pch = 19)

تظهر أسفل الصور النقطية الأولية والنقطية "مخزنة" إلى القيم الخارجية التي تساوي 10. نية التحرك للخارج من الخلية المركزية في جميع الاتجاهات الثمانية لتلخيص القيم كلما تم إحراز تقدم. عند تحقيق 10 ، يتم تعيين المخزن المؤقت إلى هذا الحد ، إذا تجاوزت القيمة 10 ، فإن الخلية الحالية تحدد النطاق.

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

لقد كنت أبحث من خلالgdistanceالتوثيق وكذلكaccCostكما رأينا هنا. الانتقاليبدو أن الوظيفة هي نقطة إنهاء المكالمة. ينبع الكثير من ذلك من عدم فهمي لما تقوم به هذه الوظيفة (سأواصل قراءتي). لقد كنت أستخدم الجمع في وسيطة دالة انتقالية.

القيم الموجودة على البيانات النقطية الأصلية

الجمع الخارجي تحديد مدى المخزن المؤقت


استخدام مصفوفة الحي معالمجاوريمنحك أرقام الخلايا حول خلية معينة ، لذا يمكنك استخراج القيم من الأحياء المتزايدة حتى الوصول إلى عتبة.

وظيفة لبناء مصفوفة الحي للتركيز على نقطة معينة.

## 'param n حجم مصفوفة الحي 3،5،7،… nmatrix <- function (n) {## n يجب أن تكون فردية و> 1 m <- matrix (1، n، n) m [السقف (الطول (م) / 2)] <- 0 م} ## جيران يجمعون 10 لنقطة معينة مجموع 0 <- 0 start0 <- 3 بينما (مجموع 0 <10) {## استخراج جميع القيم في الجوار ، بما في ذلك الخلايا المركزية <- المجاور (r، cellFromXY (r، pt)، الاتجاهات = nmatrix (start0)، include = TRUE) [، "to"] القيم المجاورة <- r [الخلايا] ## اختبار مجموع القيم ## (يمكن ترتيب عشوائي هنا أو تعيينها أمر محدد للاختبار) # print (cumsum (Advalues)) sum0 <- sum (Advalues) ## زيادة حجم الحي start0 <- start0 + 2}

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

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

الالمجاوروظيفة متجهية علىالخلاياحتى تتمكن من الاختبار عبر نقاط متعددة ولكن هذا سيجعل الأمر أكثر تعقيدًا وربما لا تستحق الكفاءة المكتسبة ذلك.


شاهد الفيديو: مسافة نقطة وخط ومنصفات الزوايا