LeafletJS এর Circle, Rectangle এবং Other Shapes

লিফলেটজেএস (LeafletJS) - Web Development

300

LeafletJS-এ Circle, Rectangle এবং অন্যান্য বিভিন্ন জিওমেট্রিক শেপ ব্যবহার করে আপনি ম্যাপের উপরে অঞ্চল বা আকৃতি চিহ্নিত করতে পারেন। এগুলি ব্যবহারকারীদের জন্য কার্যকরী ভিজুয়াল উপস্থাপনা তৈরি করতে সাহায্য করে।


Circle (সার্কেল)

Circle হল একটি গোলাকার আকৃতি, যা একটি কেন্দ্রবিন্দু এবং নির্দিষ্ট রেডিয়াসের উপর ভিত্তি করে তৈরি হয়। এটি সাধারণত কোনো নির্দিষ্ট এলাকার সীমা বা ফোকাস চিহ্নিত করতে ব্যবহৃত হয়।

Circle তৈরি করা

var map = L.map('map').setView([51.505, -0.09], 13);

// OpenStreetMap লেয়ার যোগ করা
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// Circle তৈরি করা
var circle = L.circle([51.508, -0.11], {
    color: 'red',       // বর্ডারের রঙ
    fillColor: 'red',   // ভেতরের রঙ
    fillOpacity: 0.5,   // পূর্ণতার পরিমাণ
    radius: 500         // রেডিয়াস (মিটার)
}).addTo(map);

// Circle এ পপ-আপ যোগ করা
circle.bindPopup("এটি একটি Circle।");

এখানে, L.circle() ফাংশনটি একটি গোলাকার আকৃতি তৈরি করতে ব্যবহৃত হয়েছে, যেখানে radius প্যারামিটারটি সার্কেলের আকার নির্ধারণ করে।


Rectangle (রেকট্যাঙ্গেল)

Rectangle হল একটি চতুর্ভুজ আকৃতি, যা দুটি সমান্তরাল রেখার দ্বারা চিহ্নিত হয়। এটি সাধারণত একটি অঞ্চল বা এলাকার সীমানা চিহ্নিত করতে ব্যবহৃত হয়।

Rectangle তৈরি করা

var map = L.map('map').setView([51.505, -0.09], 13);

// OpenStreetMap লেয়ার যোগ করা
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// Rectangle তৈরি করা
var bounds = [[51.49, -0.08], [51.5, -0.06]];  // কোণগুলির অবস্থান
var rectangle = L.rectangle(bounds, {color: "blue", weight: 1}).addTo(map);

// Rectangle এ পপ-আপ যোগ করা
rectangle.bindPopup("এটি একটি Rectangle।");

এখানে, L.rectangle() ফাংশনটি একটি চতুর্ভুজ আকৃতি তৈরি করতে ব্যবহৃত হয়েছে, এবং bounds প্যারামিটারটি সীমানাগুলি (উত্তর-পূর্ব এবং দক্ষিণ-পশ্চিম) নির্ধারণ করে।


Other Shapes (অন্যান্য শেপ)

LeafletJS এ আরও বিভিন্ন ধরনের শেপ ব্যবহার করা যেতে পারে, যেমন Polygon, Polyline ইত্যাদি, যা ম্যাপে বিভিন্ন আকৃতি বা অঞ্চল চিহ্নিত করার জন্য ব্যবহৃত হয়।

Polygon (পলিগন)

Polygon একটি বন্ধ আকৃতি, যা একাধিক পয়েন্টের মাধ্যমে তৈরি হয় এবং এটি একটি এলাকা চিহ্নিত করতে ব্যবহৃত হয়।

var map = L.map('map').setView([51.505, -0.09], 13);

// OpenStreetMap লেয়ার যোগ করা
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// Polygon তৈরি করা
var latlngs = [
    [51.5, -0.09],
    [51.51, -0.1],
    [51.52, -0.11]
];

var polygon = L.polygon(latlngs, {color: 'green'}).addTo(map);

// Polygon এ পপ-আপ যোগ করা
polygon.bindPopup("এটি একটি Polygon।");

এখানে, L.polygon() ফাংশনটি একটি বন্ধ আকার তৈরি করতে ব্যবহৃত হয়েছে, যেখানে latlngs প্যারামিটারটি পলিগনের পয়েন্টগুলো নির্ধারণ করে।

Polyline (পলিলাইন)

Polyline হল একাধিক পয়েন্টের মধ্যে একটি সরল রেখা তৈরি করে।

var map = L.map('map').setView([51.505, -0.09], 13);

