রিমোট সেন্সিং ডেটা (ভিজ্যুয়াল ইমেজ এবং লিডার) থেকে গাছের মুকুট অঞ্চলগুলি উত্তোলন করা হচ্ছে


13

আমি রিমোট সেন্সিং ইমেজ প্রক্রিয়া করার এবং চিত্র থেকে পৃথক গাছের মুকুট অঞ্চলগুলি বের করার জন্য একটি পদ্ধতি খুঁজছি।

আমার কাছে অঞ্চলটি থেকে ভিজ্যুয়াল তরঙ্গ দৈর্ঘ্যের আয়নাল চিত্রাবলী এবং লিডার ডেটা উভয়ই রয়েছে। প্রশ্নের অবস্থানটি একটি মরুভূমি অঞ্চল, তাই গাছের আচ্ছাদন বনাঞ্চলের মতো ঘন নয়। বায়বীয় চিত্রের রেজোলিউশনটি 0.5 ফুট বাই 0.5 ফুট। লিডার রেজোলিউশন প্রায় 1 x 1 ফুট feet ভিজ্যুয়াল ডেটা এবং লিডার উভয়ই অ্যারিজোনা ডেটাসেটের পিমা কাউন্টি থেকে আসে। আমার কাছে বায়বীয় চিত্রের ধরণের একটি নমুনা এই পোস্টের শেষে রয়েছে।

এই প্রশ্নটি আরক্যাপে একক গাছ সনাক্তকরণ? একই সমস্যা বলে মনে হচ্ছে, তবে সেখানে ভাল উত্তর বলে মনে হচ্ছে না।

আমি আর্কম্যাপে আইসো ক্লাস্টার শ্রেণিবিন্যাসটি ব্যবহার করে এলাকায় গাছের ধরণের (এবং সামগ্রিক শতাংশের কভারের তথ্য) যুক্তিসঙ্গত শ্রেণিবিন্যাস পেতে পারি, তবে এটি পৃথক গাছের বিষয়ে সামান্য তথ্য সরবরাহ করে। আমি যা চাই তার নিকটতমতমটি হ'ল আর্কম্যাপের রাস্টার টু পলিগন বৈশিষ্ট্যের মাধ্যমে আইসোক্লাস্টার শ্রেণিবিন্যাসের আউটপুট পাস করার ফলাফল। সমস্যাটি হ'ল এই পদ্ধতিটি গাছ দ্বারা কাছাকাছিভাবে একক বহুভুজতে মিশে যায়।

সম্পাদনা: আমার কাছে যা আছে তা সম্পর্কে আমার আরও কিছু বিশদ থাকতে হবে। আমার কাছে থাকা কাঁচা ডেটাসেটগুলি হ'ল:

  • সম্পূর্ণ লাস ডেটা এবং এটি থেকে উত্পন্ন একটি টিফ রাস্টার।
  • ভিজ্যুয়াল চিত্র (যেমন দেখানো নমুনা চিত্র, তবে অনেক বিস্তৃত অঞ্চল জুড়ে)
  • এলাকায় গাছের একটি উপসেটের ম্যানুয়াল সরাসরি পরিমাপ।

এগুলি থেকে আমি উত্পন্ন করেছি:

  1. স্থল / গাছপালা শ্রেণিবিন্যাস।
  2. ডিইএম / ডিএসএম রেস্টাররা।

নমুনা বায়ু চিত্র


আপনি লিঙ্কটির চেয়ে বেশি ডেটা পেয়েছেন। আপনার কাছে শ্রেণীবদ্ধ লাস ফাইল রয়েছে বা কেবল ডেম / ডিএসএম রাস্টার রয়েছে (কোনটি?)? এটা সত্যিই সঠিকতা কোন ডিগ্রী অর্জন মাত্র চাক্ষুষ তরঙ্গদৈর্ঘ্যের সঙ্গে এই কাজ করা সহজ নয়।
মাইকেল সিলিমসন

