সুচিপত্র:

কিভাবে OpenStreetMap ব্যবহার করে কাস্টম স্টাইলাইজড ম্যাপ তৈরি করবেন: 7 টি ধাপ (ছবি সহ)
কিভাবে OpenStreetMap ব্যবহার করে কাস্টম স্টাইলাইজড ম্যাপ তৈরি করবেন: 7 টি ধাপ (ছবি সহ)

ভিডিও: কিভাবে OpenStreetMap ব্যবহার করে কাস্টম স্টাইলাইজড ম্যাপ তৈরি করবেন: 7 টি ধাপ (ছবি সহ)

ভিডিও: কিভাবে OpenStreetMap ব্যবহার করে কাস্টম স্টাইলাইজড ম্যাপ তৈরি করবেন: 7 টি ধাপ (ছবি সহ)
ভিডিও: Zero to Hero ControlNet Tutorial: Stable Diffusion Web UI Extension | Complete Feature Guide 2024, জুলাই
Anonim
কিভাবে OpenStreetMap ব্যবহার করে কাস্টম স্টাইলাইজড ম্যাপ তৈরি করবেন
কিভাবে OpenStreetMap ব্যবহার করে কাস্টম স্টাইলাইজড ম্যাপ তৈরি করবেন

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

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

এই প্রকল্পের পিছনে আমার প্রেরণা কি?

সত্যি সত্যি, আমি এই প্রকল্পটি শুরু করেছি কারণ আমি ভেবেছিলাম এটি করতে মজা হবে। এই ধারণাটি গত এক বছর ধরে আমার মনের মধ্যে ঘুরপাক খাচ্ছে এবং অবশেষে আমি এটিকে কার্যকর করার জন্য প্রয়োজনীয় সময় নিয়েছি। কিছু মৌলিক স্ক্রিপ্টিং এর প্রোটোটাইপিংয়ের একদিন পর, আমি অত্যন্ত আশাব্যঞ্জক ফলাফল তৈরি করতে সক্ষম হয়েছিলাম - এত আশাব্যঞ্জক যে আমি জানতাম যে আমার স্ক্রিপ্টগুলিকে আনুষ্ঠানিকভাবে তৈরি করতে হবে যাতে অন্যরা সহজেই তাদের নিজস্ব সৃষ্টি করতে পারে।

এই নির্দেশযোগ্য লেখার জন্য আমার অনুপ্রেরণা এই কারণে যে আমি কীভাবে আপনার নিজস্ব স্টাইলাইজড মানচিত্রগুলি স্ক্র্যাচ থেকে তৈরি করতে পারি সে সম্পর্কে খুব কম তথ্য পেয়েছি। আমি যা শিখেছি তা সম্প্রদায়ের সাথে শেয়ার করার আশা করছি।

সম্পদ/লিঙ্ক:

  • OpenStreetMap
  • ওপেন স্ট্রিটম্যাপ আইনগত
  • Github সংগ্রহস্থল

সরবরাহ

  • একটি পাইথন বিতরণ (আমি অ্যানাকোন্ডা এবং পাইথন 3.6 ব্যবহার করেছি)
  • PyQt5 (GUI নির্ভরতার জন্য)

ধাপ 1: প্রক্রিয়া I সংজ্ঞায়িত করা: OSM ফাইল ডাউনলোড করা

প্রক্রিয়া I সংজ্ঞায়িত করা: OSM ফাইল ডাউনলোড করা
প্রক্রিয়া I সংজ্ঞায়িত করা: OSM ফাইল ডাউনলোড করা

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

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

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

নোট #1: যদি আপনার নির্বাচিত অঞ্চলে খুব বেশি ডেটা থাকে, আপনি একটি ত্রুটি পাবেন যে আপনি অনেকগুলি নোড নির্বাচন করেছেন। যদি আপনার সাথে এটি ঘটে, আপনার বড় ফাইলটি ডাউনলোড করতে "ওভারপাস API" বোতামে ক্লিক করুন।

নোট #2: যদি আপনার ডাউনলোড করা OSM ফাইলটি 30MB এর চেয়ে বড় হয়, আমি যে পাইথন প্রোগ্রামটি লিখেছি তা উল্লেখযোগ্যভাবে ধীর হবে। আপনি যদি একটি বড় অঞ্চল ব্যবহার করার জন্য দৃ determined়প্রতিজ্ঞ হন, তাহলে আপনি যে অতিরিক্ত তথ্য আঁকতে চান না তা ফেলে দেওয়ার জন্য একটি স্ক্রিপ্ট লেখার কথা বিবেচনা করুন।

ধাপ 2: প্রক্রিয়া II সংজ্ঞায়িত করা: ডেটা বোঝা