// OpenStreetMap লেয়ার যোগ করা
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// Polyline তৈরি করা
var latlngs = [
    [51.5, -0.09],
    [51.51, -0.1],
    [51.52, -0.11]
];

var polyline = L.polyline(latlngs, {color: 'blue'}).addTo(map);

// Polyline এ পপ-আপ যোগ করা
polyline.bindPopup("এটি একটি Polyline।");

এখানে, L.polyline() ফাংশনটি একাধিক পয়েন্টের মধ্যে একটি রেখা তৈরি করে, এবং color প্যারামিটারটি রেখার রঙ নির্ধারণ করে।


সারাংশ

LeafletJS-এ Circle, Rectangle, Polygon, Polyline এবং অন্যান্য শেপগুলি ব্যবহার করে আপনি ম্যাপে বিভিন্ন অঞ্চল এবং আকৃতি চিহ্নিত করতে পারেন। এগুলি সাধারণত জিওস্পেশাল ডেটা প্রদর্শন করতে ব্যবহৃত হয়, যেমন এলাকার সীমা, পথ, বা আকৃতির চিহ্নিতকরণ। এই শেপগুলির মাধ্যমে আপনি একটি ইন্টারঅ্যাকটিভ ম্যাপ তৈরি করতে পারেন, যা ব্যবহারকারীদের জন্য আরও কার্যকরী ও পরিষ্কার অভিজ্ঞতা প্রদান করে।

Content added By

LeafletJS এ Circle, CircleMarker, এবং Rectangle তৈরি করা খুবই সহজ। এগুলি ম্যাপের উপর বিভিন্ন শেপ বা আকার তৈরি করতে ব্যবহৃত হয় এবং ইন্টারেক্টিভ ম্যাপিং এর জন্য বিশেষভাবে কার্যকরী। আপনি এই শেপগুলির আকার, রঙ, সীমা ইত্যাদি কাস্টমাইজ করতে পারেন।


Circle তৈরি করা

Circle হল একটি গোলাকার আকার যা ম্যাপের একটি নির্দিষ্ট পয়েন্টের চারপাশে প্রদর্শিত হয়। এটি L.circle() ফাংশন ব্যবহার করে তৈরি করা হয়।

উদাহরণ:

var map = L.map('map').setView([51.505, -0.09], 13);

// OpenStreetMap টাইল লেয়ার যোগ করা
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// Circle তৈরি করা
var circle = L.circle([51.508, -0.11], {
    color: 'red',           // বর্ডারের রঙ
    fillColor: 'red',       // ভরের রঙ
    fillOpacity: 0.5,       // ভরের অপাসিটি
    radius: 500             // রেডিয়াস (মিটার)
}).addTo(map);

এখানে, L.circle() ফাংশনটি একটি নির্দিষ্ট পজিশন এবং রেডিয়াস সহ গোলাকার আকার তৈরি করেছে। color এবং fillColor দ্বারা রঙ কাস্টমাইজ করা হয়েছে, এবং radius দ্বারা আকার নির্ধারণ করা হয়েছে।


CircleMarker তৈরি করা

CircleMarker হল একটি ছোট, নির্দিষ্ট আকারের গোলাকার মার্কার যা pixel মাপের। এটি সাধারণত ম্যাপে আরও ছোট আকারে ব্যবহৃত হয়। L.circleMarker() ফাংশনটি ব্যবহার করে এটি তৈরি করা হয়।

উদাহরণ:

var map = L.map('map').setView([51.505, -0.09], 13);

// OpenStreetMap টাইল লেয়ার যোগ করা
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// CircleMarker তৈরি করা
var circleMarker = L.circleMarker([51.508, -0.11], {
    color: 'green',         // বর্ডারের রঙ
    fillColor: 'green',     // ভরের রঙ
    fillOpacity: 0.7,       // ভরের অপাসিটি
    radius: 10              // রেডিয়াস (পিক্সেল)
}).addTo(map);

এখানে, L.circleMarker() ফাংশনটি ব্যবহার করে একটি ছোট গোলাকার মার্কার তৈরি করা হয়েছে, যেখানে আকার পিক্সেল আকারে নির্ধারণ করা হয়েছে এবং রঙ কাস্টমাইজ করা হয়েছে।


Rectangle তৈরি করা

Rectangle হল একটি আয়তাকার আকৃতি, যা ম্যাপে প্রদর্শিত হতে পারে। এটি L.rectangle() ফাংশন ব্যবহার করে তৈরি করা হয় এবং আপনি এর আয়তন এবং সীমানা কাস্টমাইজ করতে পারেন।

উদাহরণ:

var map = L.map('map').setView([51.505, -0.09], 13);