আমার কাছে যা আছে তা সম্পর্কে আমার আরও কিছু বিশদ থাকতে হবে। আমার কাছে থাকা কাঁচা ডেটাসেটগুলি হ'ল: 1. সম্পূর্ণ লাস ডেটা এবং এটি থেকে উত্পন্ন একটি টিফ রাস্টার 2. ভিজ্যুয়াল চিত্র (যেমন দেখানো নমুনা চিত্র, তবে অনেক বিস্তৃত অঞ্চলকে আবৃত করে) 3. গাছের একটি উপসেটের সরাসরি মাপ ক্ষেত্র. এগুলি থেকে আমি উত্পন্ন করেছি: 1. স্থল / গাছপালা শ্রেণিবিন্যাস ২. ডিইএম / ডিএসএম রেস্টাররা
থিওডোর জোন্স

আপনার কি ECognition অ্যাক্সেস আছে? যদি তা না হয় তবে কোন ইমেজ প্রসেসিং সফটওয়্যার বা প্রোগ্রামিং ভাষাগুলিতে আপনার অ্যাক্সেস রয়েছে বা জানেন?
হারুন

আমার কাছে ECognition এর কোনও অনুলিপি নেই, তবে আমি আমার পরীক্ষাগার / বিশ্ববিদ্যালয়ে আমার পরিচিত কারও কাছে আছে কিনা তা যাচাই করে দেখি কারণ এটি এই জাতীয় জিনিসটির জন্য জনপ্রিয় বলে মনে হয়। আমি পাইথন, সি এবং জাভাতে জ্ঞানী। আমার মতলবের একটি অনুলিপি আছে তবে আমি এটিতে খুব আছি। আমার কাছে এই সফ্টওয়্যারটির যে কোনও সফ্টওয়্যার অ্যাক্সেস রয়েছে সফ্টওয়্যারলিক্যালেন্স.অরিজোনা.ইডু / স্টুডেন্টস, আরও, অবশ্যই আর্কজিআইএস।
থিওডোর জোন্স

আমার কাছে থাকা বাণিজ্যিক অ্যাপ্লিকেশনগুলিতে কিছুটা বিশদ। আমি যে সফ্টওয়্যারটির সাথে লিঙ্ক করেছি সেই তালিকার কয়েকটি হ'ল মাতলাব, ম্যাথেমেটিকা, জেএমপি এবং অন্যান্য পরিসংখ্যান সরঞ্জাম এবং সফ্টওয়্যার বিকাশ সরঞ্জামগুলি যেমন ভিজ্যুয়াল স্টুডিও।
থিওডোর জোন্স

উত্তর:


10

বর্ণালী এবং লিডার উপাত্তগুলিতে পৃথক মুকুট সনাক্তকরণে সাহিত্যের যথেষ্ট পরিমাণ রয়েছে। পদ্ধতিগুলি বুদ্ধিমান, সম্ভবত এটি দিয়ে শুরু করুন:

ফ্যালকভস্কি, এমজে, এএমএস স্মিথ, পিই গেসলার, এটি হুডাক, এলএ ভাইরলিং এবং জেএস ইভান্স (2008)। লিডার ডেটা ব্যবহার করে দুটি পৃথক গাছ পরিমাপ অ্যালগরিদমের যথার্থতার উপরে শঙ্কু বনাঞ্চলের ক্যানোপি কভারের প্রভাব। কানাডিয়ান জার্নাল অফ রিমোট সেন্সিং 34 (2): 338-350।

স্মিথ এএমএস, ই কে স্ট্র্যান্ড, সিএম স্টিল, ডিবি হান, এসআর গারারিটি, এম জে ফ্যালকোভস্কি, জেএস ইভান্স (২০০৮) বহু-অস্থায়ী বায়বীয় ছবিগুলিতে জুনিপার ছাঁটাইয়ের প্রতি-বস্তুর বিশ্লেষণ দ্বারা উদ্ভিদ স্থানিক কাঠামোগত মানচিত্রের উত্পাদন। কানাডিয়ান জার্নাল রিমোট সেন্সিং 34 (2): 268-285

