3D মানচিত্রে উচ্চতা মোড এবং বৈশিষ্ট্যগুলি বুঝুন৷

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

এখানে আপনি কিভাবে বিভিন্ন ধরনের বৈশিষ্ট্য সহ AltitudeMode ব্যবহার করতে পারেন:

  • চিহ্নিতকারী: Marker3DElement , Marker3DInteractiveElement

    অবস্থানের উপর একটি উচ্চতা নির্দিষ্ট করুন, এবং এক্সট্রুশনও।

  • মডেল: Model3DElement , Model3DIinteractiveElement

    মডেলের অ্যাঙ্কর পয়েন্টে একটি উচ্চতা নির্দিষ্ট করুন, যা দৃশ্যে সঠিক অবস্থানের জন্য তার অভিযোজন সহ ব্যবহার করা উচিত।

  • পলিলাইন: Polyline3DElement , Polyline3DIinteractiveElement

    পলিলাইন বরাবর অবস্থান বিন্দুতে উচ্চতা কীভাবে প্রয়োগ করা হয় তা উল্লেখ করুন।

  • বহুভুজ: Polygon3DElement , Polygon3DIinteractiveElement

    বহুভুজ বরাবর অবস্থান বিন্দুতে উচ্চতা কীভাবে প্রয়োগ করা হয় তা উল্লেখ করুন।

3D পরিবেশে কিভাবে উচ্চতা ব্যবহার করা হয়

একটি 3D দৃশ্যের মধ্যে পয়েন্ট স্থাপন করার সময়, তাদের চূড়ান্ত অবস্থান ক্যাপচার করা 3D বিল্ডিং বা গাছের মতো বস্তুর উপস্থিতি দ্বারা প্রভাবিত হয়। দুটি মূল ধারণা বোঝা গুরুত্বপূর্ণ:

  • ডিজিটাল ভূখণ্ড মডেল (ডিটিএম) : এটি "বেয়ার আর্থ" উচ্চতার প্রতিনিধিত্ব করে। উপরে কোন দালান, গাছ, বা অন্যান্য কাঠামো ছাড়াই এটিকে জমির প্রাকৃতিক আকৃতি হিসাবে ভাবুন। সমস্ত এলাকা DTM দ্বারা আন্ডারপিন করা হয়, যা পৃথিবীর উচ্চতার ভিত্তি তৈরি করে ( EGM96 ব্যবহার করে গণনা করা হয়)।
  • ডিজিটাল সারফেস মডেল (DSM) : এটি ভবন, গাছ এবং অন্যান্য কাঠামো সহ "শীর্ষ পৃষ্ঠ" উচ্চতাকে প্রতিনিধিত্ব করে। যেসব এলাকায় বৈশিষ্ট্যগুলি ক্যাপচার করা হয়েছে (বিশেষ করে শহুরে পরিবেশ যেখানে বিল্ডিংগুলি দৃশ্যে আধিপত্য বিস্তার করে), দৃশ্যমান পৃষ্ঠটি বেস ভূখণ্ডের চেয়ে বেশি প্রদর্শিত হবে।

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

একটি 3D মানচিত্র ডিজিটাল টেরেন মডেল (DTM) এবং ডিজিটাল সারফেস মডেল (DSM) এর মধ্যে পার্থক্য দেখায়।

যখন বৈশিষ্ট্যগুলিতে উচ্চতা ডেটার অভাব থাকে

