রাস্টারগুলির পায়ের ছাপ দেখাচ্ছে শেফফাইল তৈরি করছেন?


33

আমার প্রায় 1000 টি উপগ্রহ চিত্র টিফ আকারে রয়েছে এবং আমি একটি শর্টফিল তৈরি করতে চাই যা রেস্টারদের সূচক হিসাবে কাজ করবে। এটি কোনও রাস্টার ক্যাটালগের অনুরূপ, তবে আমি রাস্টার ক্যাটালগ তৈরি করতে চাই না।

কিছু বাধা আমি এড়াতে পারি, তা হ'ল চিত্রটি জিওরফ্রান্সড, সুতরাং সেগুলি আয়তক্ষেত্রাকার নয় (আমি ডেটা এরিয়া সম্পর্কে বলছি)।

স্পষ্ট করার জন্য, আমার বহুভুজকে কেবল রাস্টারটির অ-শূন্য (বা নন নোডাটা) পিক্সেলগুলি আবশ্যক, এবং পুরো আয়তক্ষেত্রাকার রাস্টারকে নয়। এখন পর্যন্ত বেশিরভাগ উত্তরগুলি একটি আয়তক্ষেত্রাকার বহুভুজ দেয় যা ডেটা এবং অ-ডেটা পিক্সেলকে কভার করে।

আমার চিত্র একটি নমুনা উপগ্রহ চিত্র


সরঞ্জামগুলি দ্বারা প্রদত্ত ফলাফলগুলি যা আমি পরীক্ষা করেছি (যেমন রাস্টার ক্যাটলগ, বিভিন্ন আরস্ক্রিপ্টস, উত্তরের একটিতে দেওয়া কাস্টম পাইথন স্ক্রিপ্ট): ফল


আমি চাই ফলাফল: এখানে চিত্র বর্ণনা লিখুন


4
দেখে মনে হচ্ছে কোনও রাস্টার ক্যাটালগ তৈরি করা, এমনকি সাময়িকভাবে পায়ের ছাপ তৈরির জন্য ভাল সমাধান হবে। আপনি নিয়ন্ত্রণহীন একটি ক্যাটালগ তৈরি করতে পারেন, যা রেফারেন্সের একটি সারণী তৈরি করে, তবে চিত্রগুলিকে সার্ভারে তাদের অবস্থানে ফেলে দেয়। ক্যাটালগটিতে রাস্টারদের ব্যাচ আমদানি করা সহজ এবং তুলনামূলক দ্রুত। একবার তৈরি হয়ে গেলে, আপনি পদক্ষেপগুলি একটি নতুন ফিচারক্লাসে রফতানি করতে এবং রাস্টার ক্যাটালগ মুছতে পারেন। এটি অন্যান্য বিকল্পগুলির মতো দ্রুত হতে পারে।
স্থানিক

2
মোজাইক ডেটাসেট চিত্রের পায়ের ছাপও তৈরি করে।
রায়

মোজাইক ডাটাসেটটি যাওয়ার উপায়। সম্পাদন করা খুব সহজ
ব্র্যাড নেসোম

সুতরাং শেষ ছবিতে, পিক্সেলগুলি কি রেড বক্স নোডাটা বা 0 এর বাইরে রয়েছে? সেগুলি যদি 0 হয় তবে আপনি যে অঞ্চলে পিক্সেল চান সেগুলিও 0 মানের হয়?
চাদ কুপার

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

উত্তর:


15

কিউজিআইএস-এ একটি চিত্র রয়েছে যার নাম ইমেজ বাউন্ডারি । এটি একটি দুর্দান্ত সরঞ্জাম। এই সরঞ্জামটির মধ্যে "বৈধ পিক্সেল" এর বিকল্প রয়েছে যা উদাহরণস্বরূপ, উপগ্রহের চিত্রের কালো প্রান্তগুলি বাদ দেবে।


এই প্লাগইনটি আমি যা চেয়েছিলাম তা করার দাবি করে তবে এটি যে চিত্রটির সাথে আমি পরীক্ষা করেছিলাম তা ব্যর্থ। আমি আগামীকাল আমার আসল তথ্য দিয়ে চেষ্টা করব।
দেবদত্ত টেংশে

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

2
আমি সম্মত হই যে কিউজিআইএস ইমেজ বাউন্ডারি সবচেয়ে ভাল কাজ করে তবে ভেক্টর ফাইলগুলির জন্য এটি করার কোনও সরঞ্জাম রয়েছে যেখানে আমাদের "বাউন্ডিং বাক্স" বা "পায়ের ছাপ" প্রয়োজন নেই যেখানে ডাটা উপস্থিত রয়েছে এমন একটি বহুভুজের রূপরেখা রয়েছে।
জর্জিসি

চিত্রের সীমানা সরঞ্জামগুলি দুর্দান্ত, তবে আপনার দেওয়া লিঙ্কটি 404। আমি বিশ্বাস করি আপনি প্লাগইন সেটিংসে পরীক্ষামূলক প্লাগইনগুলিকে অনুমতি দিলে সরঞ্জামগুলি এখনও উপলব্ধ available সম্ভবত এই লিঙ্কটি ব্যবহার করবেন ?: github.com/lmotta/imagefootprint_plugin
হারুন

চিত্র বাউন্ডারি ব্যবহারের জন্য কোনও ডকুমেন্টেশন আছে কি?
লুনুহ

9

নিম্নলিখিত কোডটি একটি ইনপুট রাস্টার নেবে, এটির সীমাটি পেয়ে যাবে এবং সেই পরিমাণটি বহুভুজ ফিচার ক্লাসে প্রবেশ করবে:

import arcpy

r = arcpy.Raster(in_raster)
point = arcpy.Point()
array = arcpy.Array()