// OpenStreetMap টাইল লেয়ার যোগ করা
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// Rectangle তৈরি করা
var bounds = [[51.49, -0.08], [51.5, -0.06]];  // দিয়া দুইটি পয়েন্টের বাউন্ডারি
var rectangle = L.rectangle(bounds, {
    color: 'blue',         // বর্ডারের রঙ
    weight: 1,             // বর্ডারের প্রস্থ
    fillColor: 'blue',     // ভরের রঙ
    fillOpacity: 0.3       // ভরের অপাসিটি
}).addTo(map);

এখানে, L.rectangle() ফাংশনটি দুটি কোঅর্ডিনেট পয়েন্ট (বাউন্ডস) দিয়ে একটি আয়তাকার শেপ তৈরি করেছে। এর রঙ এবং অন্যান্য প্রপার্টিজ কাস্টমাইজ করা হয়েছে।


সারাংশ

LeafletJS এর মাধ্যমে আপনি সহজেই Circle, CircleMarker, এবং Rectangle তৈরি করতে পারেন এবং এগুলির বিভিন্ন বৈশিষ্ট্য কাস্টমাইজ করতে পারেন। এই শেপগুলো ওয়েব ম্যাপে বিভিন্ন এলাকা চিহ্নিত করতে, ফোকাস তৈরি করতে, বা ব্যবহারকারীদের কাছে বিশেষ তথ্য প্রদর্শন করতে ব্যবহৃত হতে পারে। আপনি তাদের আকার, রঙ, সীমা, ভরের অপাসিটি ইত্যাদি কাস্টমাইজ করে একটি ইন্টারঅ্যাকটিভ ম্যাপ তৈরি করতে পারবেন।

Content added By

LeafletJS তে Shape Options ব্যবহার করে আপনি ম্যাপে বিভিন্ন ধরনের শেপ যেমন Polyline, Polygon, Circle, Rectangle ইত্যাদি তৈরি এবং কাস্টমাইজ করতে পারেন। শেপগুলো ম্যাপের উপর কোনো নির্দিষ্ট এলাকা বা রুট চিহ্নিত করতে ব্যবহৃত হয় এবং এগুলোর ভিজ্যুয়াল স্টাইল কাস্টমাইজ করার জন্য আপনি বিভিন্ন Options ব্যবহার করতে পারেন।


Shape Options কনফিগার করা

LeafletJS-এ বিভিন্ন ধরনের শেপের জন্য কিছু মৌলিক অপশন রয়েছে, যা আপনি কাস্টমাইজ করতে পারেন যেমন রঙ, প্রস্থ, পুরুত্ব, স্বচ্ছতা ইত্যাদি।


১. Polyline Options কনফিগার করা

Polyline হল একাধিক পয়েন্টের মধ্যে একটি সরল রেখা তৈরি করা। Polyline এর জন্য কিছু সাধারণ অপশন কনফিগার করা যায় যেমন রঙ, প্রস্থ, ড্যাশ স্টাইল ইত্যাদি।

উদাহরণ:

var latlngs = [
    [51.505, -0.09],
    [51.515, -0.1],
    [51.525, -0.11]
];

var polyline = L.polyline(latlngs, {
    color: 'blue',         // পলিলাইনের রঙ
    weight: 4,             // পলিলাইনের পুরুত্ব
    opacity: 0.7,          // পলিলাইনের স্বচ্ছতা
    dashArray: '10, 5'     // ড্যাশড লাইনের প্যাটার্ন
}).addTo(map);

ব্যাখ্যা:

  • color: পলিলাইনের রঙ নির্ধারণ করে।
  • weight: পলিলাইনের পুরুত্ব নির্ধারণ করে।
  • opacity: পলিলাইনের স্বচ্ছতা কাস্টমাইজ করে।
  • dashArray: ড্যাশড লাইন তৈরি করার জন্য প্যাটার্ন সেট করে, যেখানে প্রথম সংখ্যা হলো দৈর্ঘ্য এবং দ্বিতীয়টি হলো বিরতি।

২. Polygon Options কনফিগার করা

Polygon হল একটি বন্ধ আকৃতি, যা একাধিক পয়েন্ট দিয়ে তৈরি হয়। এটি সাধারণত এলাকা বা সীমারেখা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var latlngs = [
    [51.509, -0.08],
    [51.503, -0.06],
    [51.51, -0.047]
];

var polygon = L.polygon(latlngs, {
    color: 'red',           // পলিগনের সীমানার রঙ
    weight: 3,              // পলিগনের সীমানার পুরুত্ব
    fillColor: 'yellow',    // পলিগনের ভিতরের রঙ
    fillOpacity: 0.5        // পলিগনের ভিতরের স্বচ্ছতা
}).addTo(map);

