180 মেরিডিয়ান কাটার সাথে 080 থেকে -180 from পর্যন্ত রাস্টারটিকে পুনরায় প্রজেক্ট করতে কীভাবে


31

আমার কাছে একটি জিওটিফ রাস্টার ইমেজ রয়েছে যা 0 থেকে 360 অবধি দ্রাঘিমাংশ সহ একটি সমন্বিত ব্যবস্থা রয়েছে the চিত্রটির অনুভূমিক কেন্দ্রটি 180 দ্রাঘিমাংশের। নীচে চিত্র দেখুন:

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

আমি এটি EPSG এ রূপান্তর করতে চাই: -180 180 দ্রাঘিমাংশের সীমা সহ 4326 এসআরএস। এবং আমি চাই চিত্রটির কেন্দ্র গ্রীনউইচ মেরিডিয়ান (0) এ থাকুক। আমার ধারণা এই srs খুব ব্যাপকভাবে ব্যবহৃত হয়। আমি ফলাফলটি এর মতো দেখতে আশা করি:

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

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

gdalwarp -s_srs '+proj=latlong +datum=WGS84 +pm=180dW' -t_srs EPSG:4326 test_col.tif test_4326.tif

তবে আমি কেবলমাত্র বড় মাত্রা (আরও পিক্সেল) এবং ইপিএসজি: 4326 মেটাডেটা সহ একটি টিফ পাই। ইমেজটি নিজেই প্রথমটির মতো দেখতে একই রকম দেখাচ্ছে। তবে আমি আশা করি এটি গোলার্ধকে অদলবদল করবে।

প্রশ্নটি হল - আমি কীভাবে কোনও চিত্রকে কঠোরভাবে -180 180 ইপিএসজি: 43 লম্বা কেন্দ্রে কেন্দ্রের সাথে বেঁধে রাখতে পারি?

এটি আমার প্রাথমিক ফাইলের জিডালিনফো:

Origin = (-0.102272598067084,89.946211604095552)
Pixel Size = (0.204545196134167,-0.204423208191126)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (  -0.1022726,  89.9462116) (  0d 6' 8.18"W, 89d56'46.36"N)
Lower Left  (  -0.1022726, -89.9462116) (  0d 6' 8.18"W, 89d56'46.36"S)
Upper Right (     359.897,      89.946) (359d53'50.18"E, 89d56'46.36"N)
Lower Right (     359.897,     -89.946) (359d53'50.18"E, 89d56'46.36"S)
Center      ( 179.8975000,  -0.0000000) (179d53'51.00"E,  0d 0' 0.00"S)

এটি gdalinfo gdalwarp পরে

Origin = (-180.102727401932952,89.946211604095552)
Pixel Size = (0.091397622896436,-0.091420837939082)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  (-180.1027274,  89.9462116) (180d 6' 9.82"W, 89d56'46.36"N)
Lower Left  (-180.1027274, -89.9699975) (180d 6' 9.82"W, 89d58'11.99"S)
Upper Right ( 179.8211116,  89.9462116) (179d49'16.00"E, 89d56'46.36"N)
Lower Right ( 179.8211116, -89.9699975) (179d49'16.00"E, 89d58'11.99"S)
Center      (  -0.1408079,  -0.0118929) (  0d 8'26.91"W,  0d 0'42.81"S)

বিভিন্ন রেজোলিউশন সম্পর্কে, আপনি -tr xres yresপতাকাটি যুক্ত করার চেষ্টা করেছেন ?
nickves

উত্তর:


21

আপনি স্পষ্টভাবে gdalwarp (যেমন "-te -180 -90 180 90") লক্ষ্য মাত্রা বিকল্পটি ব্যবহার করে আউটপুট স্থানাঙ্ক পরিসরটি সেট করতে পারেন তবে আপনি নতুন কেন্দ্রীয় দ্রাঘিমাংশের চারপাশে পুনরায় মোড়ানোর জন্য CENTER_LONG কনফিগারেশন বিকল্পটিও ব্যবহার করতে পারেন। এটার মতো কিছু:

  gdalwarp -t_srs WGS84 ~/0_360.tif 180.tif  -wo SOURCE_EXTRA=1000 \
           --config CENTER_LONG 0

"SOURCE_EXTRA = 1000" ওয়ার্প বিকল্পটিও নোট করুন। উত্সটি পুনরায় মোড়ক করার সময় দ্রাঘিমাংশের বাধাকে ঘিরে বিভ্রান্ত হয়ে পড়বে এবং কিছু চিত্রাবলী হারাবে। এই বিকল্পটি বলছে কিছু অতিরিক্ত টানুন। এটি ছাড়া আপনি প্রধান মেরিডিয়ান কাছাকাছি একটি ডেটা ফাঁক দেখতে পাবেন।

গীত। আপনার মতো 180dW এর প্রাইম মেরিডিয়ান সেট করা ভাল ধারণা আইএমএইচও নয়।


1
হুঁ, --config CENTER_LONG 0কিছুই করে না, ফলাফল একই রাস্টার। আমি এখানে কিছু মিস করছি? জিডিএল সংস্করণ ২.২.৩ এ চলছে।
jurjb

6

মূলত আপনাকে রাস্টারকে দুটি অংশে কাটা এবং একটি নতুন অফসেট / স্কেল সহ একসাথে ফিরে টুকরো করতে হবে।

Gdal_translate এবং VRT ড্রাইভারের সাথে [-180,180] থেকে [0,360] পর্যন্ত কীভাবে এটি করা যায় তার একটি উদাহরণ রয়েছে: http://trac.osgeo.org/gdal/wiki/UserDocs/RasterProcTutorial

"5 মিনিট টিউটোরিয়াল" পর্যন্ত স্ক্যান করুন এবং বিশদটি "ভার্চুয়াল ফাইলগুলি" এর অধীনে। উদাহরণ অনুসারে এটি পরিবর্তন করতে যথেষ্ট সহজ হওয়া উচিত।


2

এটি প্যাকেজের rotateসাথে ফাংশনটি ব্যবহার করে কোডের এক লাইনের মাধ্যমে আরে করা যায় raster

library(raster)
your_raster <- raster("path/to/raster.tif")
rotated_raster <- rotate(your_raster)

1

আপনি যদি কেবল কিউজিআইএস-এ রাস্টারটি দেখতে চান তবে আপনি + দীর্ঘ_আর্যাপ = 180 পরামিতিটির সাথে একটি কাস্টম প্রজেকশন সেট করতে পারেন।

এটি সম্পর্কে আমার উপলব্ধিটি হ'ল, ডিফল্টরূপে, প্রজ 4 অক্ষাংশকে 0 -> 360 থেকে -180 -> 180 থেকে মোড়ক করে lon

বিকল্পটি + ওভারের মোড়কে পুরোপুরি অক্ষম করা উচিত, তবে - কমপক্ষে আমার ক্ষেত্রে - সেই বিকল্পটি ব্যবহার করার সময় রাস্টার সঠিকভাবে প্রদর্শন করতে পারেন নি।

আরও তথ্যের জন্য http://proj4.org/paraters.html#lon-wrap-over-longitude- র্যাপিং দেখুন ।


0

আমি 0-360 থেকে -180-180 পর্যন্ত জাভাস্ক্রিপ্ট ব্যবহার করে গ্রিড মানগুলির একক ম্লান অ্যারে পুনঃপ্রক্রিয়া করতে নির্মিত একটি ফাংশন এখানে। আমি আশা করি এটি কারওর উপকারে আসতে পারে।

  let xstart = 180 / xres //xres is the number of values per 1 degree
  for (let y = 0; y < data.height; y++) {
    let index = (y * data.width) + 1,
    start = index + xstart,
    end = index + data.width
    array.splice(index, 0, ...array.splice(start, (end - start)))
  }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.