আর্কজিআইএস জোনাল পরিসংখ্যানের প্রধান বাগ?


25

আপডেট: বাগটি আরকজিআইএস 10.4 রিলিজে স্থির করা হয়েছে

আমি বেশ কয়েকটি জোনের জোনাল পরিসংখ্যান নির্ধারণ করতে আমি আর্কজিআইএস 10.2.2 ব্যবহার করছি। মান রাস্টারটিতে যদি কোনও নোডাটা থাকে তবে আমি জোনটির ফলাফলগুলি "নোডাটা" হতে চাই, সরঞ্জামের বিবরণ দ্বারা ঠিক যেমন বিজ্ঞাপন করা হয়েছিল। এই সরঞ্জামের বিবরণে বলা হয়েছে:

ডেটা - যে কোনও নির্দিষ্ট জোনের মধ্যে, কেবলমাত্র সেই ঘরগুলি যার ইনপুট মান রাস্টারটির একটি মান থাকে সেই অঞ্চলটির আউটপুট মান নির্ধারণে ব্যবহৃত হবে। মান রাস্টারে নোডাটা কোষ পরিসংখ্যান গণনায় উপেক্ষা করা হবে।

নোডাটা - যে কোনও নির্দিষ্ট জোনের মধ্যে, কোনও নোডাটা কোষ যদি মান রাস্টারগুলিতে উপস্থিত থাকে তবে মনে করা হয় যে সেই অঞ্চলের সমস্ত কোষের জন্য পরিসংখ্যান গণনা করার জন্য পর্যাপ্ত তথ্য নেই; অতএব, পুরো অঞ্চলটি আউটপুট রাস্টারটিতে নোডাটা মান গ্রহণ করবে।

এই ছবিতে আমার সেটআপটি দেখুন দয়া করে: এখানে চিত্র বর্ণনা লিখুন

আমি একটি নোডাটা পিক্সেলযুক্ত একটি মান রাস্টার দিয়ে নোডাটা বিকল্পটি ব্যবহার করছি এবং ফলস্বরূপ জোনটির মান (জোন 61154) 'নোটাটা' হওয়ার আশা করি। পরিবর্তে, আমি একটি মূল্য পেয়েছি 12.74 (চিত্রের 13 টি গোল), যা আমাকে দুটি স্তরে বিভ্রান্ত করে: প্রথমত, আমি 'নোডাটা' প্রত্যাশা করতাম এবং দ্বিতীয়ত, 12.74 এর ফলে প্রাপ্ত মানটি গাণিতিকভাবে অসম্ভব, কারণ গড়টি বড় হতে পারে না মান রাস্টার সর্বাধিক মানের তুলনায়, যা এই ক্ষেত্রে 10।

আমি যদি ডেটা বিকল্পটি ব্যবহার করি তবে আমি প্রায় 9.1 এর একটি মান পাই যা বোঝায়। আমরা এটি বিভিন্ন ডেটাसेट, কম্পিউটার এবং আর্কজিআইএস সংস্করণে পরীক্ষা করেছি।

আমি এখানে কি মিস করছি?

সম্পাদনা / অতিরিক্ত মন্তব্য: আমি কেবল লক্ষ্য করেছি যে 'জনা' গুণটি সেই বিশেষ অঞ্চলের পক্ষেও ভুল। সেই অঞ্চলে প্রকৃতপক্ষে ৪২১ টি কক্ষ রয়েছে, তবে সরঞ্জামটি কেবল 297 গণনা করেছে 42 421 বিয়োগ 297 গণনা 124-এর ফলাফলের ফলাফল - অদ্ভুতভাবে যথেষ্ট, এটিই "অবস্থান" যেখানে নোডাটা পিক্সেলটি অবস্থিত, যদি কেউ উপরের বাম থেকে নীচে পিক্সেল গণনা করে ঠিক জোনে। সরঞ্জামটি হয়ত সেল গণনা ভুল (খুব কম) পেয়েছে, যা গড় বৃদ্ধির ব্যাখ্যা দিতে পারে।

