MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मैं MongoDB में कई GeoJSON बिंदुओं के बीच मार्ग की दूरी की गणना कैसे करूं?

जैसा कि टिप्पणियों में भी बताया गया है, जावा का उपयोग करके यहां एक समान चित्र बनाने का प्रयास करेंगे। अपने डेटाबेस का नाम मानते हुए db और संग्रह नाम col . के रूप में और दस्तावेज़ प्रकार GeoData . के रूप में जिसे इस रूप में मॉडल किया जा सकता है:

public class GeoData {
    String tracerId;
    Location loc;
    Date date;
    Integer speed;
    ...getters, setters and other overrides
}

public class Location {
    String type;
    Coordinate coordinates;
}

public class Coordinate {
    double x;
    double y;
}

यह इस प्रकार आगे बढ़ेगा:

  1. दिनांक फ़ील्ड द्वारा आइटम सॉर्ट करें (मान लें कि आरोही क्रम में)

    MongoDatabase database = getDatabase("db");
    MongoCollection<GeoData> collection = database.getCollection("col", GeoData.class);
    Bson sortFilter = Filters.eq("date", "1"); //sort ascending
    List<GeoData> geoData = Lists.newArrayList(collection.find().sort(sortFilter));
    
  2. c = square root of [(xA-xB)^2+(yA-yB)^2] के वर्गमूल का उपयोग करके बिंदुओं के बीच की दूरी की गणना करें

    private static double distanceBetweenCoordinates(Coordinate a, Coordinate b) {
        return Math.sqrt(Math.pow(b.getX() - a.getX(), 2) + Math.pow(b.getY() - a.getY(),2));
    }
    
  3. मार्ग की दूरी की गणना करने के लिए उन सभी का योग करें

    double routeDist = 0.0;
    for (int i = 0; i < geoData.size()-1; i++) {
        routeDist += distanceBetweenCoordinates(geoData.get(i+1).getLoc().getCoordinates(), geoData.get(i+1).getLoc().getCoordinates());
    } 
    



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में अधिकतम कितनी शार्क हो सकती हैं?

  2. रेल मोंगोइड मॉडल क्वेरी परिणाम सीमा का उपयोग करते समय भी गलत आकार/लंबाई/गिनती जानकारी देता है

  3. node.js MongoDB क्वेरी परिणाम नहीं लौटा रही है

  4. डेटटाइम ऑब्जेक्ट और YYYY-MM-DD स्ट्रिंग के बीच MongoDB अंतर

  5. JSON दस्तावेज़ों की एक सरणी से MongoDB में दस्तावेज़ आयात करें