আপনি যদি ওয়েভলেট পদ্ধতিতে আগ্রহী হন (স্মিথ এট আল।, ২০০৮), আমি পাইথনে কোড করেছিলাম তবে, এটি খুব ধীর। আপনার মতলব অভিজ্ঞতা থাকলে এটি উত্পাদন মোডে এটি প্রয়োগ করা হয়। আমাদের দুটি কাগজপত্র রয়েছে যেখানে আমরা পূর্ব ওরেগনে ন্যাপ আরজিবি-এনআইআর চিত্রের সাহায্যে ওয়েভলেট পদ্ধতিটি ব্যবহার করে million মিলিয়ন একর জুইপার অচেতনাকে চিহ্নিত করেছি, এটি ভাল প্রমাণিত।

বারুচ-মোরডো, এস।, জেএস ইভান্স, জে। সেভারসন, জেডি নওগল, জে কিয়েসেকার, জে ম্যাস্টাস এবং এম জে ফ্যালকোভস্কি (২০১৩) গাছ থেকে ageষি-গ্র্যাসেজ সংরক্ষণ: প্রার্থীর পক্ষে মূল হুমকি হ্রাস করার একটি সক্রিয় সমাধান প্রজাতি জৈবিক সংরক্ষণ 167: 233-241

পোজান্নোভিচ, এজে, এমজে ফ্যালকোভস্কি, এএল ম্যাকলিয়ান, এবং জেএস ইভান্স (২০১৪) জুনিপার উডল্যান্ডসে গাছ সনাক্তকরণ অ্যালগরিদমগুলির একটি নির্ভুল মূল্যায়ন। ফোটোগ্রামেট্রিক ইঞ্জিনিয়ারিং এবং রিমোট সেন্সিং 80 (5): 627 62637

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

গ্র্যামেসি, আরবি, এবং এইচকেএইচ লি (২০০৮) বায়েসিয়ান কম্পিউটার মডেলিংয়ের জন্য একটি অ্যাপ্লিকেশন নিয়ে গাউসিয়ান প্রক্রিয়া মডেলগুলি অনুসরণ করেছিলেন। আমেরিকান স্ট্যাটিস্টিকাল অ্যাসোসিয়েশনের জার্নাল, 103 (483): 1119–1130

কিম, এইচএম, বি কে মল্লিক এবং সিসি হোমস (২০০৫) টুকরোচক গাউস প্রক্রিয়া ব্যবহার করে অস্থির স্থানিক ডেটা বিশ্লেষণ করছেন। আমেরিকান স্ট্যাটিস্টিকাল অ্যাসোসিয়েশনের জার্নাল, 100 (470): 653–668


+1 বিশেষত বিকল্প 4 এর জন্য; ওপিতে যেহেতু লিকারের ডেটা রয়েছে, তাই এটি একটি ক্যানোপি পৃষ্ঠের মডেলটিতে তরঙ্গপত্র পদ্ধতিটি চালানো উপযুক্ত। যদিও আপনি জানেন, তরঙ্গলেখ পদ্ধতিটি এখনও সত্যই মূলধারার নয় (বা কখনও হতে পারে)।
হারুন

এক-আকারের ফিট-সব আদর্শের উদ্দেশ্যে, আমি বিগ-বক্স সফ্টওয়্যার হিসাবে বাণিজ্যিক সফ্টওয়্যার (যেমন, ESRI, ERDAS) উল্লেখ শুরু করতে যাচ্ছি। প্রায়শই সর্বোত্তম সমাধান, বা যে কোনও একটি, "বিগ-বক্স সফ্টওয়্যার" তে পাওয়া যায় না। জটিল স্থানীয় বিশ্লেষণমূলক সমস্যার জবাব পাওয়ার জন্য প্রায়শই একজনকে উন্নয়ন বা একাডেমিক সম্প্রদায়ের দিকে নজর দিতে হয়। এটি আপনাকে বড় তাড়াহুড়ো করে মূলধারার বাইরে নিয়ে যায়। ভাগ্যক্রমে, এই সম্প্রদায়গুলি ভাগ করে নিতে পছন্দ করে। এই কারণেই কোনও বিশ্লেষকের পক্ষে পুশ-বোতাম সমাধানগুলিতে নির্ভর না করা গুরুত্বপূর্ণ।
জেফ্রি ইভান্স 22

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

