空间MongoDB:让地理空间变得极致简单(mongodb 地理)
空间MongoDB:让地理空间变得极致简单
随着软件的发展,能够处理地理空间信息的互联网应用越来越多,接近实时的地址翻译,准确精确的路线距离计算,GIS可视化解决方案使地理空间分析更容易。今天,MongoDB是处理地理数据的利器。它的开放源代码,高性能的可伸缩性以及可插拔的聚合管道功能,使其成为处理地理空间数据的理想之选。
MongoDB的地理空间支持功能(GIS)可以查询空间特征,如点,线,面和复合形状,以及与这些形状相关的属性信息。 MongoDB储存空间数据的实例是通过GeoJSON格式保存的,可以在索引中使用2dsphere索引来解析这些数据。例如,以下代码将给定的地理空间形状存储到MongoDB:
var PolygonShape = {
"type": "Polygon", "coordinates": [
[ [-105.801, 39.717],
[-105.801, 39.617], [-105.500, 39.617],
[-105.500, 39.717], [-105.801, 39.717]
] ]
}
db.locations.insert({name:"Today", geometry: PolygonShape});
MongoDB还提供许多GIS查询操作,包括搜索形状,穿越形状边界,两个大致等同的形状的相互比较,以及按距离排序,如以下代码:
//Find locations within given polygon
db.locations.find({ geometry: {
$geoIntersects: { $geometry: PolygonShape
} }
});
//Find locations within given distance db.locations.find({
geometry: { $geoWithin: {
$centerSphere : [[10.28, 58.59], 5 / 3963.2] }
}});
//Order locations by distance db.locations.find().sort({
geometry: { $geoNear: {
$geometry : referencePoint }
}});
MongoDB有助于节省空间和极大地减少开发时间成本。它允许开发人员使用更容易开发的技术将原始数据转换为易于使用的地理空间形状。这使开发人员能够轻松编写功能强大的空间数据应用程序,而无需太多的代码。
MongoDB的地理空间功能为开发人员提供了一个完整的解决方案,可以替代复杂的基础设施。它可以支持大数据量,高性能和实时地图查询。这样,开发人员可以在更短的时间内构建功能强大的地理空间应用程序,同时可以实现节省空间和成本效益。