যদি আপনার কাছে এমন ডেটা থাকে যার উচ্চতা পরিমাপের অভাব থাকে বা অন্য Google পরিষেবা থেকে ডেটা ব্যবহার করার সময়, যেমন রুট বা স্থান পরিষেবাগুলি, আপনি প্রায়শই ফেরত জ্যামিতিতে কোনও উচ্চতা সরবরাহ করবেন না৷ এই ধরনের ক্ষেত্রে, দৃশ্যে বৈশিষ্ট্যটি স্থাপন করার জন্য আপনাকে সাবধানে একটি AltitudeMode চয়ন করতে হবে:

  • এটিকে মাটিতে আটকান : সবচেয়ে সহজ পদ্ধতি, যেখানে বৈশিষ্ট্যটি স্বয়ংক্রিয়ভাবে ভূখণ্ডের সাথে সামঞ্জস্যপূর্ণ হবে৷ এই মোডটি DTM মডেল ব্যবহার করে।
  • এটিকে একটি নির্বিচারে উচ্চতা + আপেক্ষিক মোড দিন : আপনি একটি নির্বাচিত উচ্চতা নির্ধারণ করতে পারেন এবং তারপরে RELATIVE_TO_GROUND (যা DTM মডেলের সাথে সম্পর্কিত বৈশিষ্ট্যগুলি রাখে) বা RELATIVE_TO_MESH (যা তাদের DSM মডেলের উপরে ভাসিয়ে দেয়) ব্যবহার করতে পারেন।
  • উচ্চতা পেতে অন্য পরিষেবা ব্যবহার করুন : বৈশিষ্ট্যের অবস্থানে সুনির্দিষ্ট DTM উচ্চতার জন্য, আপনি Google Maps Platform Elevation API-এর মতো একটি পরিষেবা ব্যবহার করতে পারেন৷ যদি এটি একটি রেখা বা বহুভুজ হয়, তাহলে আপনাকে লাইন বা বহুভুজ তৈরি করা প্রতিটি পয়েন্টের জন্য এটি করতে হবে।

AltitudeMode বিকল্পগুলির অর্থ কী এবং কখন সেগুলি ব্যবহার করবেন?

একটি বৈশিষ্ট্য সংজ্ঞায়িত করার সময় আপনি নির্দিষ্ট করতে পারেন চারটি AltitudeMode বিকল্প রয়েছে:

পরম

কল্পনা করুন যে একটি বিমান সমুদ্রপৃষ্ঠ থেকে একটি নির্দিষ্ট উচ্চতায় উড়ছে, বলুন 10,000 ফুট। এটি একটি পর্বত বা একটি উপত্যকার উপর উড়ে যাই হোক না কেন, তার উচ্চতা স্থির করা হয়.

এটি কীভাবে ব্যবহার করবেন : বস্তুর উচ্চতা গড় গড় সমুদ্রপৃষ্ঠের তুলনায় প্রকাশ করা হয় (EGM96 ব্যবহার করে গণনা করা হয়)। বৈশিষ্ট্যটির উচ্চতা স্থানাঙ্ককে সমুদ্রপৃষ্ঠের গড় উপরে একটি সুনির্দিষ্ট উচ্চতা হিসাবে ব্যাখ্যা করা হয়।

কখন এটি ব্যবহার করবেন : পরিচিত, সুনির্দিষ্ট উচ্চতা সহ বৈশিষ্ট্যগুলির জন্য, যেমন ফ্লাইট পাথ, সঠিক গভীরতা সহ নিমজ্জিত বস্তু, বা স্থির-বিন্দু বৈজ্ঞানিক যন্ত্র।

CLAMP_TO_GROUND

পাহাড়ের ধারে সরাসরি পিকনিক কম্বল রাখার কথা ভাবুন। পাহাড়টি যতই খাড়া বা সমতল হোক না কেন, কম্বলটি সর্বদা দৃশ্যমান পৃষ্ঠে সমতল থাকে।

এটি কীভাবে ব্যবহার করবেন : বস্তুর উচ্চতা সরাসরি মাটিতে স্থাপন করা হিসাবে প্রকাশ করা হয়। তারা স্থল স্তরে থাকবে, ভূখণ্ড অনুসরণ করে, প্রদত্ত উচ্চতার মান নির্বিশেষে। বৈশিষ্ট্যের উচ্চতা স্থানাঙ্ক উপেক্ষা করা হয়; এটি সরাসরি ভূখণ্ডের উপরিভাগে (DTM) অভিক্ষিপ্ত।

কখন এটি ব্যবহার করবেন : এমন বৈশিষ্ট্যগুলির জন্য যা সর্বদা ভূখণ্ডের সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত, যেমন রাস্তা, বেড়া, ট্রেইল, সম্পত্তির সীমানা বা বিল্ডিংয়ের ভিত্তি।

