Database Tutorials Geospatial Data এবং Geohash ব্যবহার (GEOADD, GEODIST, GEORADIUS) গাইড ও নোট

374

Geospatial Data ব্যবস্থাপনা Redis-এ একটি শক্তিশালী ফিচার, যা আপনার অ্যাপ্লিকেশনে ভৌগোলিক অবস্থান সম্পর্কিত ডেটা সংরক্ষণ, অনুসন্ধান এবং বিশ্লেষণ করতে সহায়তা করে। Redis Geospatial সাপোর্ট করার জন্য বিশেষ কিছু কমান্ড প্রদান করে, যেমন GEOADD, GEODIST, এবং GEORADIUS, যা গুগল ম্যাপস বা অন্যান্য ভৌগোলিক সেবা সম্পর্কিত অ্যাপ্লিকেশনগুলিতে কাজে আসে।

Redis-এ Geospatial Data সাধারণত latitude, longitude, এবং radius (ব্যাসার্ধ) ব্যবহার করে ক্যালকুলেশন এবং অনুসন্ধান করার জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি পয়েন্টের অবস্থান, দুটি পয়েন্টের মধ্যে দূরত্ব, এবং একটি নির্দিষ্ট রেডিয়াসের মধ্যে পয়েন্ট খুঁজে পেতে পারেন।

Redis Geohash ব্যবহার করে পয়েন্টগুলোর স্থান সংরক্ষণ করে, যা Latitude এবং Longitude কে একত্রিত করে সংক্ষেপিত আকারে একটি স্ট্রিং হিসেবে সংরক্ষণ করে।


1. GEOADD

GEOADD কমান্ড Redis-এ Geospatial ডেটা যুক্ত করার জন্য ব্যবহৃত হয়। এটি একটি নির্দিষ্ট পয়েন্ট (latitude, longitude) এবং একটি key এর সাথে সম্পর্কিত নাম (member) সংরক্ষণ করে।

GEOADD Syntax:

GEOADD key longitude latitude member
  • key: Geospatial ডেটা সংরক্ষণের জন্য Redis কী।
  • longitude: পয়েন্টের লম্বামান।
  • latitude: পয়েন্টের অক্ষাংশ।
  • member: পয়েন্টের নাম বা ID।

উদাহরণ:

GEOADD locations 13.361389 38.115556 "Palermo"
GEOADD locations 15.087269 37.502669 "Catania"

এখানে, আমরা locations কী তে দুটি পয়েন্ট যোগ করেছি: একটি হল "Palermo" এবং অন্যটি "Catania"।


2. GEODIST

GEODIST কমান্ড দুটি পয়েন্টের মধ্যে দূরত্ব (distance) বের করার জন্য ব্যবহৃত হয়। আপনি দুটি পয়েন্টের মধ্যে দূরত্ব জানতে চাইলে এই কমান্ড ব্যবহার করতে পারেন। এটি kilometers, meters, miles, অথবা feet ইউনিটে দূরত্ব পরিমাপ করতে পারে।

GEODIST Syntax:

GEODIST key member1 member2 [unit]
  • key: Geospatial ডেটার Redis কী।
  • member1: প্রথম পয়েন্ট।
  • member2: দ্বিতীয় পয়েন্ট।
  • unit: (ঐচ্ছিক) দূরত্বের একক (meters, km, miles, feet)। ডিফল্ট একক হল meters

উদাহরণ:

GEODIST locations "Palermo" "Catania" km

এই কমান্ডটি Palermo এবং Catania এর মধ্যে দূরত্ব কিলোমিটারে রিটার্ন করবে।


3. GEORADIUS

GEORADIUS কমান্ড একটি নির্দিষ্ট পয়েন্টের আশেপাশে একটি রেডিয়াস (ব্যাসার্ধ) এর মধ্যে members খুঁজে বের করতে ব্যবহৃত হয়। এটি একটি ভৌগোলিক সার্চ অপারেশন, যেখানে আপনি একটি পয়েন্ট এবং রেডিয়াস দিয়ে আশেপাশের সব পয়েন্ট খুঁজে পেতে পারেন।

GEORADIUS Syntax:

