草庐IT

geoLocation

全部标签

python - 在用户的经度/纬度 20 英里范围内查找经度/纬度

我正在开发一个应用程序,用户可以在其中搜索其位置附近的项目。当用户注册我的服务时,会获取他们的经/纬度坐标(这实际上是从邮政编码中获取的,然后通过Google查找经度/纬度坐标)。当用户添加一个项目时,也会发生这种情况,系统会要求他们提供该项目的邮政编码,然后将其转换为经度/纬度。我的问题是,我如何使用MySQL运行一个查询,该查询会在距离用户位置(比如说20英里)的范围内进行搜索,并获取20英里半径范围内的所有项目? 最佳答案 假设精度不是真正的问题(取正方形而不是圆形,并忽略地形),您可以这样做:SELECT...FROM...

php - 当前位置是否在表中存储的项目半径内?

我有一个表,每行存储经度/纬度/半径(英里)。我想弄清楚的是如何只选择我当前点所在的行。这与查询当前位置给定半径内的位置相反,相反,我实际上想查询当前点所在的位置。如有任何帮助,我们将不胜感激。 最佳答案 这很容易成为一道数学题。两点(x1,y1)和(x2,y2)之间的距离可以计算如下:简单的毕达哥拉斯。查询你的数据库,第一点是你要找的点,第二点是你从数据库中得到的,如果上面语句的结果小于半径,就在你的范围内。(假设所有单位都匹配。您可能希望将纬度/经度差异转换为公里/半径的任何单位)

php - 城市名称到地理坐标的PHP脚本?

我需要开发一个php脚本,它要求输入城市名称并返回带有城市地理坐标的简单回显。输入数据:城市名或城市名,国家我知道有一个名为GeoNames的免费数据库您是否可以下载包含此信息的数据库,但我真的不知道如何将此数据库导出到我的MySQL服务器,有3个文件可能是我认为需要的,但我不知道我需要选择什么:cities1000.zip11-Jul-201001:133.4Mcities15000.zip11-Jul-201001:131.1Mcities5000.zip11-Jul-201001:131.8Mseewerethisfilesare那么,使用这个数据库是个好主意吗?有一个在线API

php - 如何使用 Eloquent 查询两个坐标之间的距离

我知道这个问题已经被问过很多次了。但是没想到按照自己的需求来制作。我需要查询离另一个用户最近的用户。基本上,我有一个users表,该表与具有纬度和经度字段的users_locations表具有一对一关系。所以我看到了这个https://laravel.io/forum/04-23-2014-convert-this-geolocation-query-to-query-builder-for?page=1这可能是最好的解决方案。但我的基本查询是:\App\Model\User::whereNotIn('id',$ids)->where('status',1)->whereHas('us

php - 如何在laravel中搜索给定距离和给定经纬度的所有位置

这是我的情景:我通过以下方式将商店详细信息保存在mysql数据库中。shopName,latitude,longitude,现在如果有人给出他的经纬度位置和距离(比如5公里),我需要填写他5公里范围内的所有商店,这里以用户为中心,半径为5km,我需要找到该圆圈内的所有商店,我的应用程序是在laravel5.1中开发的我试着按照这个code,但这是行不通的。谁能帮帮我 最佳答案 您可以在您的模型中添加以下代码publicfunctionScopeDistance($query,$from_latitude,$from_longitud

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

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

sql - 地理位置 SQL 查询找不到确切位置

我测试我的地理定位查询已经有一段时间了,直到现在我还没有发现任何问题。我试图搜索给定半径内的所有城市,通常我使用城市的坐标搜索城市周围的城市,但最近我尝试在城市周围搜索并发现城市本身没有返回。我的数据库中有这些城市的摘录:citylatitudelongitudeSaint-Mathieu45.316708-73.516253Saint-Édouard45.233374-73.516254Saint-Michel45.233374-73.566256Saint-Rémi45.266708-73.616257但是当我在Saint-Rémi市周围运行查询时,使用以下查询...SELECTt

php - 如何在 PHP 中使用 MaxMind GeoIP?

我正在使用MaxMind的GEOIPCITY数据库的二进制版本。以下代码为我提供了我需要的有关访问者的所有信息:include("geoipcity.inc");include("geoipregionvars.php");$gi=geoip_open("GeoLiteCity.dat",GEOIP_STANDARD);print_r(geoip_db_get_all_info());$record=geoip_record_by_addr($gi,$user_ip);print$record->country_code."".$record->country_code3."".$re

php - 在 MySQL 中的十进制列中查找最接近的匹配项

下午,我很难理解这个问题。我有一个MySQL表,其中包含英国邮政编码及其经度和纬度值的列表。我希望能够对表格进行搜索,以找到最接近给定经纬度对的邮政编码。我一直在尝试使用的查询是:"SELECTid,outcodeASthecode,@la:=MATCH(lat)AGAINST(?)ASscore_lat,@ln:=MATCH(lng)AGAINST(?)ASscore_lng,@la+@lnASscore_totalFROMpostcodesORDERBYscore_totalDESCLIMIT10然而,这只会返回看似随机的邮政编码,例如Lat:55.775549和Long:-4.0

java - 如何将此 MySQL 查询转换为 Hibernate 查询

我想问一下如何将这个MySQL查询转换为Hibernate查询:SELECT*FROMCitiesWHEREWITHIN(GeomFromText('POINT(52.513.3)'),polygon);或者这个SELECT*FROMCitiesWHEREMBRContains(polygon,GeomFromText('POINT(52.513.3)');谢谢。托马斯 最佳答案 明白了:importcom.vividsolutions.jts.geom.Coordinate;importcom.vividsolutions.jts