RELATIVE_TO_GROUND

একটি হট এয়ার বেলুনকে চিত্রিত করুন যা 100 মিটার উপরে থাকে যা প্রাকৃতিক স্থল উচ্চতা (DTM) এর নীচে থাকে। যদি মাটি উপরে যায়, বেলুন তার সাথে উপরে যায়, "বেয়ার আর্থ" থেকে 100-মিটার ব্যবধান বজায় রাখে।

এটি কীভাবে ব্যবহার করবেন : বস্তুর উচ্চতা স্থল পৃষ্ঠের (ডিটিএম) সাপেক্ষে প্রকাশ করা হয়। বৈশিষ্ট্যটির উচ্চতা স্থানাঙ্কটিকে তার অনুভূমিক অবস্থানে ভূখণ্ডের উচ্চতা থেকে অফসেট হিসাবে ব্যাখ্যা করা হয়।

কখন এটি ব্যবহার করবেন : প্রাকৃতিক ভূখণ্ডের উপরে একটি সামঞ্জস্যপূর্ণ উচ্চতা বজায় রাখা প্রয়োজন এমন বস্তুর জন্য, যেমন যোগাযোগ টাওয়ার বা গ্রামীণ এলাকায় ওভারহেড লাইন।

RELATIVE_TO_MESH

এটি একটি ড্রোনের মতো যা একটি নির্দিষ্ট উচ্চতার উপরে উড়ছে, সেটা খালি মাটি, ভবনের ছাদ বা গাছের শীর্ষে যাই হোক না কেন। এটি সর্বোচ্চ দৃশ্যমান পৃষ্ঠের (DSM) সাথে সামঞ্জস্য করে।

এটি কীভাবে ব্যবহার করবেন : বস্তুর উচ্চতা স্থল+বিল্ডিং+জল পৃষ্ঠের (DSM) সর্বোচ্চ সাপেক্ষে প্রকাশ করা হয়। বৈশিষ্ট্যের উচ্চতা স্থানাঙ্ক ডিএসএম উচ্চতা থেকে অফসেট হিসাবে ব্যাখ্যা করা হয়।

কখন এটি ব্যবহার করবেন : বস্তুর জন্য যেগুলিকে একটি নির্দিষ্ট উচ্চতায় ভাসতে হবে যা কিছু শারীরিকভাবে (ডিটিএম, বিল্ডিং, জল), ছাদে চিহ্নিতকারী বা বৈশিষ্ট্যগুলির জন্য দরকারী যা দৃশ্যমান দৃশ্যের সাথে গতিশীলভাবে সামঞ্জস্য করে।

আরো বিস্তারিত জানার জন্য, AltitudeMode ধ্রুবকের জন্য ডকুমেন্টেশন দেখুন।

ভিজ্যুয়াল উদাহরণ এবং ব্যবহারিক অ্যাপ্লিকেশন

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

অবস্থান চিহ্নিতকারী

নিম্নলিখিত হিসাবে স্থাপন করা একটি পিন মার্কার বিবেচনা করুন:

const markerLocation = { lat: 51.1789, lng: -1.8262, altitude: 102.23 };

আপনি নীচের দৃশ্যে সাদা পিন হিসাবে এটি দেখতে পারেন:

একটি সাদা পিন মার্কার সহ একটি 3D মানচিত্র দৃশ্য, একটি চিহ্নিতকারীর ডিফল্ট বসানো চিত্রিত করে৷

এখন নীচের চিত্রটি দেখুন যা বিভিন্ন উচ্চতা মোড ব্যবহার করে অবস্থান করা বিভিন্ন রঙের পিন দেখায়।

একটি 3D মানচিত্র দৃশ্য বিভিন্ন উচ্চতা মোড ব্যবহার করে অবস্থান করা একাধিক পিন (সাদা, বেগুনি, কমলা, নীল) দেখায়, যা স্টোনহেঞ্জের চারপাশে কেন্দ্রীভূত।