corners = ["lowerLeft", "lowerRight", "upperRight", "upperLeft"]

cursor = arcpy.InsertCursor(fc)
feat = cursor.newRow()
for corner in corners:    
    point.X = getattr(r.extent, "%s" % corner).X
    point.Y = getattr(r.extent, "%s" % corner).Y
    array.add(point)
array.add(array.getObject(0))
print len(array)
polygon = arcpy.Polygon(array)
feat.shape = polygon
cursor.insertRow(feat)
array.removeAll()
del feat
del cursor

আপনি সেট আপ করে in_rasterএবং এর fcমতো করে এটি অর্কম্যাপ পাইথন উইন্ডোতে চালাতে পারেন:

>>> fc = 'r_extent'
>>> in_raster = 'CaliCoast10mNED_HavCurvedPCS'

r_extentএকটি বিদ্যমান বহুভুজ বৈশিষ্ট্যযুক্ত ক্লাস যেখানে । তারপরে কেবল কোডটি অনুলিপি করুন এবং এটি চালান। বুঝতে পেরেছি:

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


1
আমি ফোল্ডারের জন্য একই কাজ করতে উপরের কোডটি ব্যবহার করেছি: gist.github.com/4162013
jeb

7

আপনি এর জন্য gdaltindex ব্যবহার করতে পারেন: http://www.gdal.org/gdaltindex.html

এটি চিত্রের মতো একই রেফারেন্স সিস্টেমে এখনও আয়তক্ষেত্রগুলি তৈরি করবে (যেমন 4 + 1 পয়েন্ট)। তবে আমি ভাবছি যে এটি আসলেই সমস্যা কিনা: আপনার চিত্রগুলি কতটা বড়?


Gdaltindex এর সমস্যাটি হ'ল এটি প্রতিটি চিত্রের জন্য একটি আয়তক্ষেত্রাকার বহুভুজ তৈরি করে। আমি কেবল ননজারো মান পিক্সেলগুলিতেই আগ্রহী
দেবদত্ত টেংশে

4

আমি কিউজিআইএসে "চিত্র সীমানা" সরঞ্জামটি চেষ্টা করেছি তবে এটি কিছু রেস্টারদের সাথে ব্যর্থ হয়।

আমার জন্য কাজ করা আর একটি বিকল্প হ'ল: - ১. gdal_translate কমান্ড-লাইন ইউটিলিটি ব্যবহার করে একটি একক ডিজিটাল নম্বরে ইনপুট রাস্টার রূপান্তর করুন।

gdal_translate -co compress = lzw -b 1 -ot বাইট-স্কেল 1 1 inp.tif আউট.ফিট

এটি সর্বত্র 1 এর মান সহ রাস্টার তৈরি করবে ইনপ.টিফের অ-শূন্য মান রয়েছে।

  1. তারপরে আর্কম্যাপে আপনি বহুভুজ (শেফফাইল) পেতে "রাস্টার টু বহুভুজ" সরঞ্জামটি ব্যবহার করতে পারেন।

আউটপুট শেফফিলের চিত্রের আসল সীমানা অনুসরণ করে একাধিক বহুভুজের অনুভূমিক সহ অ-চতুর্ভুজ সীমানা থাকবে।


3

আপনি যদি কোনও স্ক্রিপ্টযুক্ত সমাধানে আগ্রহী হন, gdal কমান্ডের কাছাকাছি চেষ্টা করুন । সাদা স্থান দ্বারা আবদ্ধ ডেটা পুনরুদ্ধার করতে আপনি পতাকা-সাদা ব্যবহার করতে পারেন। রাস্টার ডেটার একটি অ-আয়তক্ষেত্রাকার পদাঙ্ক তৈরি করতে আপনি আউটপুটকে বহুভুজ করতে পারেন ize

##run nearblack
shellcmds = "nearblack -white -o " + outpath + " " + inpath
os.system(shellcmds)

##run polygonize
shellcmds = "gdal_polygonize.py " + outpath + " -f" + """ "ESRI Shapefile"  """ + outpath2 + " nearblack"
os.system(shellcmds)

1

আমি বিশ্বাস করি, আর্কজিআইএস বিশ্বে আপনি এটি 3D বিশ্লেষক \ রূপান্তর \ থেকে রাস্টার থেকে aster রাস্টার ডোমেন সরঞ্জাম দিয়ে অর্জন করতে পারেন।


এটি কেবলমাত্র 3 ডি ডেটাতে কাজ করে এবং তারপরেও প্রত্যাশিত ফলাফল দেয় না। স্যাটেলাইট চিত্রের সাথে মোটেও কাজ করে না।
দেবদত্ত টেংশে

হ্যা ওটা সত্য. আমি উত্তরটি অন্যের জন্য রেখে দেব, সে সম্পর্কে সচেতন হতে।
টমেক

0

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


1
আমাদের সাইটে আপনাকে স্বাগতম! আপনার উত্তর কীভাবে টমেকের থেকে পৃথক হতে পারে তা আপনি ব্যাখ্যা করতে পারেন?
whuber

রাস্টার ডোমেইন আমার পক্ষে কাজ করেছে - আপনার সহায়তার জন্য ধন্যবাদ!
মেরিলু

0

আপনি নির্ধারিত একটি স্থানিক রেফারেন্স সহ একটি রাস্টার ক্যাটালগ তৈরি করতে পারেন, আর্কম্যাপে রাস্টার ক্যাটালগ যুক্ত করতে পারেন এবং তারপরে "রফতানি পদচিহ্ন"। মনে রাখবেন একটি "পরিচালনা না করা" রাস্টার ক্যাটালগ তৈরি করার বিকল্প রয়েছে যাতে আপনি প্রতিটি রাস্টার ডেটাসেটের একটি সদৃশ তৈরি করেন না।

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