সম্পাদনা: আমি যে ডেটা ব্যবহার করছি তার লিঙ্ক এখানে is

সম্পাদনা: ড্যান প্যাটারসন এবং আমি ইএসআরআই ফোরামে এখানে আরও কিছু ডিবাগিং করেছি ।


1
হ্যাঁ এটি পাগল কিছু উত্পাদন করে। আমার ক্ষেত্রে রাস্টার ইন রেঞ্জের জন্য MEAN = 537 (16,86)। মজার নয়
ফেলিক্সআইপি

এই রাস্টারটিতে NoData উপস্থাপনের জন্য কোন মান ব্যবহার করা হয়?
জিজিবেলে

@ জিজিবেল: ভাল প্রশ্ন, আমি একটি নির্ভরযোগ্য উত্তর কোথায় পাই? যদি আমি আসকি হিসাবে রফতানি করি তবে এটি -9999। যদি আমি প্রসঙ্গ মেনু থেকে রফতানি ফাংশনটি ব্যবহার করি, "হিসাবে নোডাটা:" - রফতানি কথোপকথনের ক্ষেত্রটি 2147483647 দিয়ে প্রিপোপুলেটেড হয়ে যায় that এটি কি কোনও পতাকা উত্থাপন করে?
জি-উইজার্ড

এটি অ্যাট্রিবিউট টেবিলের এক সারি হিসাবে প্রদর্শিত হবে
জিজিবেল

1
আমি আমার পোস্টের শেষে অন্য সম্পাদনা করেছি, যেখানে আমি ইএসআরআই ফোরামে একই পোস্টের সাথে লিঙ্ক করেছি । ত্রুটি নিশ্চিত হয়েছে (একটি পাক দিয়ে) "এমইএনএএন" গণনা করা "সমস্ত" পরিসংখ্যান গণনা করার চেয়ে আলাদা / খারাপ ফলাফল কেবল তৈরি করে।
জি-উইজার্ড

উত্তর:


9

একটি বাগ রয়েছে যা আপনি যা অনুভব করছেন তার সাথে সামঞ্জস্যপূর্ণ বলে মনে হয় - এটি BUG-000084883 হিসাবে নিবন্ধিত - সারণী সরঞ্জাম হিসাবে জোনাল স্ট্যাটিস্টিক হিসাবে 'গণনাগুলিতে নোটাটা উপেক্ষা করুন' বিকল্প producing এবং জোনাল পরিসংখ্যান সরঞ্জাম checked সম্মান দেওয়া হয় না যখন উত্পাদন করা হয়, উত্পাদন করা হয় ভুল ফলাফল।

এটি 10.3 এবং 10.2.2 সহ ঘটে তবে 10.1 নয়। আপনি কি এই সংস্করণটি দিয়ে সরঞ্জামটি ব্যবহার করে দেখেছেন?


এটি একটি দুর্দান্ত পদ্ধতির মতো শোনাচ্ছে যদিও আমি ব্যক্তিগতভাবে কীভাবে সরঞ্জামটির পুরানো সংস্করণগুলি চালাতে জানি না। কেউ কি জানেন যে আমাকে কোথাও এই কাজটি করতে চেষ্টা করবেন?
উদ্ডারলিস্ট্রায়

ধন্যবাদ @ জিআইএসজি। আপনি এটি কোথায় পেলেন? এই বাগটি নথিভুক্ত করার কোনও লিঙ্ক আছে?
জি-উইজার্ড

1
@ জি-উইজার্ড - আমি আমার উত্তরে লিঙ্কটি যুক্ত করেছি। এসরি আন্তর্জাতিক কর্মী হিসাবে আমার কাছে আপনি যা দেখতে পাচ্ছেন তার চেয়ে আরও বিশদ বিবরণে আমার অ্যাক্সেস রয়েছে, এটিই আমি আপনাকে বলতে পারি যে বাগটি জোনাল স্ট্যাটিস্টিক্স সরঞ্জামেও প্রযোজ্য এবং 10.1-এ পাওয়া যায় না।
GISGe

