草庐IT

latitude-longitude

全部标签

MySQL存储 float

我正在尝试保存这么长的float13.00386644742523它基本上是Lat和Lng值。当我将它保存在数据库中时,它被存储为13.0039 最佳答案 您应该明确使用精度并且类型应该是DECIMALNOTFLOAT因为小数点后的每个数字都很重要,你不能让它们因为四舍五入而改变。`lat`DECIMAL(16,14)继续阅读manual 关于MySQL存储float,我们在StackOverflow上找到一个类似的问题: https://stackoverf

尝试从经度和纬度获取距离时出现Mysql错误

基本上我有一个在经度和纬度中设置的数据库。我已经尝试了几个小时来解决我遇到的MySql问题,但我找不到我的错误。这是我收到的错误:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'€“longitude)*PI()/180))*180/PI())*60*1.1515)*1.609344)ASdistance'atline1这里是MySql数据库查询,用于获取long和lat的距离:$res=mysql_query("S

mysql - 在 MySQL 8 中使用点数据类型和 st_distance_sphere 查找最近的地方

我有一个名为place的表:id|name|coordinates(longitude,latitude)1|London|-0.12574,51.508532|Manchester|-2.25,53.416673|Glasgow|-4.25,55.86667坐标列是点数据类型。我使用以下方法将点插入到place表中:st_geomfromtext('point($longitude$latitude)',4326)请注意,我已经使用了SRID。给定任何坐标,我想找到离它最近的地方(按升序排列)。我目前提出的解决方案(通过阅读MySQL文档)如下所示:select*,st_distan

php - 查找数据库中在一组纬度和经度点的特定距离内的所有记录

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我已经看过所有的例子,这是我到目前为止得到的。我的表格很简单:学校(表名)-学号-纬度-长-县-额外信息这是我的代码:0){while($row=mysql_fetch_assoc($results)){print_r($row);}}else{}mysql_close($con);?>但是当我尝试运行它时出现这个错误:警告:mysql_num_rows

mysql - 结合 BTREE 和地理/空间索引来加速我的查询?

我有一个包含500,000行的mysqlmyisam表。在这张表中,我有不同类型的地点和经纬度坐标的信息。根据用户的不同,我想在距离由纬度和经度定义的点一定距离内选择某种类型的地方。我有一个空间索引和一个关于纬度、经度、类型的多列索引。如果某个区域内的行数不是太大,那么这些索引就可以很好地工作。问题是在某些情况下,我需要从某个点(由纬度、经度坐标定义)使用非常大的半径,因为所需类型的地方很少。然而问题是,当我搜索某种类型时,比如“x”,mysql会搜索大约20,000行,因为我的半径很大,比如“200公里”。然而,在现实世界中,距离某个点200公里范围内只有5个类型为“x”的地方。我在

mysql - MySQL多边形几何中的小数

我四处搜寻以寻找以下问题的线索甚至答案,但一无所获,所以我在这里提问。基本上,我试图用多边形填充MySQL中的几何列。但无论我尝试什么,该列最终的值为NULL而不是它应该是的值。在我看来,多边形的点不能包含纬度和经度等小数,但如果确实如此,那似乎完全不合逻辑!如果你不能把纬度和经度数据放进去,这种类型有什么用?!?!出于这个原因,我想看看我是否遗漏了一些简单的东西。这是我必须展示的内容:SELECTGEOMFROMTEXT('POLYGON((52.296005226447510.05256918782038156,52.291687506095030.0499942671660846

php - 使用纬度、经度和半径在 PHP 和 MySQL 中进行地理围栏

我有一个包含纬度、经度、用户ID和半径列的MySQL表。当用户提供他的当前位置(纬度、经度)和半径时,我想查询表格以根据两个半径向他提供重叠位置。例如,如果用户给我纬度12.5;经度73.5,半径5英里;我应该能够检索MySQL表中两个半径重叠的所有条目。我最初的想法是在数据库中为每个纬度、经度创建一个边界框(基于半径),然后根据这个边界框查询传入的位置详细信息。这种方法正确吗?如果我走这条路,有什么我应该关心的吗?任何能指导我正确方向的帮助将不胜感激。PS:以下链接是我用作引用的链接。http://janmatuschek.de/LatitudeLongitudeBoundingCo

mysql - 通过其他连接在 laravel 5 中获取经纬度

这对我来说是一个相当复杂的问题。我有一条搜索路线-效果很好,除了我无法通过邮政编码搜索以找到最接近给定邮政编码的纬度和经度。也就是说,我可以算出纬度和经度,但我不确定如何将它集成到我现有的查询中。此查询是不带邮政编码的搜索查询:$query=DB::table('dogs');$query->leftJoin('dog_addresses','dogs.id','=','dog_addresses.dog_id');$query->leftJoin('dog_videos','dogs.id','=','dogs_videos.dog_id');$query->leftJoin('do

mysql - 使用 Sequelize 和 MySQL 的地理空间距离计算器

我在Sequelize中有一个Location模型varSequelize=require('sequelize');module.exports=function(sequelize,DataTypes){varLocation=sequelize.define('Location',{location_id:{type:Sequelize.STRING,primaryKey:true},location_code:{type:Sequelize.STRING,allowNull:true},location_name:{type:Sequelize.STRING,allowNull

php - 用经度和纬度计算距离有不同的结果

我正在尝试获取两个位置的距离,我真的需要使用mySQL完成此操作,因为我必须过滤大量记录。不幸的是,mysql语句的结果与googlemaps的结果不同。可能是什么原因。我的Mysql语句是(Valueshardcoded)SELECT((ACOS(SIN(6.914556*PI()/180)*SIN(6.913794*PI()/180)+COS(6.914556*PI()/180)*COS(6.913794*PI()/180)*COS((79.973194-79.97330)*PI()/180))*180/PI())*60*1.609344*1000)AS`distance`我得到7