草庐IT

经纬度

全部标签

java - 按纬度和经度的 hibernate 条件

有一个包含超过2000万行的MySQL表,Hibernate是否有某种方法可以建立一个标准,以便在给定经纬度的情况下获得最近的行?使用Criteria会很棒,因为我需要使用更多过滤器(价格、类别等)。最后,是否可以让行按距离排序?还是行数太多? 最佳答案 计划A有大量的行,INDEX(lat)是一个非启动器,在性能方面,即使限制为条纹:纬度在65和69之间。INDEX(lat,lng)并没有更好,因为优化器会不要同时使用两列,即使使用ANDlngBETWEEN...B计划您的下一个选择将涉及lat和lng,以及一个子查询。5.6版将

mysql - 在 MySQL 中获取接近经纬度的多边形

有谁知道从一个点到给定距离内获取MySQL数据库中所有多边形的方法吗?实际距离并不那么重要,因为它是稍后为每个找到的多边形计算的,但是仅对“接近”的多边形进行计算将是一个巨大的优化。我看过MBR并包含函数,但问题是一些多边形没有包含在围绕该点绘制的边界框内,因为它们非常大,但它们的一些顶点仍然很近。有什么建议吗? 最佳答案 慢速版本(没有空间索引):SELECT*FROMmytableWHEREMBRIntersects(mypolygon,LineString(Point(@X-@distance,@Y-@distance),Po

php - 从数据库中获取相似的经纬度

我正在使用Phonegap和JQuery创建一个移动应用。该应用程序收集用户的经度和纬度并将它们存储在数据库中(使用PHP脚本-网络服务),并使用某种算法检测是否有流量。我需要的是从数据库中获取所有彼此接近的经度和纬度值,比如在同一条街道/200米范围内。假设您在数据库中有一个列表,其中5个经度/纬度彼此靠近(在同一条街道A),3个经度/纬度在某个街道B中彼此靠近,另外一些随机代表用户在其他街道。谁能告诉我如何检测彼此接近的经/纬度值?我将它们作为单独的值存储在MySQL数据库中,即一个字段用于经度,另一个字段用于纬度。一旦我获得彼此靠近的经度/纬度,然后我需要找到街道A的用户和街道B

mysql - 多个经纬度点的半径

我有一个程序将一组经/纬度点作为输入。我需要对该阵列进行检查以确保所有点都在一定半径内。因此,例如,我允许的最大半径是100英里。给定一个纬度/经度数组(来自MySQL数据库,可能是10点可能是10000)我需要弄清楚它们是否都适合半径为100英里的圆。有点难以理解如何处理这个问题。任何帮助将不胜感激。 最佳答案 查找thesmallestcirclecontainingallpoints,并将其半径与100进行比较。 关于mysql-多个经纬度点的半径,我们在StackOverflow

php - 根据纬度/经度选择20公里以内

我有一个mysql表,结构如下所示:POSTAL_CODE_ID|PostalCode|City|Province|ProvinceCode|CityType|Latitude|Longitude7|A0N2J0|Ramea|Newfoundland|NL|D|48.625599999999999|-58.97588|A0N2K0|Francois|Newfoundland|NL|D|48.625599999999999|-58.97589|A0N2L0|GreyRiver|Newfoundland|NL|D|48.625599999999999|-58.9758现在我要做的是创建一个

mysql - MySQL生成随机经纬度

我正在尝试在MySQL中生成一些虚拟记录,并且需要在给定范围内创建随机纬度和经度浮点值。例如,我需要生成介于52.077090052913654和52.477040512464626之间的纬度和-1.8840792500000134和-0.9172823750000134之间的经度我熟悉使用RandFloor创建随机数范围,但这只会产生整数。我该怎么做? 最佳答案 您可以使用RAND()来获取两个值之间的随机值,如下所示:randVal=(RAND()*(maxVal-minVal))+minVal用你的数字:SELECT(RAND

MySQL GIS 纬度/经度到 X/Y : which is which?

是否有关于MySQL中的GIS点应该存储为POINT($latitude$longitude)还是POINT($longitude$latitude)的约定?让经度对应于笛卡尔map上的X在北朝上时在视觉上更有意义,但通常的说法是“纬度和经度”。 最佳答案 在MySQL中,您可能会使用GeomFromText()函数在空间字段中插入数据。此函数使用WKT(Well-KnownText)格式来定义几何图形,在POINT情况下,它定义为:POINT($longitude$latitude)

mysql - 使用 MySQL 有效计算哪些点接近给定纬度/经度的最佳方法是什么?

我正在尝试设计一个MySQL架构,该架构可以存储具有相关纬度和经度的用户列表。然后,对于给定的用户,我想构建一个查询,该查询可以返回离他/她最近的50个用户,并按距离对这些用户进行排序(最先显示最近的用户)。鉴于此表中可能有成千上万的用户,存储和查询此数据的最有效方式是什么? 最佳答案 尝试阅读这篇文章:CreatingaStoreLocatorwithPHP,MySQL&GoogleMaps那篇文章展示了Haversineformula的MySQL解决方案,这是在给定纬度和经度的情况下计算距离的最佳方法。

mysql - 在 Mysql 中存储经度/纬度的数据类型

'43.005895','-71.013202'尝试使用:INSERTINTOtable(fanDetLocZip,fanDetLocCity,fanDetLocState,fanDetLocLat,fanDetLocLong,fanDetLocTZ,fanDetLocDST)VALUES(00210,'Portsmouth','NH','43.005895','-71.013202',-5,1);我目前使用的数据类型是SPATIAL,GEOMETRY.它给我这样的错误:无法从您发送到GEOMETRY字段的数据中获取几何对象所有数值都是2位数字,小数点后6位小数。我如何将其存储在mys

MySQL经纬度表设置

我想将地点的纬度和经度值存储在mysql数据库表中。考虑到future,我希望能够在特定位置的特定半径范围内找到这些地方。话虽如此,我应该将纬度和经度值存储在什么数据类型中?你能给我提供一个像这样的列的创建表脚本吗:place_id|lat|long上表中是否有我遗漏的一列可以提供我目前可能看不到的额外信息?感谢您的帮助。 最佳答案 您应该将点存储在数据类型为Point的单列中,您可以使用SPATIAL索引对其进行索引(如果您的表类型为MyISAM):CREATESPATIALINDEXsx_place_locationONplac