ব্যাখ্যা:

  • color: পলিগনের সীমানার রঙ নির্ধারণ করে।
  • weight: পলিগনের সীমানার পুরুত্ব নির্ধারণ করে।
  • fillColor: পলিগনের ভিতরের রঙ নির্ধারণ করে।
  • fillOpacity: পলিগনের ভিতরের স্বচ্ছতা নির্ধারণ করে।

৩. Circle Options কনফিগার করা

Circle একটি বিশেষ ধরনের শেপ যা নির্দিষ্ট রেডিয়াস (radius) সহ তৈরি হয়। এটি সাধারণত একটি স্থান বা এলাকা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var circle = L.circle([51.508, -0.11], {
    color: 'green',        // বর্ডারের রঙ
    fillColor: 'green',    // ভিতরের রঙ
    fillOpacity: 0.5,      // ভিতরের স্বচ্ছতা
    radius: 500            // রেডিয়াস
}).addTo(map);

ব্যাখ্যা:

  • color: সীমানার রঙ নির্ধারণ করে।
  • fillColor: ভিতরের রঙ নির্ধারণ করে।
  • fillOpacity: ভিতরের স্বচ্ছতা নির্ধারণ করে।
  • radius: বৃত্তের রেডিয়াস নির্ধারণ করে।

৪. Rectangle Options কনফিগার করা

Rectangle একটি চারকোণা আকার, যা দুইটি কোণের মধ্যে সীমানা নির্ধারণ করে। এটি সাধারণত এলাকা বা সীমানা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var bounds = [[51.49, -0.08], [51.5, -0.06]];

var rectangle = L.rectangle(bounds, {
    color: 'blue',        // বর্ডারের রঙ
    weight: 3,            // সীমানার পুরুত্ব
    fillColor: 'blue',    // ভিতরের রঙ
    fillOpacity: 0.2      // ভিতরের স্বচ্ছতা
}).addTo(map);

ব্যাখ্যা:

  • color: সীমানার রঙ নির্ধারণ করে।
  • weight: সীমানার পুরুত্ব নির্ধারণ করে।
  • fillColor: ভিতরের রঙ নির্ধারণ করে।
  • fillOpacity: ভিতরের স্বচ্ছতা নির্ধারণ করে।

৫. Custom Shape Options কনফিগার করা

LeafletJS আপনাকে আপনার শেপগুলির জন্য কাস্টম স্টাইল তৈরি করার সুযোগ দেয়, যেমন আইকন বা বিশেষ কোনো অ্যানিমেশন যুক্ত করা।

উদাহরণ:

var customIcon = L.divIcon({
    className: 'custom-icon',  // আইকনের ক্লাস
    html: '<div style="background-color: red; width: 30px; height: 30px; border-radius: 50%"></div>' // কাস্টম আইকন তৈরি
});

var marker = L.marker([51.5, -0.09], { icon: customIcon }).addTo(map);

ব্যাখ্যা:

  • className: আইকনের জন্য একটি ক্লাস নির্ধারণ করে।
  • html: আইকনের HTML কনটেন্ট কাস্টমাইজ করে।

সারাংশ

LeafletJS এর Shape Options ব্যবহার করে আপনি ম্যাপে বিভিন্ন শেপ কাস্টমাইজ করতে পারেন যেমন Polyline, Polygon, Circle, এবং Rectangle। এগুলোর জন্য আপনি রঙ, প্রস্থ, পুরুত্ব, স্বচ্ছতা এবং অন্যান্য স্টাইল বিকল্প কাস্টমাইজ করতে পারেন। এভাবে আপনি ম্যাপের শেপগুলোর ভিজ্যুয়াল প্রেজেন্টেশন আরও আকর্ষণীয় এবং কার্যকরী করতে পারেন।

Content added By

GeoJSON হলো একটি জনপ্রিয় ডেটা ফরম্যাট যা জিওস্পেশাল ডেটা (যেমন পয়েন্ট, লাইন, পলিগন) স্টোর করতে ব্যবহৃত হয় এবং এটি JSON ফরম্যাটের উপর ভিত্তি করে তৈরি। LeafletJS এর মাধ্যমে আপনি সহজেই GeoJSON ডেটা ম্যাপে প্রদর্শন করতে পারেন। GeoJSON ফাইলের মধ্যে বিভিন্ন ধরনের জিওমেট্রিক শেপ থাকতে পারে যেমন Point, LineString, Polygon, এবং আরও অনেক কিছু।

GeoJSON ফাইল প্রদর্শনের জন্য L.geoJSON() ফাংশন ব্যবহার করা হয়, যা GeoJSON ডেটাকে ম্যাপে যোগ করার জন্য ব্যবহৃত হয়।


