草庐IT

geoLocation

全部标签

mysql - 计算mysql中哪些点(纬度,经度)在一定距离内?

有两个点A、B,距离为x(距A英里)和y(距B英里)。设从A到B的距离为N。因此,A与B相距N英里。我该如何解决问题:距A(N+x+y)英里的可用点有哪些?我不确定如何更好地解释这一点。我真的不知道如何解决这个问题,我读了FastestWaytoFindDistanceBetweenTwoLat/LongPoints并且我相信给出的解决方案计算了两点之间的距离,并且不知道该解决方案是否可以用于解决我的问题,或者如果可以,如何解决。 最佳答案 如果您正在寻找近似算法,我建议寻找k-means算法或层次聚类,尤其是怪物曲线或空间填充曲线

mysql - 距离+关键词搜索方案

对于一个房地产网站,我需要实现一个允许搜索文本和距离的搜索机制。当lat和lon记录在单独的列中时,在MySQL表上进行距离计算很容易,但房子往往有LOTtrue/false属性。我需要将所有这些字段存储在数据库中,因为它们需要可编辑,所以我打算使用像|这样的简单表格房屋编号|property|我在其中存储所有为真(设置)的属性。这将使我免于创建一个包含数百列的宽得离谱的表,但搜索该数据库将不太可行。我考虑过在每个房屋的主记录中添加一个类型为text的列,其中包含所有true属性的字段名。然后我会搜索human文本描述和那个文本列,但我觉得这仍然不是最好的方法。我怎样才能以干净的方式解

mysql - 用于查询坐标的最有效的 MySQL 解决方案

我有一个地理定位对象的数据库:编号纬度经度我正在查询数据库以获取盒子内的对象:WHERElongitude>=-33.83789ANDlongitude=4.214943ANDlatitude有一个索引:latitude,longitude。是否有更有效的存储/查询数据库的方法?目前,根据框坐标/对象密度,查询时间从0.1秒到超过1秒不等。我知道MySQLSpacialextension,但使用起来似乎有点麻烦,我不知道它是否会更容易/更有效率。其他信息:我还计划在未来执行简单的基于距离的查询(获取指定位置附近的对象)。 最佳答案

mysql - 用于搜索地理坐标的数据库设计

在MySQL数据库中,我有动物(大象)的跟踪数据。目前设计如下:timestamp(INT)|individualID(INT)|longitude(DECIMAL)|latitude(DECIMAL)现在我想向数据库提出几个问题时间t最接近的个体是什么?在时间t周围(周边50公里)有哪些人?哪些人在时间t出现在预订中?(预订由多边形给出)是否有一些可用于MySQL的内置功能?我应该选择不同的数据库吗? 最佳答案 有一个MySQLSpatialExtension,实现GEOMETRY,基于OGCSFS(简单的特征规范)。它是许多数据

mysql - 如何索引此 MySQL 表以用于 GEO 数据?

我的table现在是这样的:CREATETABLEIFNOTEXISTS`x_geodata`(`post_id`int(11)NOTNULL,`post_type`varchar(20)NOTNULL,`lat`float(10,6)NOTNULL,`lng`float(10,6)NOTNULL,PRIMARYKEY(`post_id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;如何正确有效地对该表进行索引?在此表上运行的唯一查询如下:if(!empty($_SESSION['s_property_radius'])){$dist=$_SESSION['s_

php - 允许用户手动覆盖地理位置

我一直在寻找一种允许用户手动覆盖网站上的地理位置的方法(以防其不正确)。感谢所有抽出时间回复我的帖子的人,他们已经用google搜索了allot但没有任何进展。 最佳答案 为用户添加一个文本框以输入他们的位置。然后将其提交给地理编码API服务,例如GoogleMaps、geocoding.us、YahooMaps等。返回并在您的应用程序中使用该结果。如果您使用GoogleMapsAPI,对地址进行地理编码非常简单。address是用户输入街道地址的文本字段。latlng是一个文本字段,用于保存输出的纬度/经度。$('#searchB

php - 每分钟将用户的地理位置发送到服务器

我正在尝试编写一个应用程序,每分钟左右将用户的地理位置发送到MYSQL数据库。这是我现在拥有的代码,但它不起作用。我需要如何更改它才能使其正常工作?JS:setInterval("onPositionUpdate()",10000);functiononPositionUpdate(position){varlat=position.coords.latitude;varlng=position.coords.longitude;jQuery.ajax({type:"POST",url:"myURL/location.php",data:'x='+lat+'&y='+lng,cache

mysql - SilverStripe ORM 中每个 mysql 位置 Y 周围半径 X 内的位置

我在SilverStripe3.4.0中根据mysql过滤位置Y半径X内的位置。到目前为止,我已经实现了一个原始查询来获取圈子中的ID,而不是使用这些来过滤每个SilverStripeORM,因为我必须根据多个条件进行过滤,而地理过滤器只是其中之一。另请参阅Google的“StoreLocator”示例:https://developers.google.com/maps/articles/phpsqlsearch_v3$searchDistance='...';$searchLat='...';$searchLng='...';$geolimitedIDs=DB::query('SE

mysql - Symfony i18n 表 : Ways to get fallback default value?

我正在MySQL中构建一个包含大约10K行的城市名称表作为Symfonyi18n表。基本上,默认文化是en_US,表中的每个城市最初都是这种文化。随着时间的推移,我只想将那些可能具有不同语言的替代名称的城市添加到表中,例如“London(en_US)/Londres(es_ES)”,而不必为每个城市复制所有城市数据单独表格中的语言。现在,据我所知,如果翻译不存在,Symfony不会自动选择后备默认城市名称。所以我需要制定一个解决方案来执行以下操作:如果存在翻译,请选择它....如果不存在,请选择默认的en_US城市名称。到目前为止,我似乎应该使用COALESCE。但是,由于我对它不是很

mysql - foursquare 或 gowalla 从哪里获取位置数据?

我知道foursquare使用googlemapsapi,但他们如何从googlemaps检索所有业务位置?他们是将每个位置都保存在数据库中,还是仅在用户签到时访问它?对不起,如果我让你感到困惑,但我很好奇!:)) 最佳答案 我对此做了一些研究,他们所做的是他们使用googlemapsapi来检索业务位置的信息,以及地理位置、地址、业务等,如果有人取消登记到某个位置,它会被保存到他们的数据库。这可以防止他们保存大量不相关的位置。另一件事是,用户或企业可以根据需要创建新位置,因为并非所有位置都会出现在谷歌地图上!!希望对您有所帮助!