একজোড়া স্থানাঙ্ক দেখতে নির্ভুল মনে হয়। ছয় দশমিক স্থান প্রায় দশ সেন্টিমিটার পর্যন্ত নির্ভুল একটি অবস্থান নির্দেশ করে। তাহলে ঠিক সেই স্থানাঙ্কগুলো হাতে পাওয়া একজন ডেলিভারি চালক কেন এত প্রায়ই একটি বিল্ডিংয়ের ভুল পাশে দাঁড়িয়ে থাকেন, হাতে এমন একটি পার্সেল নিয়ে যা তিনি দিতে পারেন না?
উত্তরটি হলো precision আর accuracy এক জিনিস নয়। একটি ছাদ-ভিত্তিক geocode সেন্টিমিটার পর্যন্ত নির্ভুল হতে পারে এবং তবুও ভুল জায়গায় নির্দেশ করতে পারে: যে দরজা দিয়ে আপনি হাঁটেন তার বদলে একটি ছাদের মাঝখানে। একটি আলাদা বাড়ির জন্য সেই ফাঁক কয়েক মিটার এবং কেউ খেয়াল করে না। একটি হাসপাতাল, একটি অ্যাপার্টমেন্ট ব্লক, একটি বিমানবন্দর বা একটি বিতরণ পার্কের জন্য ছাদের পিন ও আসল প্রবেশপথের মধ্যেকার ফাঁকই সময়মতো ড্রপ ও ব্যর্থ ডেলিভারির মধ্যে পার্থক্য গড়ে দিতে পারে।
location data জুড়ে এখনই এই নীরব পরিবর্তনটি ঘটছে। ইন্ডাস্ট্রি "এই বিল্ডিংটি কোথায়" থেকে "আমি আসলে কোথায় যাব" এর দিকে সরে যাচ্ছে। প্রবেশপথ-স্তরের geocoding কী, কেন last-mile টিমগুলো এর পরোয়া করে, এবং একটি API-তে কী খুঁজতে হবে, তা এখানে।
ছাদের পিনের সমস্যা
ক্লাসিক geocoding একটি ঠিকানাকে একটি বিন্দুতে রূপান্তর করে। সেই বিন্দুটি সাধারণত একটি বিল্ডিং আউটলাইনের কেন্দ্রবিন্দু বা রাস্তা বরাবর ইন্টারপোলেট করা একটি অবস্থান। দুটোই যুক্তিসঙ্গত গড়, এবং দুটোই একটি বিল্ডিং সম্পর্কে একক সবচেয়ে গুরুত্বপূর্ণ অপারেশনাল তথ্যটি উপেক্ষা করে: আপনি কোথায় ভেতরে ঢোকেন।
কয়েকটি প্রতিদিনের ক্ষেত্র বিবেচনা করুন:
- একটি গুদাম যার অফিস প্রবেশপথ সামনে এবং goods-in dock পেছনে, একটি আলাদা সার্ভিস রোড দিয়ে পৌঁছানো যায়।
- একটি অ্যাপার্টমেন্ট ব্লক যেখানে ঠিকানাযুক্ত প্রবেশপথটি একটি উঠানের দিকে মুখ করে আছে, কেন্দ্রবিন্দু যে রাস্তায় snap করে সেটির দিকে নয়।
- একটি ক্যাম্পাস বা শপিং সেন্টার যেখানে ছাদের বিন্দুটি একটি ৩০০-মিটার-চওড়া কমপ্লেক্সের মাঝখানে একটি ছাদে গিয়ে পড়ে।
প্রতিটি ক্ষেত্রে ছাদের পিন নির্ভুল এবং ভুল। এতে রাউট করা একজন চালক বিল্ডিংয়ের কাছে পৌঁছান, তারপর আসল দরজা খুঁজতে দুই থেকে পাঁচ মিনিট নষ্ট করেন। একটি ১২০-স্টপের রুট জুড়ে এটিকে গুণ করুন, আর ছাদের পিন নীরবে একটি ঘণ্টা খরচ করিয়ে ফেলেছে। আরও খারাপ, যখন প্রবেশপথে পৌঁছানো সত্যিই কঠিন, তখন স্টপটি ব্যর্থ বলে চিহ্নিত হয় এবং পার্সেলটি ডিপোতে ফিরে যায়।
প্রবেশপথ-স্তরের geocoding কী ফিরিয়ে দেয়
প্রবেশপথ-স্তরের geocoding একটি আরও সমৃদ্ধ প্রশ্নের উত্তর দেয়। একটি বিন্দুর বদলে, একটি নির্ভুল রেসপন্সে অন্তর্ভুক্ত থাকতে পারে:
- display point: একটি ম্যাপে কোথায় একটি মার্কার বসাতে হবে।
- এক বা একাধিক প্রবেশপথ বিন্দু: বিল্ডিংয়ের ট্যাগ করা দরজা, কখনও কখনও প্রধান ও সার্ভিস প্রবেশপথে বিভক্ত।
- একটি navigation point: চালানযোগ্য রাস্তা নেটওয়ার্কে এমন একটি অবস্থান যেখানে সেই প্রবেশপথে পৌঁছাতে একটি গাড়ি থামা উচিত।
- বিল্ডিং আউটলাইন: ফুটপ্রিন্ট পলিগন, যাতে আপনি বিল্ডিংয়ের আকৃতি দেখাতে এবং এর আকার সম্পর্কে যুক্তি করতে পারেন।
navigation point-ই অপারেশনে পরিবর্তন আনে। দরজায় রাউট করা যথেষ্ট নয় যদি দরজাটি একটি পথচারী এলাকায় থাকে; আপনি চান কাছের সেই বিন্দু যেখানে একটি ভ্যান আসলে থামতে পারে। একটি ভালো geocoder প্রবেশপথ ও আশপাশের রাস্তার geometry থেকে সেই রাস্তার পাশের বিন্দুটি বের করে, যাতে চালককে এমন একটি জায়গায় পাঠানো হয় যেখানে তিনি পার্ক করে হেঁটে ভেতরে যেতে পারেন।
কেন এটি ডেলিভারির বাইরেও গুরুত্বপূর্ণ
last-mile ডেলিভারি স্পষ্ট ক্ষেত্র, কিন্তু প্রবেশপথের নির্ভুলতা সেখানেই দেখা যায় যেখানে কাউকে শারীরিকভাবে পৌঁছাতে হয়:
- ফিল্ড সার্ভিস ও হোম হেলথকেয়ার: একটি আঁটসাঁট সময়সূচি নিয়ে একজন টেকনিশিয়ান বা নার্স একটি বিল্ডিংয়ের চারপাশে ঘোরার সামর্থ্য রাখেন না।
- রাইড-হেইলিং ও মোবিলিটি: বড় ভেন্যুতে পিকআপ অনেক ভালো কাজ করে যখন অ্যাপ গাড়িটিকে বিল্ডিংয়ের মাঝখানের বদলে একটি নামকরণ করা প্রবেশপথে পাঠায়।
- অ্যাক্সেসিবিলিটি: একজন হুইলচেয়ার ব্যবহারকারীকে একটি ধাপমুক্ত প্রবেশপথে রাউট করা তখনই সম্ভব যদি ডেটা আদৌ প্রবেশপথগুলো আলাদা করে।
- জরুরি ও লজিস্টিকস পরিকল্পনা: বিল্ডিং আউটলাইন ও অ্যাক্সেস পয়েন্ট জানা নিরাপদ, দ্রুততর অন-সাইট সিদ্ধান্তকে সমর্থন করে।
এর প্রতিটিতেই ছাদের পিনের মূল্য মিনিট ও হতাশায় পরিশোধ করা হয়, দিনে হাজার হাজার বার পুনরাবৃত্ত।
ডেটা কোথা থেকে আসে
প্রবেশপথ ও আউটলাইন ডেটা কোনো জাদু নয়, এবং এটি একটি ভেন্ডরের ভেতরে আটকে নেই। OpenStreetMap অবদানকারীরা বিশ্বের বিল্ডিংগুলোর একটি বিশাল ও ক্রমবর্ধমান অংশে বিল্ডিং ফুটপ্রিন্ট ম্যাপ করেছেন এবং পৃথক প্রবেশপথ ট্যাগ করেছেন, প্রধান দরজা, সার্ভিস দরজা ও অ্যাক্সেস পয়েন্ট চিহ্নিত করে। যেহেতু ম্যাপটি উন্মুক্ত, এর উপর তৈরি একটি geocoding সার্ভিস সেই কাঠামো সরাসরি ফিরিয়ে দিতে পারে: আউটলাইন, প্রবেশপথ, এবং সেগুলো থেকে উদ্ভূত একটি navigation point।
কভারেজ অসমান, যেমন মানুষের সম্পাদিত একটি ম্যাপ থেকে আপনি আশা করবেন। এটি শহরে এবং বড় পাবলিক বিল্ডিংয়ের আশপাশে সবচেয়ে ঘন, এবং ম্যাপ সংশোধিত ও প্রসারিত হওয়ার সঙ্গে প্রতিদিন উন্নত হয়। ব্যবহারিক উপসংহার হলো precision-কে একটি স্পেকট্রাম হিসেবে দেখা: একটি ভালো API আপনাকে জানায় এটি কতটা নিশ্চিত, যাতে শুধু একটি ছাদের বিন্দু থাকলে আপনার রাউটিং লজিক সুন্দরভাবে fallback করতে পারে।
একটি geocoding API-তে কী খুঁজবেন
যদি প্রবেশপথ-স্তরের নির্ভুলতা আপনার পণ্যের জন্য গুরুত্বপূর্ণ হয়, তাহলে একটি geocoding API-কে শুধু এর hit rate-এর চেয়ে বেশি কিছু দিয়ে মূল্যায়ন করুন:
- কাঠামোগত geometry, শুধু lat ও lon নয়। রেসপন্স কি একটি প্রবেশপথ বা navigation point এবং একটি বিল্ডিং আউটলাইন বহন করে, নাকি শুধু একটি একক স্থানাঙ্ক?
- একটি precision বা match-type ফিল্ড। আপনার জানা দরকার একটি ফলাফল ছাদ, ইন্টারপোলেটেড নাকি প্রবেশপথ-মানের, যাতে আপনার কোড প্রতিক্রিয়া জানাতে পারে।
- একটি confidence score। সুন্দর fallback নির্ভর করে এটি জানার উপর যে নির্ভুল উত্তরটি কখন পাওয়া যাচ্ছে না।
- সৎ কভারেজ। অভিন্ন বৈশ্বিক নির্ভুলতা ধরে নেওয়ার বদলে জিজ্ঞেস করুন ডেটা কোথায় শক্তিশালী এবং এটি কীভাবে রক্ষণাবেক্ষণ করা হয়।
- ডেটা রেসিডেন্সি। আপনি যদি গ্রাহকদের ঠিকানা geocode করেন, সেই প্রক্রিয়াকরণ কোথায় ঘটে তা শুধু একটি প্রযুক্তিগত নয়, একটি কমপ্লায়েন্স প্রশ্ন।
শেষ পয়েন্টটি সহজেই উপেক্ষা করা যায়। একটি ঠিকানা ব্যক্তিগত ডেটা। ইউরোপীয় গ্রাহকদের ঠিকানা EU-এর বাইরে geocode করার জন্য পাঠানো একটি রাউটিং সিদ্ধান্তকে একটি ডেটা-স্থানান্তর সিদ্ধান্তে পরিণত করে।
MapAtlas-এর পদ্ধতি
MapAtlas Geocoding API OpenStreetMap-এর উপর তৈরি, তাই উন্মুক্ত ম্যাপ যেখানে সরবরাহ করে সেখানে এটি বিল্ডিং আউটলাইন ও প্রবেশপথ-উদ্ভূত navigation point ফিরিয়ে দিতে পারে, সঙ্গে একটি স্পষ্ট precision সংকেত যার উপর আপনি রাউট করতে পারেন। এটি EU-হোস্টেড অবকাঠামোতে চলে, EU-এর বাইরে কোনো ব্যক্তিগত ডেটা স্থানান্তর ছাড়াই, যার মানে আপনি ইউরোপীয় ঠিকানার জন্য প্রবেশপথ-স্তরের নির্ভুলতা অনুসরণ করতে পারেন GDPR কমপ্লায়েন্স বিসর্জন না দিয়েই।
ছাদের পিনের একটি ভালো সময় গেছে। ম্যাপ যখন দেখার জন্য ছিল, পৌঁছানোর জন্য নয়, তখন এটিই ছিল সঠিক বিমূর্তায়ন। এখন যেহেতু একটি স্থানাঙ্ক একজন চালক, একজন আরোহী বা একটি রোবটের কাছে একটি নির্দেশনা, প্রশ্নটি "এই বিল্ডিংটি কোথায়" থেকে "আমি আসলে কোথায় যাব" তে বদলে গেছে। Geocoding অবশেষে তার সঙ্গে তাল মিলিয়ে নিচ্ছে।
ছাদের বদলে দরজায় রাউট করতে প্রস্তুত? MapAtlas Geocoding API অন্বেষণ করুন অথবা দেখুন কীভাবে address validation প্রথমে ইনপুট পরিষ্কার করে।
সাধারণ জিজ্ঞাসা
বিল্ডিং-প্রবেশপথ geocoding কী?
বিল্ডিং-প্রবেশপথ geocoding সেই দরজার স্থানাঙ্ক ফিরিয়ে দেয় যেটি দিয়ে একজন মানুষ আসলে বিল্ডিংয়ে ঢোকেন, সঙ্গে রাস্তার উপর একটি navigation point যেখানে একটি গাড়ি থামা উচিত, বিল্ডিংয়ের ছাদ বা কেন্দ্রবিন্দুতে একটিমাত্র পিনের বদলে। হাসপাতাল, ক্যাম্পাস বা শপিং সেন্টারের মতো বড় কমপ্লেক্সের ক্ষেত্রে প্রবেশপথ ছাদের বিন্দু থেকে কয়েক দশক বা কয়েকশ মিটার দূরে থাকতে পারে, আর এই ফাঁকটিই ব্যর্থ ডেলিভারি ও ভুল ড্রপ-অফের কারণ হয়।
last-mile ডেলিভারির জন্য ছাদের পিন কেন ব্যর্থ হয়?
একটি ছাদ বা কেন্দ্রবিন্দুর পিন একটি বিল্ডিং আউটলাইনের মাঝখানে চিহ্নিত করে, ভেতরে ঢোকার পথ নয়। একটি আলাদা বাড়ির জন্য এই পার্থক্য সামান্য, কিন্তু গুদাম, অ্যাপার্টমেন্ট ব্লক, বিমানবন্দর ও ক্যাম্পাসের ক্ষেত্রে আসল প্রবেশপথ বিল্ডিংয়ের উল্টো দিকে বা একটি সার্ভিস রোডের শেষে থাকতে পারে। কেন্দ্রবিন্দুতে রাউট করা একজন চালক বিল্ডিংয়ের কাছে পৌঁছান কিন্তু দরজায় নয়, প্রবেশপথ খুঁজতে মিনিট নষ্ট করেন, এবং কখনও কখনও স্টপটিকে ব্যর্থ বলে চিহ্নিত করেন।
প্রবেশপথ ও বিল্ডিং ডেটা কোথা থেকে আসে?
OpenStreetMap অবদানকারীরা বিশ্বজুড়ে লক্ষ লক্ষ বিল্ডিংয়ের আউটলাইন ম্যাপ করেন এবং পৃথক প্রবেশপথ, যার মধ্যে প্রধান ও সার্ভিস দরজাও আছে, ট্যাগ করেন। OpenStreetMap-এর উপর তৈরি একটি geocoding API বিল্ডিং আউটলাইন, ট্যাগ করা প্রবেশপথ এবং সেগুলো থেকে উদ্ভূত একটি রাস্তার পাশের navigation point ফিরিয়ে দিতে পারে। কভারেজ ঘন শহুরে এলাকায় সবচেয়ে শক্তিশালী এবং উন্মুক্ত ম্যাপ সম্পাদিত হওয়ার সঙ্গে সঙ্গে ক্রমাগত উন্নত হয়।
একটি geocoding API থেকে আমি কীভাবে প্রবেশপথ-স্তরের নির্ভুলতা পাব?
এমন একটি geocoding API ব্যবহার করুন যা একটি precision বা match-type ফিল্ড প্রকাশ করে এবং শুধু একটি lat ও lon নয়, কাঠামোগত geometry ফিরিয়ে দেয়। দেখে নিন রেসপন্সে একটি প্রবেশপথ বা navigation point, একটি বিল্ডিং আউটলাইন এবং একটি confidence score আছে কিনা, তারপর display point-এর বদলে navigation point-এ আপনার গাড়িকে রাউট করুন। MapAtlas Geocoding API OpenStreetMap-এর উপর তৈরি এবং EU-হোস্টেড, তাই আপনি EU-এর বাইরে ব্যক্তিগত ডেটা স্থানান্তর না করেই নির্ভুল ইউরোপীয় ঠিকানার ডেটা পান।