আসুন দেখে নেওয়া যাক কিভাবে বিভিন্ন AltitudeMode উচ্চতার আরোহী ক্রমে মার্কারের অবস্থানকে প্রভাবিত করে।

CLAMP_TO_GROUND (বেগুনি পিন)

এই পিনটি উচ্চতার মান উপেক্ষা করে এবং নিকটতম স্থল উচ্চতায় নিজেকে সংযুক্ত করে। আপনি এটিকে সাদা পিনের ঠিক নীচে দেখতে পারেন, কার্যকরভাবে ভূখণ্ডে "ক্ল্যাম্পিং"।

প্রযুক্তিগতভাবে, এই মোড প্রকৃত উচ্চতা উপেক্ষা করে এবং পিনটিকে নিকটতম DTM উচ্চতায় আটকে দেয়।

পরম (সাদা পিন)

এই পিনটি সমুদ্রপৃষ্ঠের (EGM96) উপরে সেই উচ্চতায় মার্কার স্থাপন করতে সঠিক উচ্চতা মান (102.23m) ব্যবহার করে, স্টোনহেঞ্জের একটি পাথরের উপরে যা সরবরাহ করা উচ্চতা দ্বারা নির্দিষ্ট করা হয়েছে।

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

RELATIVE_TO_GROUND (কমলা পিন)

এই পিনটি মাটিকে (ডিটিএম) এর ভিত্তি হিসাবে নেয় এবং নিজেকে সেই স্থল স্তরের উপরে 102.23 মিটার রাখে, হেঙ্গে পাথরের নীচে থাকা প্রাকৃতিক মাটির উপরে ভাসতে দেখা যায়।

প্রযুক্তিগতভাবে, এই মোডটি মাটিতে প্রকৃত DTM-এর স্তরে তার ভিত্তি স্থাপন করে এবং তারপর পিনটিকে 102.23m উপরে রাখে।

RELATIVE_TO_MESH (নীল পিন)

এই পিনটি দৃশ্যমান পৃষ্ঠকে (DSM) এর ভিত্তি হিসাবে ব্যবহার করে এবং নিজেকে সেই পৃষ্ঠের উপরে 102.23m রাখে। এই মোডটি তার পরিমাপে পাথরের উচ্চতা অন্তর্ভুক্ত করে, এটিকে কমলা পিনের চেয়ে সামান্য উঁচুতে সারিবদ্ধ করে।

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

অবস্থান লাইন এবং এলাকা

লাইন এবং এলাকার জন্য, বৈশিষ্ট্যের মধ্যে বিন্দুগুলির উচ্চতা (নির্দিষ্ট হোক বা না হোক) এবং AltitudeMode ব্যবহার করা গুরুত্বপূর্ণ। আসুন আমরা স্টোনহেঞ্জ বরাবর একটি লাইন পরীক্ষা করি যার সাথে নিম্নলিখিত নির্দিষ্ট উচ্চতা রয়েছে:

const lineCoords = [
   { lat: 51.1786, lng : -1.8266, altitude: 101.36 },
   { lat: 51.1787, lng : -1.8264, altitude: 101.18 },
   { lat: 51.178778, lng : -1.826354, altitude: 104.89 },
   { lat: 51.178815, lng : -1.826275, altitude: 107.55 },
   { lat: 51.178923, lng : -1.825980, altitude: 105.53 },
   { lat: 51.1791, lng : -1.8258, altitude: 100.29 },
   { lat: 51.1792, lng : -1.8257, altitude: 100.29 }
];

আপনি নিখুঁত পজিশনিং ব্যবহার করে নীচের ছবিতে সাদা রঙে উপস্থাপিত এই লাইনটি দেখতে পারেন।

একটি 3D মানচিত্র সম্পূর্ণ অবস্থান ব্যবহার করে স্টোনহেঞ্জের চারপাশে রাখা একটি সাদা রেখা দেখাচ্ছে।

আবার, নীচের চিত্রটি বিভিন্ন উচ্চতা মোড ব্যবহার করে লাইনগুলি দেখায়। আসুন আমরা সর্বনিম্ন থেকে সর্বোচ্চ পর্যন্ত পর্যায়ক্রমে আলোচনা করি।