GeoJSON ফাইল লোড করা এবং প্রদর্শন করা

GeoJSON ফাইল লোড করার উদাহরণ

প্রথমে, একটি GeoJSON ফাইলের সাথে কাজ করার জন্য, আপনি ফাইলটি লোকাল ডাইরেক্টরি থেকে অথবা URL থেকে লোড করতে পারেন। এখানে আমরা একটি GeoJSON ফাইলের ডেটা ম্যাপে লোড করার উদাহরণ দেখবো।

GeoJSON ডেটা:

var geojsonData = {
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [51.5, -0.09]
      },
      "properties": {
        "name": "London"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [51.5, -0.1],
            [51.51, -0.1],
            [51.51, -0.09],
            [51.5, -0.09],
            [51.5, -0.1]
          ]
        ]
      },
      "properties": {
        "name": "Polygon Example"
      }
    }
  ]
};

1. GeoJSON ডেটা ম্যাপে প্রদর্শন করা:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>LeafletJS GeoJSON</title>
    <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
</head>
<body>
    <div id="map" style="height: 500px;"></div>

    <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
    <script>
        // ম্যাপ তৈরি
        var map = L.map('map').setView([51.5, -0.09], 13);

        // OpenStreetMap লেয়ার যোগ করা
        L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
            attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
        }).addTo(map);

        // GeoJSON ডেটা ম্যাপে যোগ করা
        L.geoJSON(geojsonData).addTo(map);
    </script>
</body>
</html>

এখানে L.geoJSON() ফাংশনটি GeoJSON ডেটা গ্রহণ করে এবং ম্যাপের উপর প্রদর্শন করে। আপনি যদি একটি GeoJSON ফাইল URL থেকে লোড করতে চান, তাহলে আপনি fetch() ফাংশন ব্যবহার করতে পারেন।


GeoJSON ফাইল থেকে ডেটা লোড করা

যদি আপনি GeoJSON ডেটা একটি এক্সটার্নাল ফাইল থেকে লোড করতে চান, তাহলে আপনাকে fetch() ফাংশন ব্যবহার করে GeoJSON ফাইলটি লোড করতে হবে।

GeoJSON ফাইল লোড করার উদাহরণ:

fetch('path/to/your/file.geojson')
    .then(response => response.json())
    .then(data => {
        L.geoJSON(data).addTo(map);
    })
    .catch(error => console.log('Error loading GeoJSON file: ', error));

এখানে fetch() ফাংশনটি file.geojson ফাইল থেকে ডেটা লোড করে এবং তারপর L.geoJSON() ফাংশন ব্যবহার করে সেই ডেটা ম্যাপে প্রদর্শন করা হয়।


GeoJSON এর মধ্যে বিভিন্ন শেপের ব্যবহার

GeoJSON ডেটার মধ্যে বিভিন্ন ধরনের জিওমেট্রিক শেপ থাকতে পারে, যেমন Point, LineString, Polygon, MultiPolygon ইত্যাদি। নিচে কয়েকটি উদাহরণ দেয়া হলো:

1. Point:

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [51.5, -0.09]
  },
  "properties": {
    "name": "London"
  }
}

2. LineString:

{
  "type": "Feature",
  "geometry": {
    "type": "LineString",
    "coordinates": [
      [51.5, -0.09],
      [51.51, -0.1]
    ]
  },
  "properties": {
    "name": "Example Line"
  }
}

3. Polygon:

{
  "type": "Feature",
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        [51.5, -0.1],
        [51.51, -0.1],
        [51.51, -0.09],
        [51.5, -0.09],
        [51.5, -0.1]
      ]
    ]
  },
  "properties": {
    "name": "Example Polygon"
  }
}

GeoJSON ফিচারগুলির স্টাইল কাস্টমাইজেশন

GeoJSON ফিচারগুলির জন্য স্টাইল কাস্টমাইজ করতে L.geoJSON() ফাংশনের মধ্যে style অপশন ব্যবহার করা হয়।

উদাহরণ:

L.geoJSON(geojsonData, {
  style: function(feature) {
    return {
      color: feature.properties.name === "London" ? "blue" : "green",
      weight: 3,
      opacity: 0.6
    };
  }
}).addTo(map);

এখানে, প্রতিটি GeoJSON ফিচারের জন্য স্টাইল নির্ধারণ করা হচ্ছে এবং "London" নামের পয়েন্টটির জন্য আলাদা রঙ দেওয়া হচ্ছে।


সারাংশ