1
আমার যুক্ত করা উচিত যে স্বীকৃতি আইডির জন্য স্বীকৃতি ধারণক্ষমতা রয়েছে e উদাহরণস্বরূপ, আপনি ইকোগ সম্প্রদায়ের একটি নমুনা রুলসেট খুঁজে পেতে পারেন যা বীজ বৃদ্ধির পদ্ধতির ব্যবহার করে - "তেল পাম গাছের ডিলিনেশন নমুনা নিয়ম সেট" অনুসন্ধান করুন। ইকোগের নতুন টেম্পলেটটি মিলে যাওয়া অ্যালগরিদম এবং এই বীজ বর্ধমান পদ্ধতির সমন্বিত করা সম্ভাব্যভাবে খুব শক্তিশালী পদ্ধতি হতে পারে।
হারুন

1
স্মিথ (২০০৮) ওয়েভলেট পদ্ধতিতে আপনি যে অজগর কোডটি উল্লেখ করেছেন তাতে আমি আগ্রহী। এটি কোথাও পাওয়া যায়?
Alpheus

3

ডিইএম থেকে ডিএইচএম বিয়োগ করে ডিএমএম তৈরি করতে, এটি এসরি রাস্টার ক্যালকুলেটর বা জিডিএল_সিএলসি-তে করা যেতে পারে । এটি আপনার সমস্ত উচ্চতা একটি 'লেভেল প্লেয়িং ফিল্ডে' রাখবে।

সিনট্যাক্স (ডিইএম, ডিএসএম এবং ডিএইচএমের সম্পূর্ণ পথের বিকল্প):

GDAL_CALC.py -A DSM -B DEM --outfile=DHM --CALC "A-B"

ডিএইচএম বেশিরভাগ 0 টি (বা পর্যাপ্ত কাছাকাছি) হবে, যা আপনি আপনার নোডাটির মান তৈরি করেন। রাস্টার ক্যালকুলেটর বা GDAL_CALC দিয়ে আপনি ডিএইচএমে আপনি যে পরিমাণ গোলমাল পর্যবেক্ষণ করেছেন তার উপর ভিত্তি করে একটি স্বেচ্ছাচারী মানের চেয়ে বেশি মান বের করতে পারবেন। এর উদ্দেশ্য হ'ল শব্দ কমাতে এবং কেবল উদ্ভিদের মুকুটকে হাইলাইট করা - উদাহরণস্বরূপ যেখানে দুটি 'গাছ' সংলগ্ন রয়েছে এটি দুটি স্বতন্ত্র ব্লবগুলিতে বিভক্ত হওয়া উচিত।

সিনট্যাক্স (বাইনারি এবং ডিএইচএমের পূর্ণ পথ এবং বিকল্পের মান পর্যবেক্ষণ করুন):

GDAL_CALC.py -A DHM --outfile=Binary --calc "A*(A>Value)"

এখন পারেন GDAL_CALC বা Esri সঙ্গে IsNull একটি বাইনারি রাস্টার, যার polygonized যাবে সৃষ্টি GDAL_Polygonize বা Esri বহুভুজ থেকে রাস্টার