একটি 3D মানচিত্র বিভিন্ন উচ্চতা মোড ব্যবহার করে স্টোনহেঞ্জের চারপাশে অবস্থিত একাধিক রঙিন রেখা (বেগুনি, সাদা, কমলা, নীল) দেখাচ্ছে।

CLAMP_TO_GROUND (বেগুনি লাইন)

এই লাইনটি প্রতিটি বিন্দুর জন্য নির্দিষ্ট উচ্চতা উপেক্ষা করে এবং পরিবর্তে সরাসরি অন্তর্নিহিত স্থলের (DTM) উপর লাইনটিকে "ড্রেপ" করে। এটি ভূখণ্ড অনুসরণ করে, এটির উপরে ভবন বা পাথরের মতো কোনো বৈশিষ্ট্যের উপস্থিতি উপেক্ষা করে।

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

পরম (সাদা রেখা)

এই লাইনটি প্রতিটি বিন্দুর জন্য সঠিক উচ্চতা ব্যবহার করে, যার ফলে লাইনটি কিছু পাথরের উপর দিয়ে যায়। এটি প্রতিটি বিন্দুর মধ্যে সরল রেখা দ্বারা সংযুক্ত থাকে, যা কখনও কখনও এটিকে বস্তুর মধ্য দিয়ে যেতে দেখাতে পারে যদি পয়েন্টগুলি যথেষ্ট ঘন ঘন না হয়।

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

RELATIVE_TO_GROUND (অরেঞ্জ লাইন)

এই লাইনটি তার ভিত্তি হিসাবে প্রাকৃতিক স্থল (DTM) ব্যবহার করে এবং প্রতিটি বিন্দুকে সেই স্থল স্তরের উপরে নির্দিষ্ট উচ্চতায় রাখে।

প্রযুক্তিগতভাবে, এই মোডটি বেস হিসাবে DTM ব্যবহার করে এবং তালিকাভুক্ত উচ্চতায় লাইনের অবস্থানগুলিকে এটির সাপেক্ষে রাখে।

RELATIVE_TO_MESH (নীল রেখা)

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

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

যখন লাইনের জন্য উচ্চতা নির্দিষ্ট করা হয় না

এখন, আসুন আমরা একই লাইন স্থানাঙ্ক বিবেচনা করি তবে নির্দিষ্ট কোন উচ্চতা ছাড়াই :

const lineCoords = [
   { lat: 51.1786, lng : -1.8266 },
   { lat: 51.1787, lng : -1.8264 },
   { lat: 51.178778, lng : -1.826354 },
   { lat: 51.178815, lng : -1.826275 },
   { lat: 51.178923, lng : -1.825980 },
   { lat: 51.1791, lng : -1.8258 },
   { lat: 51.1792, lng : -1.8257 }
];

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

একটি 3D মানচিত্র স্টোনহেঞ্জের চারপাশে একাধিক রঙিন রেখা (কমলা, নীল) দেখাচ্ছে, যেখানে উচ্চতা ডেটার অভাবের কারণে সাদা এবং বেগুনি রেখাগুলি একত্রিত হয়েছে৷

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

মেশ এবং লাইনের মিথস্ক্রিয়া। এখন আমরা আরেকটি পলিলাইন দেখতে পারি। এই ছবিটি একই এলাকার কিন্তু আরও গ্রাউন্ড কভারেজ সহ (অথবা DTM-এর উপরে DSM-এ আরও বিস্তারিত)।

const lineCoords = [
    { lat: 51.188404, lng: -1.779059, altitude: 70.69 },
    { lat: 51.187955, lng: -1.780143, altitude: 77.25 },
    { lat: 51.187658, lng: -1.781552, altitude: 68.97 },
    { lat: 51.187376, lng: -1.782447, altitude: 99.02 },
    { lat: 51.186912, lng: -1.783692, altitude: 104.35 },
    { lat: 51.185855, lng: -1.788368, altitude: 86.91 },
];

