草庐IT

Redis:如何使用geohash API获取给定矩形中的点?

示例:给定3个点(1,1),(2,2),(5,5)和一个矩形(0,0)(3,3),得到2分(1,1)和(2,2)。用georadius很容易取圆的点,但是好像没有方便的方法取矩形的点。 最佳答案 没有内置的方法可以做到这一点。但是,您可以使用可以覆盖整个矩形的圆进行空间搜索。对于每个检索到的点,检查它是否在矩形内。 关于Redis:如何使用geohashAPI获取给定矩形中的点?,我们在StackOverflow上找到一个类似的问题: https://stac

mongodb如何按距离过滤

假设我有一个这样的用户集合:{"lastName":"Doe","firstName":"John",..."location":{"country":"USA","city":"NewYork",..."lat":123456,"lon":123456}}我想按距离过滤我的收藏:返回100公里附近的所有用户。文档$near中有。但是找不到如何使用它。我有这样一个例子:db.users.find({location:{$near:[-73.9667,40.78],$maxDistance:100000}});所以我认为我的问题是如何告诉mongo他必须检查user.location.l

node.js - MongoDB 存储车辆跟踪信息

我正在构建一个类似于Uber的应用程序来跟踪车辆。由于更新频率如此之高(占多个用户),我想知道加快写入mongodb集合所涉及的一般做法。我正在维护一个数据库来存储所有车辆的历史位置信息,但一旦我们投入生产,它的增长势必会非常快。我需要获取最接近某个点的车辆列表。为此,我应该实现一个单独的表(每辆车一行),该表在每次更新后都会更新,还是有更好/更快的方法使用现有表来做到这一点? 最佳答案 两个单独的集合可能是这里的最佳选择。一个包含当前位置的vehicles集合。它甚至可以包括50个最近的位置条目,添加$push和$slice以避免

MySQL查找最接近点的多边形

我有一个包含地理标记对象的MySQL数据库。通过使用用户绘制的边界多边形来标记对象,然后我的程序将其导出到数据库中。边界多边形作为多边形(MySQL空间扩展类型)存储在数据库中。我可以想到几种方法来做到这一点,但我对其中任何一种都不是很满意,因为这需要一个高效的过程,并且会相当频繁地执行,尽管相关的记录可能只有不到50,000条表。我需要一种方法,在给定地球上的任何一点的情况下,找到与最近的地理标记/边界对象相对应的记录。它不需要在所有情况下都是正确的,但是,假设(只是为了发明一个数字),95%的时间。如果不需要非常频繁地进行手动更正,则可以接受。 最佳答案

MySQL 空间数据类型索引性能比较

针对具有包含点和多边形(GeomCollection类型)的几何类型的索引列的MBR函数查询是否会比针对具有多边形类型的索引列的MBR函数慢?我的程序员直觉告诉我它会更慢,我应该尽可能使用最具描述性的空间类型。编辑:阅读丹尼斯的回答后,真正的问题是:在MySQL中“包含点和多边形的几何类型的索引列实际上包含后者还是它们被简化为MBR?” 最佳答案 我冒着在这里回答的风险,不确定MySQL方面...但在Postgres中,使用GIST索引的几何类型通常是indexedasboxes,又名MBR,无论它们是圆、多边形等。所以真正的问题可

php - 将 Lat/Long 空间扩展插入 MySQL

我想将多边形放入MySQL数据库,然后使用PHP能够查询纬度/经度点是否在多边形内。这里有任何指针。从来没有做过这样的事情。 最佳答案 MySQL使用通常默认安装的扩展来支持空间列和函数。MySQLReferenceforspacialfeaturesHowtouseMySQLSpacialextension 关于php-将Lat/Long空间扩展插入MySQL,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

mysql - 如何确定地球表面的哪些图像与任意给定图像重叠?

假设您获得了一张地球表面的图像,并且它作为由角的纬度/经度对定义的多边形存储在数据库中。现在假设有数百万张覆盖地球表面的图像也以类似方式存储。找到那些与给定图像相交的图像的好策略是什么?我有一个基于图像“边界半径”的工作基本算法。但它不是最优的,找到的图像多于应该返回的图像。我看过MySQL的GIS空间函数,但其​​中的所有计算似乎都是在欧几里德几何中完成的。本质上,我只需要一个根据两个多边形(在球体上并由纬度/经度点定义)是否相交返回“真”或“假”的函数。看起来很简单,但我还没有找到实现。一想到要自己解决这个问题就很累。 最佳答案

mysql - 从 grib 天气模型中提取数据

我已经从GFS下载了grib1模型数据,我使用的是MacOSX并且能够从NOAA构建wgrib2文件但无法提取数据。我还没有找到适用于MAC的grib1实用程序。然后我运行这个程序http://www.giss.nasa.gov/tools/panoply/能够读取文件并查看数据,但我遇到了一些问题。这些值以其他单位表示(例如K代表温度,其他单位不同于mm代表降雨量)我可以导出CSV但只能导出值而不是坐标我想做的是:从grib中提取数据通过命令行经纬度文件提取数据并移动到MySQL数据库,以便能够进行一些数据聚合(求和、最大值、最小值)等能够绘制/映射数据(我可能会使用CartoDB服

php - 如何使用PDO bindParam将点数据插入mysql?

详情我想利用mysql的空间扩展,所以我尝试使用bindParam将经度和纬度存储在数据类型为POINT的mysql表中。不幸的是,我不断收到错误SQLSTATE[23000]:违反完整性约束:1048列“位置”不能为空。我已经检查过经度和纬度是否有值。所以问题一定出在我的代码上,但我看不出我做错了什么。这是我使用的代码。$location=$latitude."".$longitude;$sql="INSERTINTOmy_geodataSETlocation=PointFromText('POINT(:location)')";//INSERTINTOmy_geodataSETlo