LeafletJS এর মাধ্যমে GeoJSON ফাইলের বিভিন্ন শেপ (যেমন Point, LineString, Polygon) ম্যাপে প্রদর্শন করা সম্ভব। আপনি সহজেই GeoJSON ডেটা ম্যাপে লোড করতে পারেন এবং এর স্টাইল কাস্টমাইজও করতে পারেন। এই পদ্ধতিটি ম্যাপিং অ্যাপ্লিকেশনগুলির জন্য অত্যন্ত কার্যকরী, যা জিওস্পেশাল ডেটা ভিজুয়ালাইজেশনকে সহজ এবং উন্নত করে।

লিফলেটজেএস (LeafletJS): Shape Options কনফিগার করা

LeafletJS তে Shape Options ব্যবহার করে আপনি ম্যাপে বিভিন্ন ধরনের শেপ যেমন Polyline, Polygon, Circle, Rectangle ইত্যাদি তৈরি এবং কাস্টমাইজ করতে পারেন। শেপগুলো ম্যাপের উপর কোনো নির্দিষ্ট এলাকা বা রুট চিহ্নিত করতে ব্যবহৃত হয় এবং এগুলোর ভিজ্যুয়াল স্টাইল কাস্টমাইজ করার জন্য আপনি বিভিন্ন Options ব্যবহার করতে পারেন।


Shape Options কনফিগার করা

LeafletJS-এ বিভিন্ন ধরনের শেপের জন্য কিছু মৌলিক অপশন রয়েছে, যা আপনি কাস্টমাইজ করতে পারেন যেমন রঙ, প্রস্থ, পুরুত্ব, স্বচ্ছতা ইত্যাদি।


১. Polyline Options কনফিগার করা

Polyline হল একাধিক পয়েন্টের মধ্যে একটি সরল রেখা তৈরি করা। Polyline এর জন্য কিছু সাধারণ অপশন কনফিগার করা যায় যেমন রঙ, প্রস্থ, ড্যাশ স্টাইল ইত্যাদি।

উদাহরণ:

var latlngs = [
    [51.505, -0.09],
    [51.515, -0.1],
    [51.525, -0.11]
];

var polyline = L.polyline(latlngs, {
    color: 'blue',         // পলিলাইনের রঙ
    weight: 4,             // পলিলাইনের পুরুত্ব
    opacity: 0.7,          // পলিলাইনের স্বচ্ছতা
    dashArray: '10, 5'     // ড্যাশড লাইনের প্যাটার্ন
}).addTo(map);

ব্যাখ্যা:

  • color: পলিলাইনের রঙ নির্ধারণ করে।
  • weight: পলিলাইনের পুরুত্ব নির্ধারণ করে।
  • opacity: পলিলাইনের স্বচ্ছতা কাস্টমাইজ করে।
  • dashArray: ড্যাশড লাইন তৈরি করার জন্য প্যাটার্ন সেট করে, যেখানে প্রথম সংখ্যা হলো দৈর্ঘ্য এবং দ্বিতীয়টি হলো বিরতি।

২. Polygon Options কনফিগার করা

Polygon হল একটি বন্ধ আকৃতি, যা একাধিক পয়েন্ট দিয়ে তৈরি হয়। এটি সাধারণত এলাকা বা সীমারেখা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var latlngs = [
    [51.509, -0.08],
    [51.503, -0.06],
    [51.51, -0.047]
];

var polygon = L.polygon(latlngs, {
    color: 'red',           // পলিগনের সীমানার রঙ
    weight: 3,              // পলিগনের সীমানার পুরুত্ব
    fillColor: 'yellow',    // পলিগনের ভিতরের রঙ
    fillOpacity: 0.5        // পলিগনের ভিতরের স্বচ্ছতা
}).addTo(map);

ব্যাখ্যা:

  • color: পলিগনের সীমানার রঙ নির্ধারণ করে।
  • weight: পলিগনের সীমানার পুরুত্ব নির্ধারণ করে।
  • fillColor: পলিগনের ভিতরের রঙ নির্ধারণ করে।
  • fillOpacity: পলিগনের ভিতরের স্বচ্ছতা নির্ধারণ করে।

৩. Circle Options কনফিগার করা

Circle একটি বিশেষ ধরনের শেপ যা নির্দিষ্ট রেডিয়াস (radius) সহ তৈরি হয়। এটি সাধারণত একটি স্থান বা এলাকা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var circle = L.circle([51.508, -0.11], {
    color: 'green',        // বর্ডারের রঙ
    fillColor: 'green',    // ভিতরের রঙ
    fillOpacity: 0.5,      // ভিতরের স্বচ্ছতা
    radius: 500            // রেডিয়াস
}).addTo(map);