বহুভুজকে পরিমার্জন করার জন্য অতিরিক্ত ছোট ছোট বহুভুজগুলি মুছে ফেলুন এবং তারপরে স্বাক্ষরগুলির সন্ধানকারী আরজিবি ব্যান্ডগুলির সাথে তাদের তুলনা করুন, এএসরিতে জোনাল স্ট্যাটিস্টিক্স সরঞ্জামটি সহায়তা করবে। তারপরে আপনি বহুভুজগুলি বাতিল করতে পারেন যা স্পষ্টভাবে সঠিক পরিসংখ্যান নেই (পরীক্ষা এবং আপনার ডেটার উপর ভিত্তি করে, আমি আপনাকে মান দিতে পারি না)।

এটি আপনাকে ব্যক্তিগত মুকুট ষড়যন্ত্র করার ক্ষেত্রে প্রায় 80% নির্ভুলতায় পৌঁছে দেওয়া উচিত।


ধন্যবাদ। আমি এই পদ্ধতিটি থেকে ভাল ফলাফল পেয়েছি কিনা তা আমি দেখতে পাব।
থিওডোর জোন্স

উপযুক্ত মানগুলি পাওয়ার জন্য আপনাকে কিছু পরীক্ষা-নিরীক্ষা করতে হবে, আমি ছোট অংশগুলিকে ক্লিপিংয়ের পরামর্শ দিচ্ছি যেগুলি আপনার ডেটার সেরা / খারাপ অঞ্চলের সূচক (অনুরূপ) হিসাবে স্যাম্পল হিসাবে। আপনার পরামিতিগুলি পেতে আধা ডজন নমুনা রান লাগতে পারে তবে সেগুলি ম্যানুয়ালি প্লট করার চেয়ে আরও ভাল হতে পারে।
মাইকেল সিলিমসন 21

3

ইকগনিশন হ'ল এটির জন্য সেরা সফ্টওয়্যার, আমি এটি অন্যান্য সফ্টওয়্যার ব্যবহার করেই করেছি তবে ইকগনিশনটি এটি আরও ভাল। এই বিষয়টিতে সাহিত্যের উল্লেখ এখানে দেওয়া হয়েছে:

কার্লসন, এম।, রিজ, এইচ।, এবং অস্টওয়াল্ড, এম (2014)। ওয়ার্ল্ড ভিউ -2 চিত্রাবলী এবং ভৌগলিক অবজেক্ট ভিত্তিক চিত্র বিশ্লেষণ ব্যবহার করে আধা-শুষ্ক পশ্চিম আফ্রিকার পরিচালিত উডল্যান্ডস (পার্কল্যান্ডস) এ ট্রি ক্রাউন ম্যাপিং। সেন্সর, 14 (12), 22643-22669।

যেমন http://www.mdpi.com/1424-8220/14/12/22643

উপরন্তু:

জাগালিকিস, জি।, ক্যামেরন, এডি, এবং মিলার, ডিআর (2005)। গাছ এবং স্ট্যান্ড বৈশিষ্ট্যগুলি আহরণের জন্য ডিজিটাল ফটোগ্রামমিতি এবং চিত্র বিশ্লেষণ প্রযুক্তির প্রয়োগ। বন গবেষণার কানাডিয়ান জার্নাল, 35 (5), 1224-1237।

যেমন http://www.nrcresearchpress.com/doi/abs/10.1139/x05-030#.VJmMb14gAA


আপনি কেন দয়া করে ইগনিশন আরও ভাল তার উপর প্রসারিত করতে পারেন? লিঙ্কটি চলে গেলে কেবল উত্তরগুলিতে অচল হয়ে পড়ে।
হারুন

1
ইগনিশন হ'ল অবজেক্ট-ভিত্তিক চিত্র বিশ্লেষণ সফ্টওয়্যার অন্যটি আমার এখন থেকে নেই। আমি অনুরূপ পদ্ধতির ব্যবহার। গাছ এবং স্ট্যান্ড বৈশিষ্ট্যাদি অর্জনের জন্য ডিজিটাল ফটোগ্রামমিতি এবং চিত্র বিশ্লেষণ প্রযুক্তির প্রয়োগ জি জাগালিকিস, এডি ক্যামেরন, ডিআর মিলার কানাডিয়ান জার্নাল অফ ফরেস্ট রিসার্চ, ২০০৫, ৩৫ (৫): 1224-1237, 10.1139 / x05-030 nrcresearchpress.com/doi /abs/10.1139/x05-030#.VJmMb14gAA
জর্জিগস জাগালিকিস

