पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv1.0.0

georange

एक पैकेज जो भू-हैश कोडिंग, भू-हैश डीकोडिंग, 2 बिंदुओं के बीच दूरी की गणना और डेटाबेस के प्रश्नों के लिए अक्षांश और देशांतर रेंज को भू-हैश के रूप में उत्पन्न करने में सहायता करता है (केवल Firestore पर परीक्षण किया गया है)।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
263
लाइक
33
Pub अंक
150

पैकेज इंस्टॉल करें

flutter pub add georange

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

georange एक Flutter/Dart पैकेज है जिसका उपयोग भौगोलिक स्थिति के कार्यों के लिए किया जाता है, जिसमें भौगोलिक हैश कोडिंग और डीकोडिंग, दो भौगोलिक बिंदुओं के बीच की दूरी की गणना, और अक्षांश और देशांतर के रेंज को भौगोलिक हैश के रूप में उत्पन्न करना शामिल है। ये विशेषताएँ भू-स्थानिक अनुप्रयोगों में डेटाबेस क्वेरी को ऑप्टिमाइज़ करने के लिए विशेष रूप से उपयोगी हैं, जिसमें Firestore के लिए विशेष परीक्षण और अनुकूलन किया गया है। यह पैकेज Android, iOS, Web, macOS, Windows और Linux जैसे विभिन्न प्लेटफॉर्म को समर्थन देता है, जिससे यह क्रॉस-प्लेटफॉर्म विकास के लिए लचीला बन जाता है।

उपयोग

  • भौगोलिक डेटा सूचकांकन
  • Firestore-आधारित स्थान खोजें
  • निर्देशांकों के बीच की दूरी की गणना
  • रियल-टाइम स्थान ट्रैकिंग
  • स्थान-जागरूक खोज सुविधाएँ
  • प्रभावी रेंज-आधारित डेटाबेस फ़िल्टरिंग

मुख्य विशेषताएँ

  • जियोहैश संकोडन और डीकोडन
  • दो बिंदुओं के बीच की दूरी की गणना
  • प्रश्नों के लिए भौगोलिक हैश परास का उत्पादन
  • Firestore के लिए अनुकूलित
  • क्रॉस-प्लेटफॉर्म संगतता
  • भूस्थितिक कार्यों के लिए सरल API

इनके लिए उपयुक्त

  • स्थान-आधारित एप्लिकेशन बना रहे डेवलपर्स
  • प्रभावी भू-स्थानिक डेटाबेस प्रश्नों की आवश्यकता वाले ऐप
  • जियोलोकेशन डेटा के साथ Firestore का उपयोग करने वाले प्रोजेक्ट
  • क्रॉस-प्लेटफ़ॉर्म मोबाइल और वेब एप्लिकेशन
  • त्वरित निकटता खोज की आवश्यकता वाले अनुप्रयोग

विचार योग्य बातें

  • मुख्य रूप से Firestore पर परीक्षण किया गया
  • जियोहैश-आधारित स्थानिक इंडेक्सिंग पर सीमित
  • जियोहैश अवधारणाओं की समझ की आवश्यकता है
  • गैर-भू-स्थानिक डेटाबेस के लिए अनअनुकूलित
  • सही निर्देशांक इनपुट पर निर्भर करता है
  • किनारे के मामलों के लिए अतिरिक्त तर्क की आवश्यकता हो सकती है भूस्थानिक प्रश्नों के लिए

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

georange

Dart License: MIT Pub Version

Georange is a package that helps with encoding geohashes, decoding geohashes,calculating distance between 2 points and generating latitudinal and longitudinal ranges as geohashes to help with the querying of databases (Tested on Firestore Only).

Heavily influenced by GeoFlutterFire

Buy Me A Coffee

Getting Started

You should ensure that you add Georange as a dependency in your flutter project.

dependencies:
  georange: <latest-version>

You should then run flutter packages get

Example

There is a detailed example project in the example folder.

Initialize

Import georange to your dart file and initialize

import 'package:georange/georange.dart';
GeoRange georange = GeoRange();
Encode LatLng

This method encodes the latitude and longitude

var encoded = georange.encode(-1.2862368,36.8195783);
print(encoded);

prints kzf0tvg5n

Decode Geohash

Decode a [geohash] into a pair of latitude and longitude.

Point decoded = georange.decode("kzf0tvg5n");
print(decoded);

prints -1.2862372398376465 36.819584369659424

Generate Range
  Range range = georange.geohashRange(-1.2921, 36.8219, distance: 10);
  print(range.lower);
  print(range.upper);

prints kzf05k6hh kzf30mptu

Calculate Distance between 2 Points
  Point point1 = Point(latitude: -4.0435, longitude: 39.6682); //Mombasa
  Point point2 = Point(latitude: -1.2921, longitude: 36.8219); // Nairobi

  var distance = georange.distance(point1, point2);
  print(distance);

prints 439.716 Distance in Kilometres

Usage with Firestore

  1. Add a document to firestore with a geohash field or a different name
  final FirebaseFirestore _db;
  ...
  String myhash = georange.encode(-1.2862368,36.8195783);
  await _db.collection("locations").add({
    "geohash":myhash,
  })
  ...
  1. Query Firestore (Runs like a normal firestore query)
final FirebaseFirestore _db;

GeoRange georange = GeoRange();

Range range = georange.geohashRange(currentLocation.latitude, currentLocation.longitude, distance:10);

QuerySnapshot snapshot = await _db
 .collection("locations")
 .where("geohash", isGreaterThanOrEqualTo: range.lower)
 .where("geohash", isLessThanOrEqualTo: range.upper)
 .limit(10)
 .get();

श्रेणियाँ

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।