Geo MongoDB地理信息数据库系统简介(geomongodb)
Geo MongoDB是MongoDB的一个地理信息数据库系统,它是一种用于存储和查询地理空间数据的NoSQL数据库系统。它可以为支持特定的地理查询模型的应用程序提供完善的服务。
Geo MongoDB由一个核心数据库和一组可选的插件构成,其中包括空间索引和地理函数。核心数据库提供基本查询,对象/属性模型,字符串搜索,TTL索引和其他一些功能。插件提供特定的函数,例如基于旋转世界坐标系统(RTW)实施有效的距离搜索,计算两个地理特征之间的距离,甚至计算多个地理特征的平均距离。
Geo MongoDB的开发者可以使用JavaScript和Java语言的可扩展的API对现有的功能进行扩展或创建新的地理数据库功能。此外,它还提供一个可编程的查询接口,允许开发人员将空间查询结果与其他查询数据集结合使用。
例如,你可以使用Geo MongoDB来计算一个特定标记点与最近四个建筑物之间的平均距离,如下代码所示:
//find average distance between point and 4 nearest building
var point = { type : “Point” , coordinates : [ -122.7315 , 45.312 ] };
var query = {
geoNear : “buildings” , // collection name
near : point , // location of the point
num : 4 , // number of nearest building
maxDistance : 500 // maximum distance (in meters)
};
db.runCommand(query , function(err , res) {
if (err) {
conssoler.log(err);
} else {
// calculate average distance of 4 nearest building
var average = res.results.reduce( (p , c ) => p + c.dis / 4 , 0);
console.log(average);
}
});
Geo MongoDB提供了一个可扩展且强大的geo-spatial数据库系统,可以满足任何根据地理位置查询数据的Web应用程序的需求。它既可以用作独立的应用,也可以与其他现有数据库系统相结合,使用它们提供令人兴奋和有用的新功能。只要您有一个需要提供地理信息支持的应用程序,Geo MongoDB就是一个不错的选择,可以为您提供帮助。