1
জর্জিও রেফারেন্সের জন্য ধন্যবাদ। আমি মনে করি এই মন্তব্যগুলি আপনার উত্তরের সম্পাদনার পাশাপাশি কাজ করবে।
হারুন

3

কয়েক বছর আগেও আমার একই সমস্যা ছিল। আমার কাছে এমন একটি সমাধান রয়েছে যাতে ফিল্টার হওয়া এলএএস ডেটা বা অন্যান্য সহায়ক ডেটার দরকার হয় না। যদি আপনার কাছে লিডার ডেটাতে অ্যাক্সেস থাকে এবং আপনি বিভিন্ন রিটার্ন থেকে ডিইএম / ডিএসএম / ডিএইচএম (DEMM উত্পাদন করতে পারেন, আমি পৃষ্ঠের মডেল নামকরণের শব্দার্থবিজ্ঞান নিয়ে বিতর্ক করছি না), নিম্নলিখিত স্ক্রিপ্টটি কার্যকর হতে পারে।

আরকি স্ক্রিপ্টটি 3 ডিইএম অন্তর্ভুক্ত করে এবং একটি ফরেস্ট বহুভুজ এবং গাছের বিন্দুর শেফফিলগুলি আউট করে। 3 টি ডেমগুলির একই স্থানিক রেজোলিউশন (অর্থাত্ 1 মিটার) এবং এক্সটেন্টস থাকা উচিত এবং প্রথম আয়, শেষ রিটার্ন এবং খালি পৃথিবীর প্রতিনিধিত্ব করা উচিত। আমার কাছে veg নিষ্কাশন করার জন্য খুব নির্দিষ্ট পরামিতি ছিল তবে প্যারামিটারগুলি অন্যান্য প্রয়োজন অনুসারে পরিবর্তন করা যেতে পারে। আমি নিশ্চিত যে প্রক্রিয়াটি উন্নত হতে পারে, কারণ পাইথন স্ক্রিপ্টিংয়ের এটি আমার প্রথম গুরুতর প্রচেষ্টা ছিল।

# Name:         Veg_Extractor.py
# Date:         2013-07-16
# Usage:        ArcMap 10.0; Spatial Analyst
# Input:        1 meter DEMs for first returns (DEM1), last returns (DEM2), and bare earth (BE)
# Output:       forest polygon (veg with height > 4m) shapefile with holes > 500m removed;
#               tree point (veg with height > 4m, crown radius of 9 cells) shapefile
# Notes:        Raises error if input raster cell sizes differ

import arcpy, os
from arcpy import env
from arcpy.sa import *

# Check out any necessary licenses
arcpy.CheckOutExtension("spatial")

# Script arguments
dem1 = arcpy.GetParameterAsText(0) #input Raster Layer, First Return DEM
dem2 = arcpy.GetParameterAsText(1) #input Raster Layer, Last Return DEM
bare_earth = arcpy.GetParameterAsText(2) #input Raster Layer, Bare Earth DEM
outForest = arcpy.GetParameterAsText(3) #shapefile
outTree = arcpy.GetParameterAsText(4) #shapefile

