জিওকোডিং শব্দটি সাধারণত একটি মানচিত্রের একটি অবস্থানে একটি মানব-পাঠযোগ্য ঠিকানা অনুবাদ করাকে বোঝায়। বিপরীতটি করার প্রক্রিয়া, মানচিত্রের একটি অবস্থানকে একটি মানব-পাঠযোগ্য ঠিকানায় অনুবাদ করে, এটি বিপরীত জিওকোডিং নামে পরিচিত।
রিভার্স জিওকোডিং অনুরোধ
প্রয়োজনীয় পরামিতি
-
latlng— অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক নির্দিষ্ট করে যে অবস্থানের জন্য আপনি সবচেয়ে কাছের, মানুষের-পাঠযোগ্য ঠিকানা চান। -
key— আপনার অ্যাপ্লিকেশনের API কী। এই কী কোটা ব্যবস্থাপনার উদ্দেশ্যে আপনার আবেদনকে চিহ্নিত করে। কিভাবে একটি চাবি পেতে শিখুন.
ঐচ্ছিক পরামিতি
এইগুলি হল ঐচ্ছিক পরামিতি যা আপনি একটি বিপরীত জিওকোডিং অনুরোধে অন্তর্ভুক্ত করতে পারেন:
-
language- যে ভাষায় ফলাফল দিতে হবে।- সমর্থিত ভাষার তালিকা দেখুন। Google প্রায়ই সমর্থিত ভাষা আপডেট করে, তাই এই তালিকাটি সম্পূর্ণ নাও হতে পারে।
-
languageসরবরাহ করা না হলে, জিওকোডারAccept-Languageহেডারে উল্লেখিত পছন্দের ভাষা ব্যবহার করার চেষ্টা করে, অথবা যে ডোমেনের স্থানীয় ভাষা থেকে অনুরোধ পাঠানো হয়েছে। - জিওকোডার একটি রাস্তার ঠিকানা প্রদান করার জন্য যথাসাধ্য চেষ্টা করে যা ব্যবহারকারী এবং স্থানীয় উভয়ের জন্যই পাঠযোগ্য। সেই লক্ষ্য অর্জনের জন্য, এটি স্থানীয় ভাষায় রাস্তার ঠিকানা ফেরত দেয়, পছন্দের ভাষা পর্যবেক্ষণ করে প্রয়োজনে ব্যবহারকারীর দ্বারা পাঠযোগ্য একটি স্ক্রিপ্টে প্রতিলিপি করা হয়। অন্য সব ঠিকানা পছন্দের ভাষায় ফেরত দেওয়া হয়। ঠিকানার উপাদানগুলি একই ভাষায় ফেরত দেওয়া হয়, যা প্রথম উপাদান থেকে বেছে নেওয়া হয়।
- পছন্দের ভাষায় নাম না পাওয়া গেলে, জিওকোডার সবচেয়ে কাছের মিল ব্যবহার করে।
-
region— অঞ্চল কোড, একটি ccTLD ("টপ-লেভেল ডোমেন") দুই-অক্ষরের মান হিসাবে নির্দিষ্ট করা হয়েছে। প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকেও প্রভাবিত করতে পারে। -
result_type— এক বা একাধিক অ্যাড্রেস টাইপের একটি ফিল্টার, একটি পাইপ (|) দ্বারা পৃথক করা হয়েছে। যদি প্যারামিটারে একাধিক অ্যাড্রেস টাইপ থাকে, তাহলে এপিআই সমস্ত অ্যাড্রেস রিটার্ন করে যা যেকোনো প্রকারের সাথে মেলে। প্রক্রিয়াকরণ সম্পর্কে একটি নোট:result_typeপরামিতি নির্দিষ্ট ঠিকানা প্রকার(গুলি) অনুসন্ধানকে সীমাবদ্ধ করে না। বরং,result_typeএকটি পোস্ট-সার্চ ফিল্টার হিসাবে কাজ করে: API নির্দিষ্টlatlngজন্য সমস্ত ফলাফল নিয়ে আসে, তারপর সেই ফলাফলগুলি বাতিল করে যেগুলি নির্দিষ্ট ঠিকানা প্রকার(গুলি) এর সাথে মেলে না৷ নিম্নলিখিত মানগুলি সমর্থিত:ঠিকানার ধরন এবং ঠিকানা উপাদান প্রকার
প্রতিক্রিয়াতে
GeocodeResultবডিতেtypesঅ্যারে ঠিকানার ধরন নির্দেশ করে। ঠিকানার ধরনগুলির উদাহরণগুলির মধ্যে একটি রাস্তার ঠিকানা, একটি দেশ বা একটি রাজনৈতিক সত্তা অন্তর্ভুক্ত।GeocodeResultবডিরAddressComponentsক্ষেত্রেরtypesঅ্যারে ঠিকানার প্রতিটি অংশের ধরন নির্দেশ করে। উদাহরণগুলির মধ্যে রয়েছে রাস্তার নম্বর বা দেশ৷ঠিকানার একাধিক প্রকার থাকতে পারে। প্রকারগুলি 'ট্যাগ' হিসাবে বিবেচিত হতে পারে। উদাহরণস্বরূপ, অনেক শহর
politicalএবংlocalityপ্রকারের সাথে ট্যাগ করা হয়।নিম্নলিখিত প্রকারগুলি সমর্থিত এবং ঠিকানার ধরন এবং ঠিকানা উপাদান টাইপ অ্যারে উভয় ক্ষেত্রেই ফেরত দেওয়া হয়:
ঠিকানার ধরন বর্ণনা street_addressএকটি সুনির্দিষ্ট রাস্তার ঠিকানা। routeএকটি নামযুক্ত রুট (যেমন "US 101")। intersectionএকটি প্রধান চৌরাস্তা, সাধারণত দুটি প্রধান রাস্তা। politicalএকটি রাজনৈতিক সত্তা। সাধারণত, এই ধরনের কিছু বেসামরিক প্রশাসনের বহুভুজ নির্দেশ করে। countryজাতীয় রাজনৈতিক সত্তা, এবং এটি সাধারণত জিওকোডার দ্বারা প্রত্যাবর্তিত সর্বোচ্চ ক্রম প্রকার। administrative_area_level_1দেশের স্তরের নীচে একটি প্রথম-ক্রম নাগরিক সত্তা। মার্কিন যুক্তরাষ্ট্রের মধ্যে, এই প্রশাসনিক স্তরগুলি হল রাজ্য। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। বেশিরভাগ ক্ষেত্রে, administrative_area_level_1সংক্ষিপ্ত নামগুলি ISO 3166-2 উপবিভাগ এবং অন্যান্য ব্যাপকভাবে প্রচারিত তালিকাগুলির সাথে ঘনিষ্ঠভাবে মিলবে; তবে এটি নিশ্চিত নয় কারণ আমাদের জিওকোডিং ফলাফল বিভিন্ন সংকেত এবং অবস্থান ডেটার উপর ভিত্তি করে।administrative_area_level_2দেশের স্তরের নীচে একটি দ্বিতীয়-ক্রম নাগরিক সত্তা। মার্কিন যুক্তরাষ্ট্রের মধ্যে, এই প্রশাসনিক স্তরগুলি হল কাউন্টি। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_3দেশের স্তরের নীচে একটি তৃতীয়-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_4দেশের স্তরের নীচে একটি চতুর্থ ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_5দেশের স্তরের নীচে একটি পঞ্চম-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_6দেশের স্তরের নীচে একটি ষষ্ঠ-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_7দেশের স্তরের নীচে একটি সপ্তম-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। colloquial_areaসত্তার জন্য একটি সাধারণভাবে ব্যবহৃত বিকল্প নাম। localityএকটি নিগমিত শহর বা শহরের রাজনৈতিক সত্তা। sublocalityএকটি এলাকার নীচে একটি প্রথম-ক্রম নাগরিক সত্তা। কিছু অবস্থানের জন্য অতিরিক্ত প্রকারের একটি পেতে পারে: sublocality_level_1থেকেsublocality_level_5। প্রতিটি উপ-স্থানীয় স্তর একটি নাগরিক সত্তা। বড় সংখ্যা একটি ছোট ভৌগলিক এলাকা নির্দেশ করে।neighborhoodএকটি নাম করা পাড়া। premiseএকটি নামযুক্ত অবস্থান, সাধারণত একটি বিল্ডিং বা একটি সাধারণ নাম সহ বিল্ডিংগুলির সংগ্রহ৷ subpremiseপ্রিমাইজ লেভেলের নীচে একটি ঠিকানাযোগ্য সত্তা, যেমন একটি অ্যাপার্টমেন্ট, ইউনিট বা স্যুট। plus_codeএকটি এনকোড করা অবস্থানের রেফারেন্স, অক্ষাংশ এবং দ্রাঘিমাংশ থেকে প্রাপ্ত। প্লাস কোডগুলি এমন জায়গায় রাস্তার ঠিকানাগুলির প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে যেখানে সেগুলি বিদ্যমান নেই (যেখানে বিল্ডিংগুলি সংখ্যাযুক্ত নয় বা রাস্তার নাম দেওয়া হয়নি)। বিস্তারিত জানার জন্য https://plus.codes দেখুন। postal_codeএকটি পোস্টাল কোড যা দেশের মধ্যে পোস্টাল মেল ঠিকানার জন্য ব্যবহৃত হয়। natural_featureএকটি বিশিষ্ট প্রাকৃতিক বৈশিষ্ট্য। airportএকটি বিমানবন্দর। parkএকটি নাম করা পার্ক। point_of_interestআগ্রহের একটি নামকৃত পয়েন্ট। সাধারণত, এই "POI"গুলি হল বিশিষ্ট স্থানীয় সত্ত্বা যা "এম্পায়ার স্টেট বিল্ডিং" বা "আইফেল টাওয়ার" এর মতো অন্য বিভাগে সহজে ফিট করে না। প্রকারের একটি খালি তালিকা নির্দেশ করে যে নির্দিষ্ট ঠিকানা উপাদানের জন্য কোন পরিচিত প্রকার নেই (উদাহরণস্বরূপ, ফ্রান্সে লিউ-ডিট)।
-
location_type— এক বা একাধিক অবস্থানের ধরনগুলির একটি ফিল্টার, একটি পাইপ (|) দ্বারা পৃথক করা হয়েছে। যদি প্যারামিটারে একাধিক অবস্থানের ধরন থাকে, তাহলে API সমস্ত প্রকারের সাথে মেলে এমন সমস্ত ঠিকানা প্রদান করে। প্রক্রিয়াকরণ সম্পর্কে একটি নোট:location_typeপ্যারামিটারটি নির্দিষ্ট অবস্থানের প্রকারের মধ্যে অনুসন্ধানকে সীমাবদ্ধ করে না। বরং,location_typeএকটি পোস্ট-অনুসন্ধান ফিল্টার হিসাবে কাজ করে: API নির্দিষ্টlatlngজন্য সমস্ত ফলাফল নিয়ে আসে, তারপর সেই ফলাফলগুলি বাতিল করে যা নির্দিষ্ট অবস্থানের প্রকারের সাথে মেলে না। নিম্নলিখিত মানগুলি সমর্থিত:-
"ROOFTOP"শুধুমাত্র সেই ঠিকানাগুলি প্রদান করে যেগুলির জন্য Google-এর কাছে রাস্তার ঠিকানার নির্ভুলতা পর্যন্ত সঠিক অবস্থানের তথ্য রয়েছে৷ -
"RANGE_INTERPOLATED"শুধুমাত্র সেই ঠিকানাগুলি প্রদান করে যেগুলি দুটি সুনির্দিষ্ট বিন্দুর (যেমন ছেদ) মধ্যে অন্তর্নিহিত একটি আনুমানিকতা (সাধারণত একটি রাস্তায়) প্রতিফলিত করে। একটি ইন্টারপোলেটেড পরিসর সাধারণত নির্দেশ করে যে রাস্তার ঠিকানার জন্য ছাদের জিওকোডগুলি অনুপলব্ধ৷ -
"GEOMETRIC_CENTER"শুধুমাত্র একটি অবস্থানের জ্যামিতিক কেন্দ্র যেমন একটি পলিলাইন (উদাহরণস্বরূপ, একটি রাস্তা) বা বহুভুজ (অঞ্চল) প্রদান করে। -
"APPROXIMATE"শুধুমাত্র সেই ঠিকানাগুলি প্রদান করে যা আনুমানিক হিসাবে চিহ্নিত করা হয়।
-
-
extra_computations— প্রতিক্রিয়াতে নিম্নলিখিত অতিরিক্ত বৈশিষ্ট্যগুলি নির্দিষ্ট করতে এই প্যারামিটারটি ব্যবহার করুন:-
ADDRESS_DESCRIPTORS— আরো বিস্তারিত জানার জন্য ঠিকানা বর্ণনাকারী দেখুন। -
BUILDING_AND_ENTRANCES— আরও বিশদ বিবরণের জন্য প্রবেশপথ এবং বিল্ডিংয়ের রূপরেখা দেখুন।
extra_computationsপ্যারামিটার অন্তর্ভুক্ত করুন, উদাহরণস্বরূপ:extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES
-
result_type এবং location_type উভয় ফিল্টার উপস্থিত থাকলে API শুধুমাত্র সেই ফলাফল প্রদান করে যা result_type এবং location_type উভয় মানের সাথে মেলে। যদি কোনো ফিল্টার মান গ্রহণযোগ্য না হয়, তাহলে API ZERO_RESULTS প্রদান করে।
বিপরীত জিওকোডিংয়ের উদাহরণ
নিম্নলিখিত ক্যোয়ারীতে ব্রুকলিনের একটি অবস্থানের জন্য অক্ষাংশ/দ্রাঘিমাংশের মান রয়েছে:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
উপরের প্রশ্নটি নিম্নলিখিত ফলাফল প্রদান করে:
{
"results" : [
{
"address_components" : [
{
"long_name" : "277",
"short_name" : "277",
"types" : [ "street_number" ]
},
{
"long_name" : "Bedford Avenue",
"short_name" : "Bedford Ave",
"types" : [ "route" ]
},
{
"long_name" : "Williamsburg",
"short_name" : "Williamsburg",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Kings",
"short_name" : "Kings",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11211",
"short_name" : "11211",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"geometry" : {
"location" : {
"lat" : 40.714232,
"lng" : -73.9612889
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 40.7155809802915,
"lng" : -73.9599399197085
},
"southwest" : {
"lat" : 40.7128830197085,
"lng" : -73.96263788029151
}
}
},
"place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
"types" : [ "street_address" ]
},
... Additional <code>results[]</code> ...
উল্লেখ্য যে বিপরীত জিওকোডার একাধিক ফলাফল প্রদান করেছে। "formatted_address" ফলাফল শুধুমাত্র ডাক ঠিকানা নয়, ভৌগলিকভাবে একটি অবস্থানের নামকরণের যে কোনো উপায়। উদাহরণ স্বরূপ, শিকাগো শহরের একটি পয়েন্ট জিওকোড করার সময়, জিওকোড করা পয়েন্টটিকে রাস্তার ঠিকানা হিসাবে, শহর (শিকাগো), এর রাজ্য (ইলিনয়) বা একটি দেশ (মার্কিন যুক্তরাষ্ট্র) হিসাবে চিহ্নিত করা যেতে পারে। সমস্ত জিওকোডারের "ঠিকানা"। বিপরীত জিওকোডার এই ধরনের যেকোনো একটিকে বৈধ ফলাফল হিসেবে প্রদান করে।
বিপরীত জিওকোডার রাজনৈতিক সত্তা (দেশ, প্রদেশ, শহর এবং পাড়া), রাস্তার ঠিকানা এবং পোস্টাল কোডের সাথে মেলে।
পূর্ববর্তী ক্যোয়ারী দ্বারা প্রত্যাবর্তিত formatted_address মানগুলির সম্পূর্ণ তালিকা নীচে দেখানো হয়েছে৷
{
"plus_code" : {
"compound_code" : "P27Q+MCM New York, NY, USA",
"global_code" : "87G8P27Q+MCM"
},
"results" : [
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "street_address" ]
},
{
"formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "premise" ]
},
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "establishment", "point_of_interest" ]
},
{
"formatted_address" : "291-275 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "route" ]
},
{
"formatted_address" : "P27Q+MC New York, NY, USA",
...
"types" : [ "plus_code" ]
},
{
"formatted_address" : "South Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Brooklyn, NY 11211, USA",
...
"types" : [ "postal_code" ]
},
{
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Kings County, Brooklyn, NY, USA",
...
"types" : [ "administrative_area_level_2", "political" ]
},
{
"formatted_address" : "Brooklyn, NY, USA",
...
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"formatted_address" : "New York, NY, USA",
...
"types" : [ "locality", "political" ]
},
{
"formatted_address" : "New York, USA",
...
"types" : [ "administrative_area_level_1", "political" ]
},
{
"formatted_address" : "United States",
...
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}
এই API সবচেয়ে নির্দিষ্ট রাস্তার ঠিকানা থেকে কম নির্দিষ্ট রাজনৈতিক সত্তা যেমন আশেপাশের, শহর, কাউন্টি এবং রাজ্যগুলিতে বিভিন্ন ধরনের ঠিকানা ফেরত দেয়। আরো সঠিক ঠিকানা সাধারণত সবচেয়ে বিশিষ্ট ফলাফল, যেমন এই ক্ষেত্রে হয়. আপনি যদি একটি নির্দিষ্ট ধরনের ঠিকানার সাথে মেলাতে চান, তাহলে টাইপ অনুসারে ফলাফল সীমাবদ্ধ করার জন্য নীচের বিভাগটি দেখুন। এই কারণে, একে অপরের সাপেক্ষে ফলাফলের অবস্থান পরিবর্তিত হতে পারে।
টাইপ দ্বারা ফিল্টার করা রিভার্স জিওকোডিং
নিম্নলিখিত উদাহরণটি শুধুমাত্র ROOFTOP এর অবস্থানের ধরন এবং street_address একটি ঠিকানার ধরন সহ ফেরত ঠিকানাগুলিকে ফিল্টার করে।
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY
দ্রষ্টব্য: এই ফিল্টারগুলি শুধুমাত্র বিপরীত জিওকোডিংয়ের জন্য বৈধ।
বিপরীত জিওকোডিং প্রতিক্রিয়া
বিপরীত জিওকোডিং প্রতিক্রিয়ার বিন্যাস জিওকোডিং প্রতিক্রিয়ার মতোই। জিওকোডিং প্রতিক্রিয়া দেখুন। নীচে একটি বিপরীত জিওকোডিং প্রতিক্রিয়া সম্ভাব্য স্থিতি কোড আছে.
রিভার্স জিওকোডিং স্ট্যাটাস কোড
জিওকোডিং রেসপন্স অবজেক্টের মধ্যে "status" ফিল্ডে অনুরোধের স্ট্যাটাস থাকে এবং রিভার্স জিওকোডিং কেন কাজ করছে না তা ট্র্যাক করতে সাহায্য করার জন্য ডিবাগিং তথ্য থাকতে পারে। "status" ক্ষেত্রে নিম্নলিখিত মান থাকতে পারে:
-
"OK"নির্দেশ করে যে কোনও ত্রুটি ঘটেনি এবং অন্তত একটি ঠিকানা ফেরত দেওয়া হয়েছে৷ -
"ZERO_RESULTS"ইঙ্গিত করে যে বিপরীত জিওকোডিং সফল হয়েছে কিন্তু কোনো ফলাফল দেয়নি। এটি ঘটতে পারে যদি জিওকোডারটি দূরবর্তী অবস্থানেlatlngপাস করা হয়। -
"OVER_QUERY_LIMIT"নির্দেশ করে যে আপনি আপনার কোটা অতিক্রম করেছেন৷ -
"REQUEST_DENIED"নির্দেশ করে যে অনুরোধটি অস্বীকার করা হয়েছে৷ সম্ভবত কারণ অনুরোধটিতে একটিresult_typeবাlocation_typeপ্যারামিটার রয়েছে কিন্তু একটি API কী অন্তর্ভুক্ত করে না। -
"INVALID_REQUEST"সাধারণত নিম্নলিখিতগুলির একটি নির্দেশ করে:- ক্যোয়ারী (
address,componentsবাlatlng) অনুপস্থিত। - একটি অবৈধ
result_typeবাlocation_typeদেওয়া হয়েছে।
- ক্যোয়ারী (
-
"UNKNOWN_ERROR"নির্দেশ করে যে সার্ভার ত্রুটির কারণে অনুরোধটি প্রক্রিয়া করা যায়নি৷ আপনি আবার চেষ্টা করলে অনুরোধ সফল হতে পারে।
রিভার্স জিওকোডিং প্লাস কোড
জিওকোডিং প্রতিক্রিয়ার মধ্যে plus_code ক্ষেত্রটিতে একটি প্লাস কোড রয়েছে যা জিজ্ঞাসা করা অক্ষাংশ এবং দ্রাঘিমাংশের সর্বোত্তম অনুমান করে। উপরন্তু, বেশিরভাগ ক্ষেত্রে JSON ফলাফল অ্যারেতে একটি plus_code প্রকার এবং একটি প্লাস কোড সম্বলিত ঠিকানা সহ একটি সম্পূর্ণ জিওকোডিং ফলাফল থাকে। ডিকোড করা প্লাস কোড এবং রিকোয়েস্ট পয়েন্টের মধ্যে দূরত্ব 10 মিটারের নিচে নিশ্চিত।