টাইলস উত্পাদন করতে সরবরাহকারীদের কাছ থেকে প্রাপ্ত কাস্টম টিফ চিত্রটিতে কীভাবে জিডালপটাইল ব্যবহার করবেন


10

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

আমি gdal2tiles কমান্ড লাইন ইউটিলিটিটি ব্যবহার করে টাইলস তৈরি করতে চাই এবং তারপরে টিসএস সরবরাহ করার জন্য টিএমএস চিত্র সরবরাহকারীকে ব্যবহার করে সিজিয়ামে এটি খুলতে এবং দেখতে চাই। Gdalinfo ব্যবহার করে, এখানে চিত্রটির কিছু বিবরণ দেওয়া হল:

Driver: GTiff/GeoTIFF
Files: image.tif
Size is 52250, 56119
Coordinate System is:
PROJCS["WGS 84 / UTM zone 35S",
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4326"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",27],
    PARAMETER["scale_factor",0.9996],
    PARAMETER["false_easting",500000],
    PARAMETER["false_northing",10000000],
    UNIT["meters",1],
    AUTHORITY["EPSG","32735"]]
Origin = (606276.000000000000000,7197873.000000000000000)
Pixel Size = (0.500000000000000,-0.500000000000000)
Metadata:
  AREA_OR_POINT=Area
  TIFFTAG_MAXSAMPLEVALUE=13165
  TIFFTAG_MINSAMPLEVALUE=1
  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
  TIFFTAG_SOFTWARE=ERDAS IMAGINE
  TIFFTAG_XRESOLUTION=1
  TIFFTAG_YRESOLUTION=1
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  (  606276.000, 7197873.000) ( 28d 3'21.59"E, 25d19'55.12"S)
Lower Left  (  606276.000, 7169813.500) ( 28d 3'29.55"E, 25d35' 7.17"S)
Upper Right (  632401.000, 7197873.000) ( 28d18'55.92"E, 25d19'47.60"S)
Lower Right (  632401.000, 7169813.500) ( 28d19' 5.85"E, 25d34'59.57"S)
Center      (  619338.500, 7183843.250) ( 28d11'13.23"E, 25d27'27.58"S)
Band 1 Block=512x512 Type=UInt16, ColorInterp=Gray
Band 2 Block=512x512 Type=UInt16, ColorInterp=Undefined
Band 3 Block=512x512 Type=UInt16, ColorInterp=Undefined
Band 4 Block=512x512 Type=UInt16, ColorInterp=Undefined

আমার প্রথম প্রয়াসটি ছিল জিডাল_ট্রান্সলেট চিত্রটি জিওরিফারেন্স করার জন্য, এবং তারপরে সিডিয়ামের প্রয়োজন অনুসারে ইপিএসজি: 3857 এ প্রজেকশনটি পরিবর্তন করতে gdalwarp ব্যবহার করুন (এপিআই রেফারেন্স দেখুন)

gdal_translate -of VRT -a_srs EPSG:4326 -gcp 606275 7197875 28.055987 -25.331974 -gcp 606275 7169814 28.058200 -25.585326 -gcp 632400.5 7197875 28.31553 -25.329876 -gcp 632400.5 7169814 28.318286 -25.583209 image.tif newImage1.vrt
gdalwarp -of VRT -t_srs EPSG:3857 newImage1.vrt newImage2.vrt

যাইহোক, আমি নিম্নলিখিত ত্রুটিগুলি অনেক পেয়েছি:

ত্রুটি 1: অক্ষাংশ বা দ্রাঘিমাংশ সীমা অতিক্রম করেছে

আরেকটি পদ্ধতি যা আমি চেষ্টা করেছিলাম তা হ'ল সরাসরি জিডালপটাইল ব্যবহার করা এবং টাইলস তৈরি করা:

gdal2tiles.py image.tif

এটি এমন একটি ফোল্ডার তৈরি করেছে যার মধ্যে একটি সাবফোল্ডার (১৮ টি লেবেলযুক্ত) একমাত্র জুম স্তর যেখানে টাইলস তৈরি হয়েছিল। তবে আমি এখানে যে চিত্রগুলি পেয়েছি তা সম্পূর্ণ "ভুল" এবং "অস্পষ্ট"।

টাইলগুলির একটির উদাহরণ:

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

এই ইমেজটির জন্য টাইলস উত্পন্ন করার জন্য কোনও পরামর্শ जीডিালটাইলগুলি ব্যবহার করে কোনও নির্দিষ্ট অঞ্চলের বৃহত চিত্রটি যাতে আমি লোড করে সিজিয়ামে দেখতে পারি?

হালনাগাদ

সুতরাং, @ iant এর পরামর্শ চেষ্টা করার পরে, আমি নিম্নলিখিত কমান্ডগুলি ব্যবহার করেছি:

gdalwarp -co TILED=YES -co COMPRESS=DEFLATE -co BIGTIFF=YES -t_srs EPSG:3857 image.tif newImage.tif

এই কমান্ডটি শেষ অবধি পুরোপুরি ঠিকঠাক কাজ করেছিল যেখানে আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

ত্রুটি 1: টিআইএফএফফিলটিলে: 43520 সারিতে ত্রুটি পড়ুন, কল 47104; 35788250 বাইট পেয়েছে, প্রত্যাশিত 37421449

এই ত্রুটিটির অর্থ কী তা নিশ্চিত নয়, আমি এটি মুহুর্তের জন্য রেখে দিয়েছি এবং এখনও একটি চূড়ান্ত চিত্র পেয়েছি "newImage.tif", gdalwarp ধাপ দ্বারা উত্পাদিত। এটি ব্যবহার করে আমি gdal2टा.py নামে পরিচিত

gdal2tiles.py newImage.tif

এটি সাব-ফোল্ডারগুলি 10-18 সহ একটি ফোল্ডার তৈরি করেছে (এবং আমি আগে যেমন পেয়েছিলাম তেমন একটি জুম স্তর 18 নয়)। এটি কোনও কনসোল ত্রুটি ছাড়াই সিজিয়ামে পুরোপুরি সূক্ষ্মভাবে পড়ে, তবে চিত্রটি এখনও "ভুল" দেখাচ্ছে:

চিত্রটি সিজিয়ামে লোড করা হয়েছে

আমি বিবেচনা করছি আমার সমস্যাটি @ ব্যবহারকারী 30184 এর প্রস্তাবিত হিসাবে হতে পারে "... উত্সের ডেটা জিডাল 2 টিয়ার জন্য উপযুক্ত নয়" " তবে যতক্ষণ না আমাদের সরবরাহকারী gdal ব্যবহারের জন্য আমাদের কিছু সরবরাহ করতে সক্ষম না করেন, আমার কাছে এটিই ছিল।

আমি আলফা চ্যানেল হিসাবে শেষ ব্যান্ডটি অন্তর্নির্মিত করতে gdal এড়ানোর জন্য সম্ভবত একটি ব্যান্ড অপসারণের কথা ভাবছিলাম। কোন পরামর্শ?


আপনি কেন চিত্রটি জিওরিফারেন্স করতে চান? এর মধ্যে ইতিমধ্যে সমস্ত সিআরএস তথ্য রয়েছে।
AndreJ

উত্তর:


7

আমি মনে করি আপনাকে যা করতে হবে তা হ'ল এটি ব্যবহার করে পুনরায় প্রজেক্ট করা:

gdalwarp -co TILED=YES -co COMPRESS=DEFLATE -t_srs EPSG:3857 newImage.tif image.tif

এবং তারপরে এটি টাইল করুন:

gdal2tiles.py newImage.tif

যদি আপনার ফাইলটি খুব বড় হয় তবে এটি কিছুক্ষণ সময় নিতে পারে।


আপনি -z প্যারামিটারের সাহায্যে জুম স্তরগুলি নিয়ন্ত্রণ করতে পারেন, আপনি কি ইতিমধ্যে এটি ব্যবহার করে দেখেছেন? এবং লক্ষ্য করুন যে আপনার চিত্রটিতে 4 টি ব্যান্ড রয়েছে যা অপ্রত্যাশিত ফলাফলের দিকে নিয়ে যেতে পারে বিশেষত কারণ আপনি 16 বিট ডেটা নিয়ে কাজ করেন। কিছু
প্রিপ্রোসেসিংয়ের

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

@ user30184 আমি এখনও এটি চেষ্টা করি নি। জুম স্তরগুলি কী হওয়া উচিত তা আমি কীভাবে জানতে পারি? বা আমি চাই সেগুলি নির্দিষ্ট করতে পারি? আমি ভেবেছিলাম যে এই বিকল্পটি রেখে, আমি স্ক্রিপ্টটি নির্বাচিত অঞ্চলটির ভিত্তিতে জুম স্তর নির্ধারণ করতে দেব।
প্রচেষ্টা

@ ব্যবহারকারী 30184 আপনি আরও উল্লেখ করেছেন যে আমি 4 টি ব্যান্ডযুক্ত চিত্র এবং 16 বিট ডেটা দিয়ে অপ্রত্যাশিত ফলাফল পেতে পারি। ঠিক কেন? এটি কি জিডিএল টাইল প্রসেসিংয়ের জন্য সঠিক বিন্যাসে নেই? যদি তা হয় তবে চিত্রটি সরাসরি সরবরাহকারীর কাছ থেকে প্রাপ্ত হয়েছিল, সঠিক ফর্ম্যাটে ফাইলটি নেওয়ার পদক্ষেপগুলি কী হবে? যথা একটি জিডিএল টিফ ফাইল? (যদি আমি এর মতো কিছু বলতে পারি)
চেষ্টা করুন

আপনি @ বিয়ান্টের পরামর্শ অনুসারে gdalwarp চালানোর জন্য আমি নিম্নলিখিত সমস্যাগুলি পেয়েছি: >>>>>>>>>>>> ত্রুটি 1: টিআইএফএফএফফিলটাইল: সারি 43520 এ ত্রুটি পড়ুন, কল 47104; 35788250 বাইট পেয়েছে, প্রত্যাশিত 37421449 ত্রুটি 1: টিআইএফএফআরএডইনকোডেড টাইল () ব্যর্থ হয়েছে। ত্রুটি 1: প্লিজিয়েডস_মার05 মি_2015-06-19.টিফ, ব্যান্ড 1: এক্স অফসেট 86 এ আইয়ারডলক ব্যর্থ হয়েছে, ওয়াই অফসেট 109 ত্রুটি 1: গেটব্লকরাফ অফসেট 86 এ অফ হয়ে গেছে, ওয়াই ব্লক অফসেট 109 >>>>>>>>>>> > এটিকে ঠিক করার জন্য কোনও পরামর্শ?
প্রচেষ্টা

2

আমি অনুমান করি যে আপনার চিত্রটি এয়ারবাস ডিএস-এর 4-ব্যান্ডের কয়েকটি পণ্য:

http://www.intelligence-airbusds.com/en/4951-which-spectral-mode-do-i-choose

জিডাল টাইলস সাধারণ, ভিজ্যুয়াল চিত্রগুলিকে পিএনজি টাইলগুলিতে বিভক্ত করার জন্য তৈরি করা হয়। এই জাতীয় চিত্রগুলিতে প্রতি ব্যান্ডে 8 বিট ব্যবহার করা হয় এবং তাদের 4 টি ব্যান্ডের একটি রেড (গ্রেস্কেল), 3 টি ব্যান্ড (লাল-সবুজ-নীল) রয়েছে (রেগ-সবুজ-নীল + আলফা)।

আমি বলব যে আপনার প্রশ্নটি বেশিরভাগ ক্ষেত্রে অপ্রাসঙ্গিক কারণ আপনার উত্সের ডেটা জিডাল 2 টিয়ার জন্য ভাল মানায় না। আপনার এই মুহুর্তে আপনার তাত্ক্ষণিক সমস্যাগুলি পেতে পারেন তবে আপনি যদি আপনার ডেটা পুনরায় প্রক্রিয়া না করেন তবে চূড়ান্ত ফলাফলটি এখনও ভাল হবে না।

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


আপনাকে @ ব্যবহারকারী 30184 ধন্যবাদ, আমি কিছু সংস্থান সম্পর্কে পড়ছি এবং একই ধরণের চিন্তাভাবনায় এসেছি। আমি মনে করি আমাদের সরবরাহকারীদের "GDAL সামঞ্জস্যপূর্ণ" টিফ ফাইল সরবরাহ করতে বলাই ভাল হবে, তবে তারা আমাদের কাছে ফিরে না আসা পর্যন্ত আমাদের কাছে এটিই রয়েছে। আমি আলফা চ্যানেল হিসাবে শেষ ব্যান্ডটি অন্তর্নির্মিত করতে gdal এড়ানোর জন্য সম্ভবত একটি ব্যান্ড অপসারণের কথা ভাবছিলাম। কোন পরামর্শ?
প্রচেষ্টা

ইমেজ থেকে ছোট উপসেট কাটার জন্য gdal_translate ব্যবহার করুন gdal_translate -srcwin 20000 20000 1000 1000 original.tif sample.tifএটি করা উচিত (নোডাটা অঞ্চলগুলি এড়ানোর জন্য বড় অফসেট)। এই ছোট চিত্রটি কিউজিআইএস দিয়ে খুলুন এবং আপনার দেখার সেটিংসটি দ্রুত খেলতে সক্ষম হওয়া উচিত। আলফা চ্যানেল সম্পর্কে আমার অনুমানটি সম্ভবত ভুল, অন্যথায় ফলাফলটি রঙিন হওয়া উচিত, ধূসর নয়।
ব্যবহারকারী 30184

ধন্যবাদ @ ব্যবহারকারী 30184, আপনার পরামর্শ অনুসারে আমি এটি করেছি এবং কিউজিআইএসে এটি সফলভাবে খুলেছি। এই লিঙ্কটি দেখুন: drive.google.com/open?id=0B97NtaPJrVz-anRYQmxjZFludk0 আমি এখন কীভাবে আমার সমস্যাটিকে "ডিবাগিং" করতে পারি? জিডালওয়ার্প এবং জিডাল টাইলস করতে কিউজিআইএস ব্যবহার করছেন?
প্রচেষ্টা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.