# Make sure cell size of input rasters are same
arcpy.AddMessage("Checking cell sizes...")
dem1Xresult = arcpy.GetRasterProperties_management(dem1, "CELLSIZEX")
dem1Yresult = arcpy.GetRasterProperties_management(dem1, "CELLSIZEY")
dem2Xresult = arcpy.GetRasterProperties_management(dem2, "CELLSIZEX")
dem2Yresult = arcpy.GetRasterProperties_management(dem2, "CELLSIZEY")
beXresult = arcpy.GetRasterProperties_management(bare_earth, "CELLSIZEX")
beYresult = arcpy.GetRasterProperties_management(bare_earth, "CELLSIZEY")
dem1X = round(float(dem1Xresult.getOutput(0)),4)
dem1Y = round(float(dem1Yresult.getOutput(0)),4)
dem2X = round(float(dem2Xresult.getOutput(0)),4)
dem2Y = round(float(dem2Yresult.getOutput(0)),4)
beX = round(float(beXresult.getOutput(0)),4)
beY = round(float(beYresult.getOutput(0)),4)
if (dem1X == dem1Y == dem2X == dem2Y == beX == beY) == True:
    arcpy.AddMessage("Cell sizes match.")
else:
    arcpy.AddMessage("Input Raster Cell Sizes:")
    arcpy.AddMessage("DEM1: (" + str(dem1X) + "," + str(dem1Y) + ")")
    arcpy.AddMessage("DEM2: (" + str(dem2X) + "," + str(dem2Y) + ")")
    arcpy.AddMessage("  BE: (" + str(beX) + "," + str(beY) + ")")
    raise Exception("Cell sizes do not match.")

# Check map units
dem1_spatial_ref = arcpy.Describe(dem1).spatialReference
dem1_units = dem1_spatial_ref.linearUnitName
dem2_spatial_ref = arcpy.Describe(dem2).spatialReference
dem2_units = dem2_spatial_ref.linearUnitName
bare_earth_spatial_ref = arcpy.Describe(bare_earth).spatialReference
bare_earth_units = bare_earth_spatial_ref.linearUnitName
if (dem1_units == dem2_units == bare_earth_units) == True:
    if dem1_units == "Meter":
        area = "500 SquareMeters" #Area variable for meter
        unit = 1 #meter
    elif (dem1_units == "Foot_US") or (dem1_units == "Foot"):
        area = "5382 SquareFeet" #Area variable for feet
        unit = 3.28084 #feet in meter
    else:
        raise Exception("Units are not 'Meter', 'Foot_US', or 'Foot'.")
else:
    raise Exception("Linear units do not match.  Check spatial reference.")

# Local variables:
(workspace, filename) = os.path.split(outForest)
arcpy.env.workspace = workspace
arcpy.env.overwriteOutput = True
dem1 = Raster(dem1)
dem2 = Raster(dem2)
bare_earth = Raster(bare_earth)
nbr1 = NbrRectangle(3, 3, "CELL")
nbr2 = NbrRectangle(5, 5, "CELL")
nbr3 = NbrCircle(5, "CELL")

# Give units and multiplier
arcpy.AddMessage("Linear units are " + dem1_units + ". Using multiplier of " + str(unit) + "...")

arcpy.AddMessage("Processing DEMs...")
# Process: Raster Calculator (DEM1 - BE)
ndsm_dem1 = dem1 - bare_earth

# Process: Raster Calculator (DEM1 - DEM2)
d1_d2 = dem1 - dem2

# Process: Raster Calculator
threshold_d1d2 = (d1_d2 > (0.1 * unit))  &  (ndsm_dem1 >= (4.0 * unit))

# Process: Focal Statistics (max 3x3)
focal_max1 = FocalStatistics(threshold_d1d2, nbr1, "MAXIMUM", "DATA")

# Process: Focal Statistics (majority 5x5)
focal_majority = FocalStatistics(focal_max1, nbr2, "MAJORITY", "DATA")

# Process: Con
con_ndsm_dem1 = Con(ndsm_dem1 >= (4.0 * unit), focal_majority, focal_max1)
focal_majority = None
focal_max1 = None

# Process: Focal Statistics (min 3x3)
focal_min1 = FocalStatistics(con_ndsm_dem1, nbr1, "MINIMUM", "DATA")
con_ndsm_dem1 = None

# Process: Focal Statistics (min 3x3)
veg_mask = FocalStatistics(focal_min1, nbr1, "MINIMUM", "DATA")