যখন আমরা পূর্বের একই পদ্ধতি (এবং রং) ব্যবহার করে উপস্থাপনা দেখি, তখন আমরা এই দৃশ্যটি পাই:

একটি 3D মানচিত্র যা গাছ এবং বিভিন্ন উচ্চতা সহ একটি ভূখণ্ডের উপর একাধিক রঙিন রেখা (বেগুনি, সাদা, কমলা, নীল) প্রদর্শন করে।

বেগুনি হল CLAMP_TO_GROUND , যা আপনি মাটি বরাবর যেতে দেখতে পারেন। সাদা হল পরম, যা আপনি দেখতে পাচ্ছেন যে সরল রেখাগুলি বিন্দুগুলিকে সংযুক্ত করে যা একেবারে মহাশূন্যে অবস্থিত। কমলা এবং নীল সারফেস (DTM) বা MESH (DSM) সম্পর্কে আপেক্ষিক সংস্করণ হওয়ায়, নোট করুন নীচের বৈশিষ্ট্যগুলির উচ্চতার কারণে নীল রেখাটি আকারে কিছুটা আলাদা।

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

একটি 3D মানচিত্র যেটি গাছের মধ্য দিয়ে যাওয়া রেখা দেখায়, আবদ্ধ সেগমেন্টগুলিকে দৃশ্যমান করে সেগমেন্টের অবরোধ চিত্রিত করার জন্য: সত্য।

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

লাইন এবং ভূখণ্ডের মধ্যে মিথস্ক্রিয়া সমস্যা সমাধান

অন্য একটি উদাহরণে, একই এলাকায়, আমরা কিছু অন্যান্য নিদর্শন দেখতে পারি যেগুলি নির্দিষ্ট উচ্চতা মোড ব্যবহার করার সময় আমাদের অবশ্যই সচেতন হতে হবে।

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

const lineCoords = [
   { lat: 51.194642, lng: -1.782636, altitude: 99.10 },
   { lat: 51.193974, lng: -1.783952, altitude: 99.86 },
   { lat: 51.192203, lng: -1.787175, altitude: 96.14 },
   { lat: 51.190024, lng: -1.790250, altitude: 105.92 },
   { lat: 51.187491, lng: -1.793580, altitude: 102.60 },
   { lat: 51.183690, lng: -1.798745, altitude: 95.69 },
];

এবং চিত্রে দেখা যায়, লাইনগুলির সাথে আগের মতো একই রঙের উপস্থাপনা রয়েছে: (সাদা: সম্পূর্ণ, নীল: RELATIVE_TO_MESH, বেগুনি: CLAMP_TO_GROUND, কমলা : RELATIVE_TO_GROUND)।

একটি 3D মানচিত্র তুলনামূলকভাবে সমতল ভূখণ্ডের উপর বিভিন্ন রঙিন রেখা (সাদা, নীল, বেগুনি, কমলা) দেখাচ্ছে, যেখানে লাইনগুলি মাটিতে অদৃশ্য হয়ে যায় এমন ভিজ্যুয়াল আর্টিফ্যাক্টগুলিকে হাইলাইট করে৷

এখানে আমরা অনেকগুলি নিদর্শন দেখতে পাচ্ছি, যার মধ্যে প্রথমটি হল পৃষ্ঠের আবরণের অভাবের কারণে কমলা (RELATIVE_TO_GROUND) এবং নীল (RELATIVE_TO_MESH) রেখাগুলি (বেশিরভাগ) একই স্থানে রয়েছে (যেমন নীল রেখাটি শেষ আঁকা হয়েছে তা দেখানো হয়েছে)৷

আমরা আরও দেখতে পাচ্ছি যে বেগুনি (CLAMP_TO_GROUND) রেখাটি মাটিকে অনুসরণ করে এবং পাহাড়ে দেখা যায়, যখন সাদা (ABSOLUTE) রেখাটি পাহাড়ের মধ্যে অদৃশ্য হয়ে যাওয়া দেখা যায় কারণ শুধুমাত্র বিন্দুগুলি সংযুক্ত থাকে এবং সরল রেখাগুলি মাটির মধ্য দিয়ে যায়৷