ব্যাখ্যা:

  • color: সীমানার রঙ নির্ধারণ করে।
  • fillColor: ভিতরের রঙ নির্ধারণ করে।
  • fillOpacity: ভিতরের স্বচ্ছতা নির্ধারণ করে।
  • radius: বৃত্তের রেডিয়াস নির্ধারণ করে।

৪. Rectangle Options কনফিগার করা

Rectangle একটি চারকোণা আকার, যা দুইটি কোণের মধ্যে সীমানা নির্ধারণ করে। এটি সাধারণত এলাকা বা সীমানা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var bounds = [[51.49, -0.08], [51.5, -0.06]];

var rectangle = L.rectangle(bounds, {
    color: 'blue',        // বর্ডারের রঙ
    weight: 3,            // সীমানার পুরুত্ব
    fillColor: 'blue',    // ভিতরের রঙ
    fillOpacity: 0.2      // ভিতরের স্বচ্ছতা
}).addTo(map);

ব্যাখ্যা:

  • color: সীমানার রঙ নির্ধারণ করে।
  • weight: সীমানার পুরুত্ব নির্ধারণ করে।
  • fillColor: ভিতরের রঙ নির্ধারণ করে।
  • fillOpacity: ভিতরের স্বচ্ছতা নির্ধারণ করে।

৫. Custom Shape Options কনফিগার করা

LeafletJS আপনাকে আপনার শেপগুলির জন্য কাস্টম স্টাইল তৈরি করার সুযোগ দেয়, যেমন আইকন বা বিশেষ কোনো অ্যানিমেশন যুক্ত করা।

উদাহরণ:

var customIcon = L.divIcon({
    className: 'custom-icon',  // আইকনের ক্লাস
    html: '<div style="background-color: red; width: 30px; height: 30px; border-radius: 50%"></div>' // কাস্টম আইকন তৈরি
});

var marker = L.marker([51.5, -0.09], { icon: customIcon }).addTo(map);

ব্যাখ্যা:

  • className: আইকনের জন্য একটি ক্লাস নির্ধারণ করে।
  • html: আইকনের HTML কনটেন্ট কাস্টমাইজ করে।

সারাংশ

LeafletJS এর Shape Options ব্যবহার করে আপনি ম্যাপে বিভিন্ন শেপ কাস্টমাইজ করতে পারেন যেমন Polyline, Polygon, Circle, এবং Rectangle। এগুলোর জন্য আপনি রঙ, প্রস্থ, পুরুত্ব, স্বচ্ছতা এবং অন্যান্য স্টাইল বিকল্প কাস্টমাইজ করতে পারেন। এভাবে আপনি ম্যাপের শেপগুলোর ভিজ্যুয়াল প্রেজেন্টেশন আরও আকর্ষণীয় এবং কার্যকরী করতে পারেন।

Content added By

LeafletJS ব্যবহার করে আপনি Shape গুলোর স্টাইল কাস্টমাইজ করতে পারেন, যেমন Polyline, Polygon, Circle, এবং Rectangle এর রঙ, আকার, প্রস্থ, এবং অন্যান্য স্টাইল পরিবর্তন করা। এগুলো কাস্টমাইজ করলে ম্যাপের ডিজাইন আরও আকর্ষণীয় এবং কার্যকরী হতে পারে। নিচে বিভিন্ন শেপের জন্য কাস্টম স্টাইলিং করার পদ্ধতি দেখানো হলো।


১. Polyline Styling

Polyline একটি একাধিক পয়েন্টের মধ্যে রেখা তৈরি করে। এটি সাধারণত পথ বা সীমানা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var latlngs = [
    [51.505, -0.09],
    [51.515, -0.1],
    [51.525, -0.11]
];

var polyline = L.polyline(latlngs, {
    color: 'green',       // রেখার রঙ
    weight: 6,            // রেখার পুরুত্ব
    opacity: 0.8,         // রেখার স্বচ্ছতা
    dashArray: '10, 5'    // ড্যাশড লাইন স্টাইল
}).addTo(map);

কাস্টম স্টাইল অপশন:

  • color: রেখার রঙ নির্ধারণ করে।
  • weight: রেখার পুরুত্ব নির্ধারণ করে।
  • opacity: রেখার স্বচ্ছতা নির্ধারণ করে।
  • dashArray: ড্যাশড লাইনের প্যাটার্ন সেট করে।

২. Polygon Styling

Polygon একটি বন্ধ আকৃতি তৈরি করে, যা একাধিক পয়েন্ট দিয়ে গঠিত। এটি সাধারণত এলাকা বা সীমারেখা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var latlngs = [
    [51.509, -0.08],
    [51.503, -0.06],
    [51.51, -0.047]
];