GEORADIUS key longitude latitude radius unit [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]
  • key: Geospatial ডেটার Redis কী।
  • longitude: কেন্দ্র পয়েন্টের লম্বামান।
  • latitude: কেন্দ্র পয়েন্টের অক্ষাংশ।
  • radius: রেডিয়াস (ব্যাসার্ধ)।
  • unit: দূরত্বের একক (meters, km, miles, feet)।
  • WITHCOORD: পয়েন্টের সমন্বয় (latitude, longitude) দেখাতে।
  • WITHDIST: পয়েন্টের কেন্দ্র থেকে দূরত্ব দেখাতে।
  • WITHHASH: পয়েন্টের Geohash দেখাতে।
  • COUNT: সর্বোচ্চ কতটি পয়েন্ট দেখতে হবে।
  • ASC|DESC: দূরত্বের উপর ভিত্তি করে পয়েন্ট সাজাতে।

উদাহরণ 1:

GEORADIUS locations 15 37 100 km

এই কমান্ডটি locations কী তে থাকা পয়েন্টগুলির মধ্যে latitude 37 এবং longitude 15 এর মধ্যে 100 কিলোমিটার রেডিয়াসের মধ্যে যেসব পয়েন্ট আছে, সেগুলো ফিরিয়ে দেবে।

উদাহরণ 2:

GEORADIUS locations 15 37 100 km WITHCOORD

এখানে, একই রেডিয়াসের মধ্যে থাকা পয়েন্টগুলির latitude এবং longitude সহ ফলাফল দেখানো হবে।

উদাহরণ 3:

GEORADIUS locations 15 37 100 km WITHDIST

এই কমান্ডটি রেডিয়াসের মধ্যে থাকা পয়েন্টগুলির কেন্দ্র থেকে তাদের দূরত্ব রিটার্ন করবে।


4. GEORADIUSBYMEMBER

GEORADIUSBYMEMBER কমান্ডটি নির্দিষ্ট একটি সদস্য (member) থেকে একটি নির্দিষ্ট রেডিয়াসের মধ্যে থাকা অন্যান্য সদস্যদের খুঁজে বের করার জন্য ব্যবহৃত হয়। এটি GEORADIUS কমান্ডের মতোই কাজ করে, তবে এখানে পয়েন্টের অবস্থান একটি নির্দিষ্ট সদস্য থেকে বের করা হয়।

GEORADIUSBYMEMBER Syntax:

GEORADIUSBYMEMBER key member radius unit [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]
  • key: Geospatial ডেটার Redis কী।
  • member: কেন্দ্রীয় সদস্য (যে সদস্য থেকে রেডিয়াস নির্ধারণ করা হবে)।
  • radius: রেডিয়াস (ব্যাসার্ধ)।
  • unit: দূরত্বের একক (meters, km, miles, feet)।

উদাহরণ:

GEORADIUSBYMEMBER locations "Palermo" 100 km WITHCOORD

এই কমান্ডটি Palermo থেকে 100 কিলোমিটার রেডিয়াসের মধ্যে থাকা পয়েন্টগুলির latitude এবং longitude সহ ফিরিয়ে দেবে।


Geohash ব্যবহার

Geohash একটি বাইট-বেসড এনকোডিং পদ্ধতি যা স্থান (latitude, longitude) কে একটি ছোট স্ট্রিং ফরম্যাটে রূপান্তরিত করে। Redis Geospatial সিস্টেম Geohash ব্যবহার করে পয়েন্টগুলি দ্রুত প্রক্রিয়া করতে সহায়তা করে। Redis এ Geohash ব্যবহার করে পয়েন্টগুলোকে hashed করে একটি স্ট্রিং হিসেবে সংরক্ষণ করা হয়, যা পরে সার্চ এবং কম্পেয়ার অপারেশনগুলিতে ব্যবহার করা হয়।

Geohash Example:

GEOHASH locations "Palermo"

এটি Palermo পয়েন্টের Geohash স্ট্রিং ফিরিয়ে দেবে।


সারাংশ

Redis-এ Geospatial Data ব্যবস্থাপনা একটি শক্তিশালী টুল, যা আপনাকে location-based services এবং real-time geospatial queries করতে সহায়তা করে। Redis-এ GEOADD, GEODIST, GEORADIUS, এবং GEOHASH কমান্ডগুলি ব্যবহার করে আপনি ভৌগোলিক ডেটার উপর বিভিন্ন জটিল অপারেশন যেমন distance calculation, radius search, এবং geohash encoding করতে পারেন। Redis-এ Geospatial সাপোর্ট অ্যাপ্লিকেশনের মধ্যে location-based search, tracking, mapping, real-time updates ইত্যাদির জন্য খুবই উপকারী।

Content added By
Promotion

Are you sure to start over?

Loading...