草庐IT

Coordinates

全部标签

sql - 两个坐标之间的距离,我怎样才能简化这个和/或使用不同的技术?

我需要编写一个查询,使我能够从提供的位置找到一定范围(英里)内的所有位置。表格是这样的:id|name|lat|lng于是我一直在研究,发现:thismysqlpresentation我已经在大约有100行的表格上对其进行了测试,而且还会有更多!-必须是可扩展的。我首先尝试了一些更简单的方法://justsometestdatathiswouldberequiredbyuserinputset@orig_lat=55.857807;set@orig_lng=-4.242511;set@dist=10;SELECT*,3956*2*ASIN(SQRT(POWER(SIN((orig.la

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

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

mysql - SQL选择空间点

我正在尝试在SQL中选择一个空间点,以便我能够以最简单的形式接收该点的纬度和坐标。目前我的查询是这样的:SELECTAsText(`coordinates`)FROMtable这会返回以下内容:POINT(53.432985-1.357258)是否有任何其他空间函数可以让我将它们作为两个单独的值返回,或者至少使它们更容易对它们执行类似substr的操作?理想情况下我希望它返回两个值,一个纬度值和一个经度值 最佳答案 这是从POINT类型检索纬度/经度的地理空间方法,假设坐标存储为POINT类型。X将返回纬度,Y将返回经度。SELEC

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 - Yii 2 : virtual fields in ActiveRecords

我使用MySQL和Yii2。在数据库中存在表'Regions'withcolumn'coordinates'。此列的类型为点。在SQL中我可以这样写:"SELECTX(coordinates)asx,Y(coordinates)asy"和"INSERTINTORegionsSETcoordinates=PointFromText('POINT(".$x."".$y.")')".但我不知道如何制作ActiveRecord模型。我想要这个(数据库不变):$item=Regions::findOne(1);echo$item->x."".$item->y;$item->x=$new_x;$i

MySQL 存储函数出现故障,但作为独立查询工作

我有一个基本查询,根据thisdiscussion计算两个坐标之间的距离.它作为独立查询似乎运行良好,但当我尝试将其作为存储函数运行时,它返回奇怪的结果(通常为null或99.9999...)。独立查询是:SELECTlat,lng,(6371*acos(cos(radians(32.113277))*cos(radians(lat))*cos(radians(lng)-radians(34.799259))+sin(radians(32.113277))*sin(radians(lat))))ASdistance_km,(6371000*acos(cos(radians(32.113

php - 按彼此接近度对坐标进行分组

我正在构建一个RESTAPI,因此答案不能包含谷歌地图或javascript内容。在我们的应用程序中,我们有一个表格,其中包含看起来像这样的帖子:ID|latitude|longitude|other_sutff1|50.4371243|5.9681102|...2|50.3305477|6.9420498|...3|-33.4510148|149.5519662|...我们有一个带有map的View,显示了世界各地的所有帖子。希望我们会有很多帖子,在map上显示成千上万的标记会很荒谬。所以我们想按邻近程度对它们进行分组,这样我们就可以按大陆划分2-3个标记。为了清楚起见,我们需要这个

php - 如何检测标记是否在谷歌地图中的多边形内

我在数据库中有大量的多边形坐标。我的数据库中也有标记的坐标。我如何检测标记是否在这个多边形内。注意:我使用cronjob来移动标记,在这个cronjob中它需要检测到这一点。所以不涉及javascript!多边形的形状不仅仅是圆形或方形。例如,它可以是一个国家或海洋。 最佳答案 现在GoogleMapAPI中有一个函数可以执行此操作。GoogleMapcoordinatesinpolygoncontainsLocation(point:LatLng,polygon:Polygon);isLocationOnEdge(point:La

php - 如何使用坐标将标记移动 100 米

我有2个坐标。坐标1是一个“人”。坐标2是目的地。如何将坐标1向坐标2靠近100米?这将用于cron作业,因此仅包括php和mysql。例如:Personisat:51.26667,3.45417Destinationis:51.575001,4.83889我如何计算Person的新坐标更近100米? 最佳答案 使用Haversine计算两点之间的差值,单位为米;然后按比例调整人物坐标的值。$radius=6378100;//radiusofearthinmeters$latDist=$lat-$lat2;$lngDist=$lng

mysql - 从 MySQL 中东北和西南坐标的边界框内的数据库中获取所有点

我目前正在构建一个应用程序来显示特定城市中所有带有地理标记的树木。我用来从表中获取数据的主要列如下,+-----------------+-------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-----------------+-------------+------+-----+---------+-------+|tree_geotags_id|int(11)|NO|PRI|None|||lattitude_dl|double(9,7)|YES||NULL|||longitu