var polygon = L.polygon(latlngs, {
    color: 'blue',         // সীমানার রঙ
    weight: 5,             // সীমানার পুরুত্ব
    fillColor: 'yellow',   // ভিতরের রঙ
    fillOpacity: 0.5       // ভিতরের স্বচ্ছতা
}).addTo(map);

কাস্টম স্টাইল অপশন:

  • color: পলিগনের সীমানার রঙ।
  • weight: সীমানার পুরুত্ব।
  • fillColor: পলিগনের ভিতরের রঙ।
  • fillOpacity: পলিগনের ভিতরের স্বচ্ছতা।

৩. Circle Styling

Circle একটি নির্দিষ্ট রেডিয়াস সহ বৃত্ত তৈরি করে। এটি সাধারনত একটি এলাকা চিহ্নিত করতে ব্যবহৃত হয়।

উদাহরণ:

var circle = L.circle([51.508, -0.11], {
    color: 'red',         // বর্ডারের রঙ
    fillColor: 'blue',    // ভিতরের রঙ
    fillOpacity: 0.5,     // ভিতরের স্বচ্ছতা
    radius: 300           // রেডিয়াস
}).addTo(map);

কাস্টম স্টাইল অপশন:

  • color: বর্ডারের রঙ।
  • fillColor: বৃত্তের ভিতরের রঙ।
  • fillOpacity: বৃত্তের ভিতরের স্বচ্ছতা।
  • radius: বৃত্তের রেডিয়াস।

৪. Rectangle Styling

Rectangle একটি চারকোণা আকার, যা দুটি কোণের মধ্যে সীমানা নির্ধারণ করে।

উদাহরণ:

var bounds = [[51.49, -0.08], [51.5, -0.06]];

var rectangle = L.rectangle(bounds, {
    color: 'purple',     // সীমানার রঙ
    weight: 3,           // সীমানার পুরুত্ব
    fillColor: 'green',  // ভিতরের রঙ
    fillOpacity: 0.2     // ভিতরের স্বচ্ছতা
}).addTo(map);

কাস্টম স্টাইল অপশন:

  • color: সীমানার রঙ।
  • weight: সীমানার পুরুত্ব।
  • fillColor: সীমানার ভিতরের রঙ।
  • fillOpacity: সীমানার ভিতরের স্বচ্ছতা।

৫. Custom Icons and Shapes Styling

LeafletJS আপনাকে কাস্টম আইকন বা শেপ তৈরি করার সুযোগ দেয়। আপনি divIcon বা custom markers ব্যবহার করে একটি অনন্য শেপ এবং স্টাইল তৈরি করতে পারেন।

উদাহরণ: কাস্টম আইকন তৈরি করা

var customIcon = L.divIcon({
    className: 'custom-icon',
    html: '<div style="background-color: red; width: 30px; height: 30px; border-radius: 50%"></div>'  // কাস্টম আইকন তৈরি
});

var marker = L.marker([51.5, -0.09], { icon: customIcon }).addTo(map);

কাস্টম স্টাইল অপশন:

  • className: আইকনের জন্য একটি ক্লাস নির্ধারণ করে।
  • html: আইকনের কাস্টম HTML কনটেন্ট।

৬. Shape Styling Based on Feature Properties

GeoJSON ডেটা ব্যবহার করার সময়, আপনি শেপের স্টাইল কাস্টমাইজ করতে পারেন তাদের properties এর উপর ভিত্তি করে।

উদাহরণ:

L.geoJSON(geojsonData, {
    style: function(feature) {
        return {
            color: feature.properties.name === 'London' ? 'blue' : 'green',
            weight: 5,
            opacity: 0.7
        };
    }
}).addTo(map);

এখানে, properties.name এর উপর ভিত্তি করে প্রতিটি GeoJSON ফিচারের স্টাইল নির্ধারণ করা হচ্ছে।


সারাংশ

LeafletJS এ Custom Shape Styling এর মাধ্যমে আপনি ম্যাপে বিভিন্ন ধরনের শেপের রঙ, আকার, প্রস্থ এবং অন্যান্য বৈশিষ্ট্য কাস্টমাইজ করতে পারেন। এটি আপনার ম্যাপের ডিজাইনকে আরো সুস্পষ্ট এবং আকর্ষণীয় করে তোলে। আপনি Polyline, Polygon, Circle, Rectangle, Custom Icons, এবং GeoJSON এর জন্য স্টাইল কাস্টমাইজ করতে পারেন, যা ম্যাপিং অভিজ্ঞতাকে উন্নত করে।

Content added By
Promotion

Are you sure to start over?

Loading...