c# 在mongo中查询经纬度范围
#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);
});
最新文章
- RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用
- eclispe或者myeclispe maven jar包不能部署到tomcat下
- CentOS下如何完全卸载MySQL?卸载自带的mysql
- editplus 替换换行 excel 表格 拼装sql语句技巧
- python(22)总结下最近遇到的编码问题
- matlab读取txt文档中的数据
- Duilib学习笔记《03》— 控件使用
- [翻译]AOP编程
- 【HDU1402】【FNT版】A * B Problem Plus
- python 入门快速学习整理
- Windows下动态库的编译以及调用
- weblogic-部署web应用
- Run a task only once in (akka) cluster
- win10 + ubuntu 16.04 双系统安装
- Linux文件夹文件改英文
- Navicat 用ssh通道连接时总是报错 (报错信息:SSH:expected key exchange group packet form serve
- 如何为你的树莓派安装一个WIN10系统?(非iot)
- Visual Studio 2015的安装及单元测试练习
- Docker : endpoint with name xxx already exists.
- Java 注解概要
热门文章
- angularjs 在 iframe 里面无法正确显示 src 指定的内容
- Linux之sed、awk
- Xcode报错Xcode导入runtime框架函数参数没有提示或Too many arguments to function call, expected 0, have 2错误
- [daily][dpdk] 内核模块(网卡驱动)无法卸载
- pip list 和 pip freeze
- 机器学习【工具】:Numpy基础
- 浅谈KMP算法
- es6学习一 promise上
- hdu1240/poj2225 BFS广搜的再理解
- docker+jenkins的构建历史记录(Build History)时间不正确