ফেব্রুয়ারী 2009 আপডেট করা হয়েছে: <gx:altitudeMode>, <gx:TimeStamp>, এবং <gx:TimeSpan> এর উল্লেখ যোগ করা হয়েছে।
KML 2.2 এর সাথে প্রবর্তিত, <Camera>
পর্যবেক্ষকের দৃষ্টিভঙ্গি এবং সংশ্লিষ্ট ভিউ প্যারামিটার নির্দিষ্ট করার একটি অতিরিক্ত উপায় প্রদান করে। <Camera>
<LookAt>
এর অনুরূপ, যেহেতু উভয় উপাদানই একটি ভার্চুয়াল ক্যামেরার স্থান নির্ধারণ এবং অভিযোজন নির্ধারণ করে যা পৃথিবী দেখছে। পার্থক্য হল যে LookAt দেখা হচ্ছে আগ্রহের পয়েন্টের পরিপ্রেক্ষিতে দৃষ্টিভঙ্গি নির্দিষ্ট করে। ক্যামেরা, বিপরীতে, দর্শকের অবস্থান এবং অভিযোজনের পরিপ্রেক্ষিতে দৃশ্যটি নির্দিষ্ট করে।
<LookAt>
এবং <Camera>
উভয়ই <AbstractView>
উপাদান থেকে প্রসারিত, যা একটি বেস বিমূর্ত প্রকার। <Camera>
এবং <LookAt>
একটি KML ফাইলে কীভাবে ব্যবহার করা হয় তাতে অভিন্ন—যেমন, <Feature>
(প্লেসমার্ক, স্ক্রিনওভারলে, গ্রাউন্ডওভারলে, ফটোওভারলে, ফোল্ডার, ডকুমেন্ট, নেটওয়ার্কলিঙ্ক) থেকে প্রাপ্ত যেকোন উপাদানের শিশু হিসাবে <NetworkLinkControl>
-এর সন্তান। আপনি একটি বৈশিষ্ট্যের মধ্যে একটি <Camera>
বা একটি <LookAt>
ব্যবহার করতে পারেন, তবে একই সময়ে উভয়ই নয় (অর্থাৎ, শুধুমাত্র একটি ভার্চুয়াল ক্যামেরা বর্তমান দৃষ্টিভঙ্গি নির্দিষ্ট করতে পারে)।
<Camera>
এবং <LookAt>
মধ্যে পার্থক্য
নতুন <Camera>
উপাদানটি আপনি কীভাবে দৃশ্যটি নির্দিষ্ট করবেন তাতে অতিরিক্ত নমনীয়তা প্রদান করে। সবচেয়ে গুরুত্বপূর্ণ, আপনি ক্যামেরা ভিউ টিল্ট করতে পারেন যাতে আপনি দিগন্তের উপরে আকাশের দিকে তাকাচ্ছেন। <Camera>
দৃশ্যের উপর সম্পূর্ণ ছয়-ডিগ্রি-অফ-স্বাধীনতা নিয়ন্ত্রণ প্রদান করে, যাতে আপনি ক্যামেরাটিকে স্থানটিতে অবস্থান করতে পারেন এবং তারপরে এটিকে x, y এবং z অক্ষের চারপাশে ঘোরাতে পারেন। যদি কোন ঘূর্ণন নির্দিষ্ট করা না থাকে, দুটি উপাদান সমতুল্য:
<Camera>
<longitude>-121</longitude>
<latitude>37</latitude>
<altitude>2000</altitude>
<altitudeMode>clampToGround</altitudeMode>
</Camera>
<LookAt>
<longitude>-121</longitude>
<latitude>37</latitude>
<altitude>2000</altitude>
<altitudeMode>clampToGround</altitudeMode>
</LookAt>
নিম্নলিখিত বিভাগে <LookAt>
উপাদানটির একটি সংক্ষিপ্ত পর্যালোচনা অফার করে যাতে আপনি এটির ব্যবহারকে নতুন <Camera>
উপাদানের সাথে বৈসাদৃশ্য করতে পারেন।
<LookAt>
এর পর্যালোচনা
<LookAt>
উপাদানটি পৃথিবীর যে বিন্দুটি দেখা হচ্ছে তা নির্দিষ্ট করে, আগ্রহের বিন্দু থেকে দৃষ্টিকোণের দূরত্ব এবং দৃশ্যের কোণ। এখানে এই উপাদানটির জন্য সিনট্যাক্স রয়েছে:
<LookAt id="ID"> <longitude></longitude> <!-- kml:angle180 --> <latitude></latitude> <!-- kml:angle90 --> <altitude>0</altitude> <!-- double --> <range></range> <!-- double --> <tilt>0</tilt> <!-- float --> <heading>0</heading> <!-- float --> <altitudeMode>clampToGround</altitudeMode> <!--kml:altitudeModeEnum:clampToGround, relativeToGround, absolute --> <!-- or, gx:altitudeMode can be substituted: clampToSeaFloor, relativeToSeaFloor --> </LookAt>
নিম্নলিখিত চিত্রটি ব্যাখ্যা করে কিভাবে <LookAt>
দৃষ্টিভঙ্গি তৈরি করা হয়:
<LookAt>
উপাদান নিম্নলিখিত প্রশ্নের উত্তর নির্দিষ্ট করে:
প্রশ্ন | <LookAt> এ স্পেসিফিকেশন |
আমি কি বিন্দু দেখছি? | <দ্রাঘিমাংশ>, <অক্ষাংশ>, <উচ্চতা>, <উচ্চতা মোড> |
আগ্রহের দিক থেকে দৃষ্টিভঙ্গি কত দূরে? | <রেঞ্জ> |
ভিউটি কি ভিত্তিক তাই উত্তর দিকটি ভিউয়ের শীর্ষে রয়েছে? | যদি হ্যাঁ, ডিফল্ট <শিরোনাম> মান 0 ব্যবহার করুন। না হলে, >0 থেকে 360° পর্যন্ত একটি <শিরোনাম> ঘূর্ণন নির্দিষ্ট করুন |
দৃশ্যটি কি সরাসরি পৃথিবীর দিকে তাকিয়ে আছে? | যদি হ্যাঁ, ডিফল্ট <টিল্ট> মান ব্যবহার করুন। যদি না হয়, ক্যামেরা দিগন্তের দিকে উপরের দিকে কাত হয়; একটি <tilt> ঘূর্ণন ≤ 90° নির্দিষ্ট করুন। 90° দিগন্ত বরাবর সোজা দেখছে। (যদি আপনি দূরে থাকেন এবং <টিল্ট> 90° সমান হয় তবে আপনি পৃথিবীর পৃষ্ঠটি দেখতে পাবেন না।) |
উদাহরণ
এখানে একটি নমুনা <Placemark>
যেখানে একটি <LookAt>
উপাদান রয়েছে:
<Placemark>
<name>Machu Picchu, Peru</name>
<LookAt>
<longitude>-72.503364</longitude>
<latitude>-13.209676</latitude>
<altitude>0</altitude>
<range>14794.882995</range>
<tilt>66.768762</tilt>
<heading>71.131493</heading>
</LookAt>
<styleUrl>#msn_icon12</styleUrl>
<Point>
<coordinates>-72.516244,-13.162806,0</coordinates>
</Point>
</Placemark>
এবং এখানে Google Earth-এ দেখানো প্লেসমার্ক রয়েছে:
যদি আপনার দর্শনের দিকটি গ্রহটিকে ছেদ করে, তাহলে একটি <LookAt>
উপাদান ব্যবহার করুন, কারণ এটি <Camera>
থেকে নির্দিষ্ট করা কিছুটা সহজ।
<Camera>
এর শিশু উপাদান
<Camera>
উপাদানটি মহাকাশের যে কোনও জায়গায় আইপয়েন্ট স্থাপন করার এবং যে কোনও দিকে ভিউ ঘোরানোর ক্ষমতা দেয়। এখানে এই উপাদানটির জন্য সিনট্যাক্স রয়েছে:
<Camera id="ID"> <longitude>0</longitude> <!-- kml:angle180 --> <latitude>0</latitude> <!-- kml:angle90 --> <altitude>0</altitude> <!-- double --> <heading>0</heading> <!-- kml:angle360 --> <tilt>0</tilt> <!-- kml:anglepos180 --> <roll>0</roll> <!-- kml:angle180 --> <altitudeMode>clampToGround</altitudeMode> <!-- kml:altitudeModeEnum: relativeToGround, clampToGround, or absolute --> <!-- or, gx:altitudeMode can be substituted: clampToSeaFloor, relativeToSeaFloor --> </Camera>
<Camera>
উপাদান নিম্নলিখিত প্রশ্নের উত্তর নির্দিষ্ট করে:
প্রশ্ন | <Camera> স্পেসিফিকেশন |
ক্যামেরাটি মহাকাশে কোথায় অবস্থিত? | <দ্রাঘিমাংশ>, <অক্ষাংশ>, <altitude>, এবং <altitudeMode> দ্বারা নির্দিষ্ট বিন্দুতে ক্যামেরার অবস্থান করুন। সাধারণভাবে, মাটিতে ক্যামেরা রাখা একটি খারাপ পছন্দ। |
ক্যামেরা ভিত্তিক যাতে উত্তর দৃশ্যের শীর্ষে থাকে? | যদি হ্যাঁ, ডিফল্ট <শিরোনাম> মান 0 ব্যবহার করুন। যদি না হয়, কম্পাসের পয়েন্ট অনুসারে ক্যামেরাটিকে >0 থেকে 360° পর্যন্ত ঘোরান। |
ক্যামেরা কি সরাসরি পৃথিবীর দিকে তাকিয়ে আছে? | যদি হ্যাঁ, 0 এর ডিফল্ট <tilt> মান ব্যবহার করুন। না হলে, X অক্ষের চারপাশে ঘূর্ণনের কোণ নির্দিষ্ট করতে ক্যামেরাটিকে 0 থেকে 180° পর্যন্ত ঘোরান। (<tilt> এর জন্য নেতিবাচক মান অনুমোদিত, কিন্তু এর ফলে একটি দৃশ্য উল্টে যায়।) |
ক্যামেরার স্তর কি সেই দৃশ্য দেখে? | যদি হ্যাঁ, 0 এর ডিফল্ট <roll> মান ব্যবহার করুন। দ্রষ্টব্য: <roll> এর মান যখন <Camera> এর চাইল্ড হিসাবে ব্যবহার করা হয় তখন সাধারণত 0 হয়। আপনি −180 এবং +180° এর মধ্যে একটি মান নির্দিষ্ট করতে পারেন, কিন্তু এই ব্যবহার বিরল। |
নিম্নলিখিত চিত্রটি X , Y , এবং Z অক্ষগুলি দেখায়, যা ভার্চুয়াল ক্যামেরার সাথে সংযুক্ত।
- X অক্ষটি ক্যামেরার ডানদিকে নির্দেশ করে এবং একে ডান ভেক্টর বলা হয়।
- Y অক্ষ পর্দার সাপেক্ষে "উপরের" দিক নির্ধারণ করে এবং একে আপ ভেক্টর বলা হয়।
- Z অক্ষটি পর্দার কেন্দ্র থেকে চোখের বিন্দুর দিকে নির্দেশ করে। ক্যামেরা −Z অক্ষের নিচে তাকায়, যাকে ভিউ ভেক্টর বলা হয়।
এখানে একটি <Document>
এর মধ্যে শুরুর দৃষ্টিকোণ হিসাবে একটি <Camera>
সেট আপ করার একটি উদাহরণ রয়েছে:
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Golden Gate tour</name>
<open>1</open>
<Camera>
<longitude>-122.4790</longitude>
<latitude>37.8110</latitude>
<altitude>127</altitude>
<heading>18.0</heading>
<tilt>85</tilt>
<altitudeMode>absolute</altitudeMode>
</Camera> </Document> </kml>
এই দৃষ্টিকোণটি Google Earth-এ যা দেখায় তা এখানে:
AbstractViews মধ্যে সময়
<Camera>
এবং <LookAt>
উভয়ই সময়ের তথ্য ধারণ করতে পারে, যা ঐতিহাসিক চিত্র, সূর্যালোক এবং যেকোনো সময়-ট্যাগযুক্ত বস্তুকে প্রভাবিত করে। <gx:TimeSpan>
এবং <gx:TimeStamp>
AbstractViews-এর মধ্যে ব্যবহার করা হয়, এবং Google এক্সটেনশন নামস্থানের মধ্যে থাকে। আরও তথ্যের জন্য, অনুগ্রহ করে টাইম এবং অ্যানিমেশন অধ্যায়ের অ্যাবস্ট্রাক্ট ভিউস বিভাগটি দেখুন।
উদাহরণ
নিম্নলিখিত উদাহরণগুলি বিভিন্ন <Camera>
ঘূর্ণন চিত্রিত করে।
শিরোনাম
এই উদাহরণটি একটি <Camera>
দেখায় যার শিরোনাম 90 ডিগ্রী (পূর্ব) এবং 90 ডিগ্রী একটি কাত (দিগন্তের দিকে তাকিয়ে)। ক্যামেরাটি 100 মিটার উচ্চতায় স্থাপন করা হয়েছে।
<kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <Placemark>
<name>100m looking east</name>
<Camera>
<longitude>-122.4783</longitude>
<latitude>37.8120</latitude>
<altitude>100</altitude>
<heading>90</heading>
<!-- east -->
<tilt>90</tilt>
<!-- level -->
<altitudeMode>absolute</altitudeMode>
</Camera>
</Placemark> </Document> </kml>
এখানে গুগল আর্থের ফলাফল রয়েছে:
কাত
নিম্নলিখিত উদাহরণটি 90 ডিগ্রির সমান কাত সহ একটি <Camera>
ব্যবহার করে, যা দিগন্তের দিকে তাকিয়ে আছে। এটি <heading>
, <altitude>
, <altitudeMode>
, এবং <roll>
এর জন্য ডিফল্ট মান ব্যবহার করে।
<Camera>
একটি <gx:TimeStamp>
মান ধারণ করে; এটি ঐতিহাসিক চিত্রাবলী এবং সূর্যালোক, সেইসাথে যেকোন সময়-ট্যাগযুক্ত বস্তুর প্রদর্শনকে প্রভাবিত করে। নীচের ছবিতে, সূর্যালোক চালু করা হয়েছে এবং <Camera>
অবস্থানটি দেখছে 3:29pm, UTC 1লা জানুয়ারী, 2009 তারিখে (সকাল 7:30, স্থানীয় সময়)।
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document>
<Placemark>
<name>At ground level</name>
<Camera>
<gx:TimeStamp><
when>2009-01-01T15:29:27Z</when>
</gx:TimeStamp>
<longitude>-122.4783</longitude>
<latitude>37.8120</latitude>
<!-- altitude default is 0 (default altitudeMode is clampToGround) -->
<!-- heading default is 0 (north) -->
<tilt>90</tilt>
<!-- level -->
<!-- roll default is 0 -->
<!-- altitudeMode default is clampToGround -->
</Camera>
</Placemark>
</Document>
</kml>
এই দৃষ্টিকোণটি Google Earth-এ যা দেখায় তা এখানে:
রোল
এই উদাহরণে 45 ডিগ্রির মান সহ একটি <roll>
উপাদান রয়েছে, যার ফলে ক্যামেরাটি বাম দিকে ঘুরতে পারে।
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document>
<Placemark>
<name>Roll left</name>
<Camera>
<gx:TimeStamp><
when>2009-01-01T15:29:27Z</when>
</gx:TimeStamp>
<longitude>-122.4783</longitude>
<latitude>37.8120</latitude>
<altitude>100</altitude>
<heading>90</heading>
<!-- east -->
<tilt>90</tilt>
<!-- level -->
<roll>45</roll>
<altitudeMode>absolute</altitudeMode>
</Camera>
</Placemark>
</Document>
</kml>
রূপান্তর আদেশ
ঘূর্ণনের ক্রম গুরুত্বপূর্ণ। ডিফল্টরূপে, ক্যামেরাটি সরাসরি −Z অক্ষের নিচে পৃথিবীর দিকে তাকাচ্ছে। ঘূর্ণন সঞ্চালিত হওয়ার আগে, ক্যামেরাটিকে Z অক্ষ বরাবর <altitude>
এ অনুবাদ করা হয়। রূপান্তরের ক্রম নিম্নরূপ:
- <altitude> - Z অক্ষ বরাবর <altitude> তে অনুবাদ করুন
- <শিরোনাম> - Z অক্ষের চারপাশে ঘোরান।
- <tilt> - X অক্ষের চারদিকে ঘোরান।
- <roll> - Z অক্ষের চারপাশে ঘোরান (আবার)।
মনে রাখবেন যে প্রতিবার একটি ঘূর্ণন প্রয়োগ করা হয়, ক্যামেরার দুটি অক্ষ তাদের অভিযোজন পরিবর্তন করে।