草庐IT

php - 如何根据纬度和经度获取给定范围内的所有点?

场景:我有一个包含三个表的数据库,用户、位置、库存;在用户中我有:id,name,email在我拥有的位置中:id,place,lati,logi库存中我有:id、user_id、product、total_count、location_id我是新手,我设法加入了所有表格:$qry="SELECTCOUNT(id)FROMstockLEFTJOINusersONstock.user_id=users.idLEFTJOINlocationsONstock.location_id=locations.id";但我希望能够使用纬度和逻辑按距离对它进行排序。因此,例如,我想要25英里内的所有内

mysql - 获取具有最新时间日期的每个 truckId 的 GPS 数据(纬度、经度、地址)

我有下表:main(rowId,posDatetime,truckId,lat,lon,address)rowId:PKposDatetime:坐标和地址的日期和时间卡车编号经纬度地址:地址字符串行不是按日期时间顺序提供的。为了获得每辆卡车的最新位置,我使用以下查询访问了数据库FOREACH卡车:SELECT*FROMmainWHEREtruckId=XXXXORDERBYposDatetimeDESCLIMIT1它得到了我想要的,但我觉得它效率低下,我试过使用MAX()但它得到的数据行不是MAX()值。有没有办法做这样的事情:select*frommainwhererowId=MAX

php - 按顺序分组纬度和经度对

我有一个表,其中每x秒写入一个位置。该表由以下列组成:lat|lon|time|.....最终目标是使轨道在map上可见,并在设备停止显示图像的点上显示。在随着时间的推移有多个条目的点上,应将行添加到一起以在该位置显示具有“timeSpent”的行,这是同一位置不同行的差异。所以:lat|lon|timeFirst|timeSpent例如这是“原始”表:x1,y1,13:00:12//Point1x1,y2,13:01:34//Point2x3,y3,13:02:01//Point3x3,y3,13:03:03//Point3x3,y3,13:04:34//Point3x3,y3,13

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

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

mysql - 需要帮助优化 mysql 的纬度/经度地理搜索

我有一个mysql(5.0.22)myisam表,其中大约有300k条记录,我想在五英里半径内进行纬度/经度距离搜索。我有一个涵盖经纬度字段的索引,当我只选择纬度/经度时速度很快(毫秒级响应)。但是,当我选择表中的其他字段时,速度会减慢到5-8秒。我正在使用myisam来利用全文搜索。其他索引表现良好(例如select*fromListingwhereslug='xxxxx')。如何优化我的查询、表或索引以加快速度?我的模式是:CREATETABLE`Listing`(`id`int(10)unsignedNOTNULLauto_increment,`name`varchar(125)

php - 使用纬度和经度获取最近的位置

我有一张表hotspotsidnamedate1foo2011-06-1515:10:342bar2011-07-0216:45:18还有一个表locationshotspotidzipcodelatitudelongitude190001xxxxxxxxxx245802xxxxxxxxxx我如何使用SQL查询列出特定经度和纬度附近的热点?附言我想要一个纯SQL解决方案,但如果需要,php也可以。谢谢 最佳答案 首先,您需要每个热点的地理位置,最好使用纬度和经度。您可以使用GoogleGeocodingAPI遍历每条记录并存储纬度/

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

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

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

mysql - 如何在 MySQL 中存储纬度和经度?

我正在尝试将纬度39.8162994和经度-98.5576019存储为float,但结果像0.00000000000和-98.55760192871,因此。有什么问题?我使用float(15,11)作为数据类型。 最佳答案 您可能应该使用DECIMAL(10,7)以便能够存储具有7个小数位的longitude值:±179.1234567。FLOAT数据类型用于表示近似数字数据值,而另一方面,您可能更愿意使用DECIMAL数据类型来存储精确值。 关于mysql-如何在MySQL中存储纬度和

php - 使用 yii2 插入查询以 Mysql Geomfromtext 点格式存储纬度和经度值

我正在尝试使用yii2插入查询以MysqlGeomfromtextPoint格式存储纬度和经度值。$column_name->NORTHING_EASTING=POINT(43.005895,-71.013202);但它不起作用。它会抛出一些错误。我不知道如何以点格式在mysql中存储坐标。我的字段数据类型是POINT(Geomfromtext)。过去7天我都在尝试这个,但我一直在努力知道任何想法。如果有人有解决这个问题的想法,请帮助我。提前致谢!我将值存储在数据库中,如下所示: 最佳答案 我尝试使用上面的代码。但是我没有得到正确的