প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা
প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা
প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা
প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা
প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা
প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা
প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা
প্রসেস II সংজ্ঞায়িত করা: ডেটা বোঝা

"আমার কাছে তথ্য আছে … এখন কি?"

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

আপনি ফাইলটি স্ক্রোল করার সময়, আপনি দেখতে পাবেন তিনটি ডেটা উপাদান জুড়ে ব্যবহৃত:

  1. নোড
  2. উপায়
  3. সম্পর্ক

সবচেয়ে মৌলিক তথ্য উপাদান, একটি নোডের কেবল একটি অনন্য শনাক্তকারী, অক্ষাংশ এবং দ্রাঘিমাংশ এর সাথে যুক্ত থাকে। অবশ্যই, অতিরিক্ত মেটাডেটা আছে, কিন্তু আমরা নিরাপদে এটি বাতিল করতে পারি।

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

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

আপনি OSM উইকি থেকে এই ডেটা উপাদানগুলি সম্পর্কে আরও পড়তে পারেন:

  • নোড
  • উপায়
  • সম্পর্ক

ধাপ 3: প্রক্রিয়া তৃতীয় সংজ্ঞায়িত করা: ডেটা হজম করা

প্রক্রিয়া সংজ্ঞায়িত করা III: ডেটা হজম করা
প্রক্রিয়া সংজ্ঞায়িত করা III: ডেটা হজম করা

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

Xml প্যাকেজটি ডিফল্টরূপে বেশিরভাগ স্ট্যান্ডার্ড পাইথন ডিস্ট্রিবিউশনের সাথে অন্তর্ভুক্ত। প্রথম ছবিতে দেখানো হিসাবে আমরা খুব সহজেই আমাদের OSM ফাইলটি বিশ্লেষণ করতে এই প্যাকেজটি ব্যবহার করব। লুপের জন্য একক, আপনি প্রতিটি নির্দিষ্ট ডেটা এলিমেন্টের জন্য OSM ডেটা হ্যান্ডলিং প্রক্রিয়া করতে পারেন।

ছবির চূড়ান্ত লাইনে, আপনি লক্ষ্য করবেন আমি 'সীমানা' ট্যাগটি পরীক্ষা করছি। স্ক্রিনে অক্ষাংশ এবং দ্রাঘিমাংশের মানগুলি পিক্সেলে অনুবাদ করার ক্ষেত্রে এই পদক্ষেপটি অত্যন্ত গুরুত্বপূর্ণ। আপনি OSM ফাইল লোড করার সময় আমি এই রূপান্তরটি চালানোর জন্য সুপারিশ করি, কারণ ডেটার ভর রূপান্তর প্রক্রিয়া নিবিড়।

অক্ষাংশ এবং দ্রাঘিমাংশকে স্ক্রিন কোঅর্ডিনেটে রূপান্তর করার কথা বলছি, এখানে আমার লেখা গণনা ফাংশনের একটি লিঙ্ক রয়েছে। অক্ষাংশকে স্ক্রিন স্থানাঙ্ক রূপান্তর করার ক্ষেত্রে আপনি সম্ভবত কিছুটা অদ্ভুত কিছু লক্ষ্য করবেন। দ্রাঘিমাংশের তুলনায় একটি অতিরিক্ত পদক্ষেপ জড়িত! এটি দেখা যাচ্ছে, ওএসএম ডেটা সিউডো-মার্কেটর প্রক্ষেপণ পদ্ধতি ব্যবহার করে মডেল করা হয়েছে। সৌভাগ্যবশত, ওএসএম এর এখানে এই বিষয়ে চমৎকার ডকুমেন্টেশন রয়েছে এবং তারা উল্লেখযোগ্য সংখ্যক ভাষার জন্য অক্ষাংশ রূপান্তর ফাংশন প্রদান করে। অসাধারণ!

দ্রষ্টব্য: আমার কোডে, স্ক্রিন কোঅর্ডিনেট (0, 0) হল স্ক্রিনের উপরের বাম দিকের কোণ।

ধাপ 4: পাইথন ম্যাপ স্টাইলাইজার বাস্তবায়ন

পাইথন ম্যাপ স্টাইলাইজার বাস্তবায়ন
পাইথন ম্যাপ স্টাইলাইজার বাস্তবায়ন
পাইথন ম্যাপ স্টাইলাইজার বাস্তবায়ন
পাইথন ম্যাপ স্টাইলাইজার বাস্তবায়ন
পাইথন ম্যাপ স্টাইলাইজার বাস্তবায়ন
পাইথন ম্যাপ স্টাইলাইজার বাস্তবায়ন

