草庐IT

latitude-longitude

全部标签

mysql - 有没有办法从 MySQL 的 Envelope(Poly) 中选择 lat1、lat2、lon1、lon2?

如果我在MySQL中有一个名为Poly的列,类型为polygon,我想获取NW角、NE角、SE角和SW角,我该怎么做?从Envelope()应该有lat1、lat2、lon1和lon2组成四个角,如下所示lat1,lon1是NW;lat1,lon2为东北方向;lat2,lon2是东南方向;lat2,lon1是SW。当我尝试X(PointN(Envelope(Poly),1))ASlat1时,它总是返回NULL。这可以在MySQL中完成吗?SELECTX(PointN(Envelope(Poly),1))ASlat1,X(PointN(Envelope(Poly),3))ASlat2,Y

mysql - 如何确定地球表面的哪些图像与任意给定图像重叠?

假设您获得了一张地球表面的图像,并且它作为由角的纬度/经度对定义的多边形存储在数据库中。现在假设有数百万张覆盖地球表面的图像也以类似方式存储。找到那些与给定图像相交的图像的好策略是什么?我有一个基于图像“边界半径”的工作基本算法。但它不是最优的,找到的图像多于应该返回的图像。我看过MySQL的GIS空间函数,但其​​中的所有计算似乎都是在欧几里德几何中完成的。本质上,我只需要一个根据两个多边形(在球体上并由纬度/经度点定义)是否相交返回“真”或“假”的函数。看起来很简单,但我还没有找到实现。一想到要自己解决这个问题就很累。 最佳答案

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_

用于纬度经度语法的 MySQL 用户定义函数

我创建了一个MySQL函数来确定一组经纬度坐标是否在另一组经纬度坐标的特定范围内。但是,该函数给我一个语法错误,所以我无法测试它是否正常工作。任何帮助找出导致错误的原因将不胜感激。该函数及其描述如下:它的工作原理是将起始纬度/经度坐标传递给函数。数据库包含行targa、targb和targc,它们分别包含要比较的纬度、经度和范围。数据库中的targ列指定是否应检查此行的纬度/经度范围。CREATEFUNCTIONinrange(lat1decimal(11,7),lon1decimal(11,7))READSSQLDATARETURNSINT(1)BEGINDECLAREdistanc

php - MYSQL无法选取点间距离(lat,lng)=0的记录

我有一个休闲的mysql查询SELECTde.geoId,(6371*ACOS(COS(RADIANS(zde.latitude))*COS(RADIANS(de.latitude))*COS(RADIANS(de.longitude)-RADIANS(zde.longitude))+SIN(RADIANS(zde.latitude))*SIN(RADIANS(de.latitude))))ASdistanceFROMtbl_zipdeASzdeLEFTJOINtbl_country_deASdeON(de.admin1_code=zde.admin_code1)Wherezde.id

mysql - 如何查询纬度/经度区域内的所有记录?

我正在寻找创建一个MySQL查询来查找世界指定区域内的所有记录。每条记录包含一个点(纬度/经度),我有指定区域的右上角(纬度/经度)和左下角(纬度/经度)。有了这些信息,我怎样才能找到合适的记录? 最佳答案 LAT1=MIN(右上纬度,左下纬度)LAT2=MAX(右上纬度,左下纬度)LON1=MIN(右上经度,左下经度)LON2=MAX(右上角经度,左下角经度)SELECTfieldsFROMpointsWHERElatBETWEENLAT1ANDLAT2ANDlonBETWEENLON1ANDLON2这样,如果您带着盒子穿过本初子

php - 使用经纬度和 MySQL 查找最近的 10 个城市?

我在网上搜索了很多次以找到解决我的问题的方法,但我仍然无法弄清楚。我有一个非常简单的数据库,其中包含ID、城市名称、纬度、经度和城市信息。当有人进入城市页面时,a想显示附近的10个城市。我如何用MySQL计算它并用PHP返回它?我在这个网站上看到了很多建议,但是这些都没有用。我尝试过但没有成功。我没有得到任何结果。0){while($row=mysql_fetch_assoc($query)){$id=$row['id'];$cityname=$row['cityname'];$latitude=$row['latitude'];$longitude=$row['longitude']

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

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

MySQL存储经纬度高精度

我目前将lat/lng值存储在一个小数点后6位精度的数据库中。但是,我需要存储在此数据库中的某些值具有12位小数精度。我的数据库当前设置经纬度float(10,6)是否可以设置存储类型,使其可以处理6位十进制或12位十进制的纬度/经度值? 最佳答案 使用DOUBLE数据类型。您应该能够非破坏性地改变您现有的表格以这种方式工作。例如,altertable`mytable`change`LAT``LAT`doubleNULL,change`LONG``LONG`doubleNULL但请注意不要夸大数据的准确性。普通float32位浮点经

mysql - SQL:根据纬度/经度查找最近的邻居

我有一张包含咖啡馆纬度/经度的表格。我想做一个SQL查询,为我提供离每家咖啡馆最近的咖啡馆。有人可以提供有关如何执行此操作的建议吗?表格基本上是这样的:咖啡馆ID+-------------------------+----------------------+----------------------+|cafe_id|gps_latitude|gps_longitude|+-------------------------+----------------------+----------------------+|011-1003|55.86649500000000000|8.