@ উড্ডারলিস্ট্রে - আপনি যদি সরঞ্জামটির কোনও পুরানো সংস্করণ চালাতে চান তবে আপনাকে আরকজিআইএসের সেই পুরানো সংস্করণটি ইনস্টল করতে হবে।
GISGe

1
ধন্যবাদ আবার, জিআইজিজি, যেহেতু এটি আমি খুঁজছি (বাগ সরকারীভাবে নিশ্চিত হওয়া), আমি এই উত্তরটিকে সঠিক হিসাবে চিহ্নিত করছি, যদিও অন্যরাও পরীক্ষা করে এই বিষয়টি নিশ্চিত করেছেন।
জি-উইজার্ড

9

এটি একটি বাগ। সেল গণনাতে মারাত্মক কিছু ভুল।

সঠিক গড় (9.0452380952381) বার সঠিক খালি নয় এমন সেল (420) 297 দ্বারা বিভক্ত সংখ্যা (একটি সেল গণনা দ্বারা রিপোর্ট টুল 12,7912457912458 ফলাফল)। এটি সরঞ্জাম দ্বারা প্রতিবেদন করা একটি ভুল গড়।

আমার নিজের খেলনা আকারের গ্রিড পরীক্ষার ফলাফল:

এখানে চিত্র বর্ণনা লিখুন


1
আমি নিশ্চিত করি আমার 10.3, নোডাটা এবং "এমইএন" নিয়ে একই সমস্যা রয়েছে
রেডাক্সজু

এটি নিশ্চিত করার জন্য উভয়কেই ধন্যবাদ। তবে গড় মানের পার্থক্য একদিকে রেখে, আমি কী ধরে নিয়ে ভুল করছি যে ফলাফলটি আসলে কোনও মূল্য হওয়া উচিত নয়, তবে 'নোডাটা'? সরঞ্জামের বর্ণনা আমাকে বিশ্বাস করতে পরিচালিত করে। বলে: "নোডাটা - কোনও নির্দিষ্ট জোনের মধ্যে, কোনও নোডাটা কোষ যদি ভ্যালু রাস্টারটিতে উপস্থিত থাকে তবে মনে করা হয় যে সেই অঞ্চলে সমস্ত কক্ষের জন্য পরিসংখ্যান গণনা করার জন্য পর্যাপ্ত তথ্য নেই; সুতরাং, পুরো অঞ্চলটি নোডাটা মান গ্রহণ করবে আউটপুট রাস্টার উপর। " যেহেতু "নোডাটা" সহ একটি পিক্সেল রয়েছে, তাই জোনাল পরিসংখ্যানগুলিও "নোডাটা" হওয়া উচিত Cor সঠিক?
জি-উইজার্ড

2
@ জি-উইজার্ড, সরঞ্জামের বিবরণে বর্ণিত হিসাবে আপনি সঠিক। কিছুটা # ডিআইভি / 0 এর সাথে সাদৃশ্যপূর্ণ! এক্সেলে।
c0ba1t

1

অন্য উত্তরের অনুরূপ , রাস্টার ডেটা আপনার পরিসংখ্যান গণনা করতে নম্পপি মাস্কড অ্যারেগুলিতে সরান । একই আকারের সাথে দুটি ওভারলেটিং রাস্টার ধরে নেওয়া, এটি সহজ:

import numpy as np
zones = arcpy.RasterToNumPyArray("zones")
value = np.ma.masked_equal(arcpy.RasterToNumPyArray("value"),
                           arcpy.Raster("value").noDataValue)
print("Zone\tCount\tNoData\tMean")
for z in np.unique(zones):
    sel = (zones == z)
    print z, sel.sum(), value.mask[sel].sum(), value[sel].mean()

শো:

Zone    Count   NoData  Mean
61131   53   0   8.92452830189
61154   421   1   9.04523809524
61207   1   0   8.0
61317   35   0   7.2
61644   644   0   7.90838509317
61677   12   0   7.41666666667
61789   7   0   9.0
61871   193   0   7.98445595855
187472   349   0   8.5787965616
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.