এই বিন্দু পর্যন্ত, আমি ওএসএম ডেটা ফাইল নিয়ে আলোচনা করেছি - এটি কী, কীভাবে এটি পড়তে হবে এবং এর সাথে কী করতে হবে। এখন আমি স্টাইলিস্টিক ম্যাপ ভিজ্যুয়ালাইজেশন মোকাবেলা করার জন্য আমার লেখা সফটওয়্যার নিয়ে আলোচনা করব (ভূমিকাতে দেওয়া গিটহাব রেপো)।

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

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

ধাপ 5: বাস্তবায়ন ত্রুটি + সমাধান

বাস্তবায়নের ত্রুটি + সমাধান
বাস্তবায়নের ত্রুটি + সমাধান
বাস্তবায়নের ত্রুটি + সমাধান
বাস্তবায়নের ত্রুটি + সমাধান

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

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

একটি উদাহরণ স্ক্রিপ্ট উপরের ছবিতে আছে। দ্বিতীয় ছবিটি হেল্পারের ফাংশন কেমন হবে তার একটি নমুনা, এবং যেহেতু তারা মূলত সব অভিন্ন, শুধু ভিন্ন ধ্রুবকগুলির সাথে, আমি কেবল একটি উদাহরণের একটি ছবি অন্তর্ভুক্ত করেছি।

ধাপ 6: উন্নতির জন্য এলাকা

উন্নতির জন্য এলাকাসমূহ
উন্নতির জন্য এলাকাসমূহ

আমার সফ্টওয়্যার বাস্তবায়নের প্রতিফলন করার পরে, আমি বেশ কয়েকটি ক্ষেত্র চিহ্নিত করেছি যা বিদ্যুৎ ব্যবহারকারীদের জন্য সহায়ক উন্নতি হবে।

  1. ডায়নামিক লেয়ার রেন্ডারিং। বর্তমানে, আমার কাছে স্তরগুলির একটি পূর্বনির্ধারিত তালিকা রয়েছে যা রেন্ডার করা হবে, এটাই। একটি স্তর একটি লাইন বা একটি পূরণ করা উচিত কিনা তা নির্ধারণে অসুবিধা ছিল ন্যায্যতার অংশ। ফলস্বরূপ, আপনার খোলা প্রায় প্রতিটি ওএসএম ফাইলের সাথে, আপনাকে স্তরগুলি সম্পর্কে বেশ কয়েকটি সতর্কবার্তা দিয়ে স্বাগত জানানো হবে যা রেন্ডার করা হবে না। প্রায়শই এগুলি এত কম হয় যে এটি কোনও সমস্যা নয়, তবে সেখানে সমালোচনামূলক স্তরগুলি অনুপস্থিত থাকতে বাধ্য। ডায়নামিক লেয়ার রেন্ডারিং এই উদ্বেগ দূর করবে।
  2. ডায়নামিক লেয়ার অ্যাসাইনমেন্ট। এই #1 সঙ্গে হাতে হাতে যায়; আপনি যদি ডায়নামিক লেয়ার রেন্ডারিং চান, আপনার ডায়নামিক লেয়ার অ্যাসাইনমেন্ট প্রয়োজন (যেমন, একটি ফিল লেয়ার বনাম একটি লাইন লেয়ার চিহ্নিত করা)। এটি যুক্তিসঙ্গতভাবে সম্পন্ন করা যেতে পারে, যেমন আমি শিখেছি, কারণ উপায়গুলি যার প্রথম এবং শেষ নোড একই পথগুলি সংযুক্ত করা হবে এবং তাই ভরাট করা হবে।
  3. রঙ গ্রুপ একটি শৈলীযুক্ত মানচিত্রে প্রায়শই একই স্তরের বেশ কয়েকটি স্তর থাকে এবং ব্যবহারকারীকে একই সময়ে একটি গোষ্ঠীর শৈলী পরিবর্তন করতে সক্ষম করে ব্যবহারকারীর স্তরগুলি একের পর এক সম্পাদনা করতে ব্যয় করা অনেকটাই হ্রাস পাবে।

ধাপ 7: চিন্তাভাবনা বন্ধ করা

বন্ধ চিন্তা
বন্ধ চিন্তা
বন্ধ চিন্তা
বন্ধ চিন্তা
বন্ধ চিন্তা
বন্ধ চিন্তা

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

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

মন্তব্যগুলিতে আপনার কোন প্রশ্ন থাকলে দয়া করে আমাকে জানান!

মানচিত্র চ্যালেঞ্জ
মানচিত্র চ্যালেঞ্জ
মানচিত্র চ্যালেঞ্জ
মানচিত্র চ্যালেঞ্জ

ম্যাপস চ্যালেঞ্জে রানার আপ

প্রস্তাবিত: