Python MongoDB Spatial Query
//引入Pymongo>>> from pymongo import MongoClient,GEO2D
// 链接数据库gis
>>> db = MongoClient().gis
//创建索引
>>> db.places.create_index([("loc",GEO2D)])
'loc_2d'
//插入数据
>>> db.places.insert({"loc":})
ObjectId('520e3893421aa91ddc7a8239')
>>> db.places.insert({"loc":})
ObjectId('520e38b6421aa91ddc7a823a')
>>> db.places.insert({"loc":})
ObjectId('520e38de421aa91ddc7a823b')
>>> db.places.insert({"loc":})
ObjectId('520e3909421aa91ddc7a823c')
//附近查询limit 查询前三个
>>>for doc in db.places.find({"loc":{"$near":}}).limit(3):
doc
{'loc': , '_id': ObjectId('520e3893421aa91ddc7a8239')} {'loc': , '_id': ObjectId('520e38de421aa91ddc7a823b')} {'loc': , '_id': ObjectId('520e3909421aa91ddc7a823c')}
//拉框查询
>>> for doc in db.places.find({"loc":{"$within":{"$box":[,]}}}):
doc
{'loc': , '_id': ObjectId('520e3893421aa91ddc7a8239')} {'loc': , '_id': ObjectId('520e3909421aa91ddc7a823c')} {'loc': , '_id': ObjectId('520e38b6421aa91ddc7a823a')} {'loc': , '_id': ObjectId('520e38de421aa91ddc7a823b')}
//点缓冲区查询
>>> for doc in db.places.find({"loc":{"$within":{"$center":[,10]}}}):
doc
{'loc': , '_id': ObjectId('520e3893421aa91ddc7a8239')}
//------参考文档
http://api.mongodb.org/python/current/examples/geo.html
转载请注明出处:http://www.iyunv.com/likehua
页:
[1]