আমি কীভাবে ইনবাউন্ড "অফিসে যাতায়াত" আইসোক্রোন (গন্তব্যে যাওয়া) বনাম আউটবাউন্ড আইসোক্রোন (শুরু করার জায়গা থেকে যাত্রা শুরু করা) গণনা করব?
v1 API-তে ইনবাউন্ড ও আউটবাউন্ড, দুই ধরনের গণনাতেই
travelDirection (travel_direction) প্যারামিটার ব্যবহার করা যায়:
FROM(আউটবাউন্ড): নির্দিষ্ট সময়সীমার মধ্যে উৎস বিন্দু থেকেfromপৌঁছানো যায় এমন এলাকা গণনা করে। এটি ডেলিভারি জোন বা পরিষেবা কভারেজের মতো ব্যবহারের ক্ষেত্রে উপযুক্ত।TO(ইনবাউন্ড): নির্দিষ্ট সময়সীমার মধ্যে যে জায়গা থেকে আপনিtoশুরুর পয়েন্টে যেতে পারবেন সেই এলাকা গণনা করে। এটি অফিসে যাতায়াতের ফিচার বা কোনও সেন্ট্রাল অফিস বা ট্রানজিট হাবের আশেপাশে ক্যাচমেন্ট জোন নির্ধারণ করার মতো অ্যাপ্লিকেশনের জন্য উপযুক্ত।
চারটি ভ্রমণ মোডের (DRIVE, TWO_WHEELER, BICYCLE এবং WALK) মধ্যে পার্থক্য কী?
প্রতিটি মোড নিজস্ব রোড নেটওয়ার্ক অ্যাক্সেস সংক্রান্ত নিয়ম, টার্ন কস্ট ও স্পিড মডেল ব্যবহার করে:
DRIVE: পোস্ট করা বা ফ্রি-ফ্লো স্পিড বা লাইভ ট্রাফিক স্পিড (TRAFFIC_AWARE) ব্যবহার করে গাড়ি চালানোর উপযুক্ত রাস্তা অতিক্রম করে, ৩,৬০০ সেকেন্ড (৬০ মিনিট) পর্যন্ত।TWO_WHEELER: হাই-স্পিড রোডেDRIVE-এর চেয়ে কম মডেল করা স্পিড এবং ঐচ্ছিকTRAFFIC_AWAREরাউটিং সহ মোটরচালিত টু-হুইলারের জন্য অ্যাক্সেসযোগ্য রাস্তা অতিক্রম করে, ৩,৬০০ সেকেন্ড (৬০ মিনিট) পর্যন্ত। এর ফলে, হাই-স্পিড হাইওয়েতেTWO_WHEELERআইসোক্রোনBICYCLE-এর চেয়ে বড় কিন্তুDRIVE-এর চেয়ে ছোট হয়।BICYCLE: রাস্তার ধরন ও ঢাল অনুযায়ী গতি অ্যাডজাস্ট করে (মোটরওয়ে ও ফ্রিওয়ে বাদ দিয়ে) সাইকেল চালানোর উপযুক্ত রাস্তা, সাইকেল চালানোর রাস্তা ও পথে ৭,২০০ সেকেন্ড (১২০ মিনিট) পর্যন্ত সাইকেল চালানো।WALK: ঢালের জন্য অ্যাডজাস্ট করা হাঁটার গতি সহ (একমুখী যানবাহন সংক্রান্ত বিধিনিষেধ উপেক্ষা করে) ফুটপাথ, ট্রেল এবং রাস্তা দিয়ে হেঁটে যাওয়া, সর্বাধিক ৭,২০০ সেকেন্ড (১২০ মিনিট)।
Isochrones API-তে কি ফেরি বা জলপথ পারাপারের সুবিধা অন্তর্ভুক্ত আছে?
না। Isochrones API শুধুমাত্র রাস্তা, ব্রিজ, টানেল ও পাথওয়ে কানেকশন ট্রাভার্স করে। সব ধরনের ভ্রমণের মোড থেকে ফেরি রুট ও জলপথে ট্রানজিট ক্রসিং বাদ দেওয়া হয়েছে। শুধুমাত্র ফেরি দিয়ে কানেক্ট করা দ্বীপ বা উপদ্বীপ মূল ভূখণ্ড থেকে তৈরি করা আইসোক্রোনে অন্তর্ভুক্ত করা হবে না।
কখনও কখনও, বিশেষ করে দীর্ঘ সময়সীমার ক্ষেত্রে, রিটার্ন করা পলিগন ব্লক বা খাঁজকাটা, ধাপযুক্ত প্রান্তের মতো দেখায়। বিবরণের পরিমাণ কেন পরিবর্তিত হয়?
Isochrones API অনুরোধ করা travel_duration এবং travel_mode-এর উপর ভিত্তি করে এর স্পেশিয়াল ক্যালকুলেশন গ্রিডের রেজোলিউশন ডায়নামিকভাবে অ্যাডজাস্ট করে:
- কম সময়সীমা: অত্যন্ত রিফাইন করা, হাই-রেজোলিউশন গ্রিড ব্যবহার করুন কারণ মোট এলাকা ছোট, যার ফলে বিস্তারিত সীমানা পাওয়া যায়।
- দীর্ঘ সময়কাল: গুরুতর লেটেন্সি না ঘটিয়ে দক্ষতার সাথে বিশাল ভৌগোলিক এলাকা কভার করতে আরও মোটা, কম-রেজোলিউশন গ্রিডে ট্রানজিশন করুন।
আপনি যদি সময়সীমা নির্বিশেষে নির্দিষ্ট, সামঞ্জস্যপূর্ণ লেভেলের বিবরণ চান, তাহলে
ঐচ্ছিক polygon_fidelity-কে HIGH, MEDIUM বা LOW-এ সেট করতে পারেন।
পার্ক, লেক বা বড় ইন্ডাস্ট্রিয়াল কমপ্লেক্সের মধ্যে কোনও কোঅর্ডিনেটের জন্য আইসোক্রোনের অনুরোধ করলে, কখনও কখনও "পাওয়া যায়নি" সংক্রান্ত সমস্যা কেন দেখায়?
Isochrones API রাস্তা ও পথ ব্যবহার করে ভ্রমণের সময় গণনা করে। আপনার অনুরোধ করা সোর্স কোঅর্ডিনেট কোনও স্বীকৃত রাস্তায় অবস্থিত না হলে, গণনা শুরু করার আগে API-কে অবশ্যই নিকটতম মানানসই সেগমেন্টে পয়েন্টটি "স্ন্যাপ" করতে হবে।
প্রতিটি ভ্রমণ মোডের সর্বাধিক স্ন্যাপিং দূরত্ব প্রায় ২০০ মিটার বা তার কম।
WALK এবং BICYCLE, DRIVE এবং TWO_WHEELER-এর থেকে কম দূরত্ব ব্যবহার করে এবং
DRIVE এবং TWO_WHEELER শুধুমাত্র পথচারীদের জন্য তৈরি রাস্তা এড়িয়ে যায়।
আপনার অরিজিন কোঅর্ডিনেট যদি এই দূরত্বের চেয়ে বৈধ, মোড-মানানসই রোড সেগমেন্ট থেকে আরও দূরে থাকে, তাহলে স্ন্যাপিং ব্যর্থ হয় এবং API একটি NOT_FOUND
ত্রুটি দেখায়। এই সমস্যার সমাধান করতে, আপনার কোঅর্ডিনেট যাতে কোনও পাবলিক রাস্তা বা পথের কাছাকাছি থাকে তা নিশ্চিত করুন।
হাঁটা বা সাইকেল চালানোর জন্য ট্রাফিক-অ্যাওয়ার রাউটিংয়ের অনুরোধ করার সময় আমি কেন একটি সমস্যার মেসেজ পাই?
DRIVE এবং TWO_WHEELER ভ্রমণ মোডের জন্য লাইভ ট্রাফিক পরিস্থিতি (TRAFFIC_AWARE)
দেখানো হয়। আপনি যদি WALK বা BICYCLE-এর জন্য আইসোক্রোন
অনুরোধ করার চেষ্টা করেন, যেখানে routingPreference-এর ভ্যালু TRAFFIC_AWARE-এ সেট করা আছে, তাহলে API
400 INVALID_ARGUMENT সমস্যার মেসেজ দেখায়।
আমার ম্যাপে GeoJSON রেসপন্স রেন্ডার করার সময়, আকারটি ভুল জায়গায় দেখানো হয়, বিকৃত হয়ে যায় অথবা রেন্ডার করা যায় না। কী কারণে এটি হচ্ছে?
এটি প্রায় সবসময়ই স্থানাঙ্কের ক্রমের অমিলের কারণে হয়।
GeoJSON স্ট্যান্ডার্ড (RFC 7946) অনুযায়ী, Isochrones API [longitude, latitude]-এর ক্রমে
কোঅর্ডিনেট রিটার্ন করে। তবে, অনেক ম্যাপিং SDK এবং কাস্টম
জিওমেট্রি অবজেক্ট [latitude, longitude]-এর ক্রমে স্থানাঙ্ক আশা করে।
আপনার ম্যাপ রেন্ডারিং ভুল হলে, আপনার ম্যাপ SDK কীভাবে GeoJSON ম্যানেজ করে তা চেক করুন:
- Google Maps JavaScript API: আপনি ডেটা লেয়ার
(
map.data.addGeoJson()) ব্যবহার করলে, এই অর্ডার নেটিভভাবে ম্যানেজ করা হয় এবং কোনও অ্যাকশন নেওয়ার প্রয়োজন হয় না। - কাস্টম অবজেক্ট বা অন্যান্য SDK: আপনি যদি ম্যানুয়ালি রেসপন্স পার্স করে
LatLngঅবজেক্টে পরিণত করেন, তাহলে আপনাকে GeoJSON পেলোডে কোঅর্ডিনেটের মাধ্যমে লুপ করতে হবে এবং রেন্ডার করার আগে[lng, lat]ভ্যালু[lat, lng]পেয়ারে ট্রান্সপোজ করতে হবে।
আমার আইসোক্রোন পলিগনের মধ্যে ফাঁপা "গর্ত" কেন আছে এবং আমি কি এর পরিবর্তে একটি সলিড আকৃতি পেতে পারি?
সময়সীমার মধ্যে পৌঁছানো যায় এমন কোনও রাস্তা নেই, এমন এলাকাকে গর্ত হিসেবে দেখানো হয়। এটি সাধারণত বড় বন, জলাশয়, বিমানবন্দর বা ব্যক্তিগত সম্পত্তি সহ অঞ্চলে দেখা যায় যেখানে যানবাহন বা পথচারীরা যেতে পারে না।
এক্সটার্নাল v1 API, হোল অটোমেটিক সরিয়ে দেওয়ার জন্য কোনও প্যারামিটার দেখায় না। আপনার অ্যাপ্লিকেশনের জন্য যদি একটি সলিড বাউন্ডারির প্রয়োজন হয়, যেমন, পয়েন্ট-ইন-পলিগন কন্টেনমেন্ট চেক পারফর্ম করতে, আপনি এগুলি করতে পারেন:
polygon_fidelityপ্যারামিটারকেMEDIUMবাLOW-এ সেট করুন যাতে অ্যালগরিদমকে এইসব ইন্টার্নাল গ্যাপের উপর সাধারণীকরণ ও মার্জ করার জন্য উৎসাহিত করা যায়।- GeoJSON পার্স করতে এবং শুধুমাত্র প্রথম কোঅর্ডিনেট রিং (বাইরের শেল) এক্সট্র্যাক্ট করতে, পরবর্তী যেকোনও ইন্টেরিয়র রিং (গর্ত) বাদ দিয়ে, ক্লায়েন্ট-সাইড GIS লাইব্রেরি (যেমন Turf.js) ব্যবহার করুন।
Should I enable the enable_smoothing option for backend spatial analysis?
না। enable_smoothing প্যারামিটারটি শুধুমাত্র ভিজ্যুয়াল নান্দনিকতার জন্য ডিজাইন করা হয়েছে।
এটি অন্তর্নিহিত গণনা গ্রিডের তীক্ষ্ণ কোণগুলিকে বৃত্তাকার করে তোলে যাতে
ম্যাপে আকৃতিটি অর্গানিক দেখায়।
সুনির্দিষ্ট স্থানিক বিশ্লেষণের জন্য স্মুদিং করার সাজেশন দেওয়া হয় না কারণ এটি ভার্টিসেস পরিবর্তন করে এবং
সীমানা সামান্য সরিয়ে দেয়। ব্যাকএন্ড গণনা, ডেটাবেস কোয়েরি বা পয়েন্ট-ইন-পলিগন টেস্টের জন্য, enable_smoothing-কে false-এ সেট করে রাখুন যাতে আপনি গাণিতিকভাবে সুনির্দিষ্টভাবে গণনা করা সীমানা ব্যবহার করছেন কিনা তা নিশ্চিত করতে পারেন।