#region 索引

//IndexKeysDocument doc = new IndexKeysDocument();//新建索引

//2d 平面坐标索引,适用于基于平面的坐标计算。也支持球面距离计算,不过官方推荐使用2dsphere索引
//BsonValue value = BsonValue.Create("2d");//创建2d索引

//2dsphere 几何球体索引,适用于球面几何运算
//不过,只要坐标跨度不太大(比如几百几千公里),这两个索引计算出的距离相差几乎可以忽略不计
//BsonValue value = BsonValue.Create("2dsphere");//创建2d索引

//doc.Add("loc", value);//loc为数据库中2d索引的对象名称
//table.CreateIndex(doc);//创建索引

#endregion

double y = 26.0623344427;
double x = 119.2916107177;
double maxDistance = 0.5;//单位:公里(千米)
double earchR = 6378137 / 1000.0;//6378137:地球半径,单位:米
double distance = maxDistance / earchR;

IMongoQuery query = Query.WithinCircle("loc", x, y, distance, true);
IMongoQuery query1 = Query.Near("loc", x, y, distance, true);

var _location = new GeoJsonPoint<GeoJson2DGeographicCoordinates>(new GeoJson2DGeographicCoordinates(x, y));
IMongoQuery query2 = Query.Near("loc", _location, distance, true);

ConcurrentBag<double> bags = new ConcurrentBag<double>();
double totaletime = 0;
int max = 1000;
Parallel.For(0, max, (i) =>
{
    DateTime start = DateTime.Now;
    var finds = table.Find(query1).AsQueryable().ToList();
   
    double etime = (DateTime.Now - start).TotalSeconds;
    bags.Add(etime);
});

最新文章

  1. RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用
  2. eclispe或者myeclispe maven jar包不能部署到tomcat下
  3. CentOS下如何完全卸载MySQL?卸载自带的mysql
  4. editplus 替换换行 excel 表格 拼装sql语句技巧
  5. python(22)总结下最近遇到的编码问题
  6. matlab读取txt文档中的数据
  7. Duilib学习笔记《03》— 控件使用
  8. [翻译]AOP编程
  9. 【HDU1402】【FNT版】A * B Problem Plus
  10. python 入门快速学习整理
  11. Windows下动态库的编译以及调用
  12. weblogic-部署web应用
  13. Run a task only once in (akka) cluster
  14. win10 + ubuntu 16.04 双系统安装
  15. Linux文件夹文件改英文
  16. Navicat 用ssh通道连接时总是报错 (报错信息:SSH:expected key exchange group packet form serve
  17. 如何为你的树莓派安装一个WIN10系统?(非iot)
  18. Visual Studio 2015的安装及单元测试练习
  19. Docker : endpoint with name xxx already exists.
  20. Java 注解概要

热门文章

  1. angularjs 在 iframe 里面无法正确显示 src 指定的内容
  2. Linux之sed、awk
  3. Xcode报错Xcode导入runtime框架函数参数没有提示或Too many arguments to function call, expected 0, have 2错误
  4. [daily][dpdk] 内核模块(网卡驱动)无法卸载
  5. pip list 和 pip freeze
  6. 机器学习【工具】:Numpy基础
  7. 浅谈KMP算法
  8. es6学习一 promise上
  9. hdu1240/poj2225 BFS广搜的再理解
  10. docker+jenkins的构建历史记录(Build History)时间不正确