# Process: Focal Statistics (max R5)
focal_max2 = FocalStatistics(ndsm_dem1, nbr3, "MAXIMUM", "DATA")

arcpy.AddMessage("Calculating tree points...")
# Process: Raster Calculator
tree_points = (veg_mask == 1) & (ndsm_dem1 == focal_max2) & (ndsm_dem1 >= (4.0 * unit))
ndsm_dem1 = None
focal_max2 = None

# Process: Raster Calculator
tree_pick = Pick(tree_points == 1, 1)
tree_points = None

# Process: Raster to Polygon
arcpy.RasterToPolygon_conversion(tree_pick, workspace + "\\tree_poly.shp", "SIMPLIFY", "Value")
tree_pick = None

# Process: Feature To Point
arcpy.AddMessage("Writing tree points...")
arcpy.env.workspace = workspace #reset workspace
arcpy.env.overwriteOutput = True #reset overwrite permission
arcpy.FeatureToPoint_management(workspace + "\\tree_poly.shp", outTree, "CENTROID")

arcpy.AddMessage("Calculating forest polygons...")
# Process: Focal Statistics (max 3x3)
forests = FocalStatistics(veg_mask, nbr1, "MAXIMUM", "DATA")
veg_mask = None

# Process: Raster Calculator
forest_pick = Pick(forests == 1, 1)

# Process: Raster to Polygon
arcpy.RasterToPolygon_conversion(forest_pick, workspace + "\\forest_poly.shp", "SIMPLIFY", "Value")

# Process: Eliminate Holes > 500 sq m (5382 sq ft)
arcpy.AddMessage("Writing forest polygons...")
arcpy.EliminatePolygonPart_management(workspace + "\\forest_poly.shp", outForest, "AREA", area, "0", "CONTAINED_ONLY")

# Clean up
arcpy.AddMessage("Cleaing up...")
arcpy.Delete_management(workspace + "\\tree_poly.shp")
arcpy.Delete_management(workspace + "\\forest_poly.shp")

2

আমি মন্তব্যে দৈর্ঘ্যের সীমাবদ্ধতার কারণে একটি উত্তর হিসাবে এটি পোস্ট করছি, ক্রেডিটের কোনও আশা নেই :)। খুব ব্রড ব্রাশ দিয়ে আপনি ডিএম পেয়ে গেছেন।

  1. পৃথক বহুভুজটি ডেম করার জন্য ডিএমটি বের করুন।
  2. জনগণের উচ্চতার চূড়ান্ত সংজ্ঞা দিন
  3. জুরকো + + - zStep সেট করুন। পূর্বে পুনরাবৃত্তি দ্বারা সন্ধান করা পদক্ষেপ, উদাহরণস্বরূপ 'ট্রি টপ সেল' উচ্চতা এবং প্রতিবেশীদের মধ্যে যুক্তিসঙ্গত ড্রপ
  4. নীচে = কন (ডেম => জুরক, ইনট (1))
  5. নীচে গ্রুপ অঞ্চল। যথেষ্ট পরিমাণে গণনা করুন, এটি 'গাছ'। সংজ্ঞা এখানে চাক্ষুষ পরিদর্শন, প্রাথমিক গবেষণা দ্বারা প্রয়োজনীয়?
  6. জিকিউর> জেডমিন, অন্যথায় পদক্ষেপ ১ এ যান।

পৃথক বহুভুজের মধ্যে প্রসেসের সর্বোচ্চ সংখ্যা সংখ্যা = গাছের সংখ্যা। অতিরিক্ত মানদণ্ড, উদাহরণস্বরূপ বহুভুজগুলির মধ্যে 'গাছের' মধ্যে দূরত্ব সাহায্য করতে পারে ... ডিএনএম কর্নেল ব্যবহার করে মসৃণ করাও একটি বিকল্প।


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

ইয়াপ, ডিএইচএম আপনি বর্ণিত হিসাবে এটি করবে। আমি লিদার সম্পর্কে খুব কম জানি।
FelixIP
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.