yxixi 发表于 2015-7-8 08:37:39

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]
查看完整版本: Python MongoDB Spatial Query