বেগুনি রেখাটি লুকিয়ে থাকলে আপনি এই চিত্রটিতে এটি বিশেষভাবে দেখতে পারেন।

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

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

  • আপেক্ষিক পরিমাপের জন্য (RELATIVE_TO_GROUND বা RELATIVE_TO_MESH) : আপেক্ষিক উচ্চতা মান ব্যবহার করার সময়, একটি রেখা বা বহুভুজ বরাবর আরও বিন্দু তৈরি করা বৈশিষ্ট্যটিকে আরও উপযুক্ত স্তরে স্থাপন করার অনুমতি দেবে, উচ্চতা প্রোফাইলের সাথে আরও ভালভাবে সামঞ্জস্যপূর্ণ। যদি এই মধ্যস্থতাকারী পয়েন্টগুলি আপনার ডেটাতে উপস্থিত না থাকে, তাহলে আপনি একটি ইন্টারপোলেশন ফাংশন ব্যবহার করতে পারেন, যেমন Google মানচিত্র প্ল্যাটফর্ম জ্যামিতি লাইব্রেরিতে ইন্টারপোলেট ফাংশন, সেগুলি যোগ করতে৷ এই নতুন পয়েন্টগুলিকে তখন আপেক্ষিক মান দেওয়া যেতে পারে যা প্রাসঙ্গিক উচ্চতার প্রোফাইলের উপরে স্থাপন করা হবে এবং তারপরে পয়েন্টগুলিতে যোগদানকারী যেকোন লাইনের দৈর্ঘ্য সীমিত হবে এবং ভিজ্যুয়াল উপস্থাপনা উন্নত হবে।
  • পরম বৈশিষ্ট্যের জন্য (পরম) : পরম বৈশিষ্ট্যের জন্য, আরও পয়েন্টের প্রকৃত উচ্চতার মান থাকতে হবে। বিদ্যমান পরম মানগুলির মধ্যে ইন্টারপোলেট করা এমন একটি বিন্দু দেবে না যা জালের উপরে যে কোনও মানকে সঠিকভাবে প্রতিফলিত করে, কারণ এটি কেবল বিন্দু A এবং বিন্দুর মধ্যে একটি গড় হবে।

সারাংশ

আশা করি এই দস্তাবেজটি আপনাকে ফটোরিয়ালিস্টিক 3D মানচিত্রে AltitudeMode বিকল্পগুলির একটি বিস্তৃত ওভারভিউ প্রদান করেছে, বিশদ বিবরণ দেয় যে কীভাবে ABSOLUTE, CLAMP_TO_GROUND, RELATIVE_TO_GROUND, এবং RELATIVE_TO_MESH বিভিন্ন বৈশিষ্ট্য যেমন মার্কার, পলিগন এবং রেন্ডারিং-এর অবস্থান এবং রেন্ডারিংকে প্রভাবিত করে৷

অন্তর্নিহিত ডিজিটাল টেরেইন মডেল (ডিটিএম) এবং ডিজিটাল সারফেস মডেল (ডিএসএম) এর সাথে এই মোডগুলি কীভাবে একসাথে কাজ করে তা বোঝা ন্যূনতম ভিজ্যুয়াল আর্টিফ্যাক্টগুলির সাথে সঠিক এবং দৃশ্যত আকর্ষক 3D মানচিত্র উপস্থাপনা তৈরি করার জন্য গুরুত্বপূর্ণ।

আমরা আশা করি আপনি 3D ম্যাপিংয়ের সম্পূর্ণ সম্ভাবনা আনলক করতে এবং আপনার ব্যবহারকারীদের জন্য আকর্ষক, নিমগ্ন অভিজ্ঞতা তৈরি করতে এবং প্রতিক্রিয়া প্রদান করতে আপনার নিজের প্রকল্পগুলিতে এই উচ্চতা মোডগুলির সাথে পরীক্ষা করবেন৷

অবদানকারী

ম্যাট টুন | সলিউশন ইঞ্জিনিয়ার, জিও ডেভেলপার