- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在解决的问题是查找特定经度/纬度范围内的所有客户,并以数组形式返回这些客户的列表。我现在非常熟悉半正矢公式和 MySQL 中边界的旧方法。然而,更新到 MySQL 5.6 版本后,我现在尝试使用函数 ST_WITHIN() 来产生相同的结果。
我正在遵循此处发布的教程:
http://rutweb.com/using-the-new-spatial-functions-in-mysql-5-6-for-geo-enabled-applications/
到目前为止我的代码如下所示:
$lat = 40.2808380;
$lon = -111.6573890;
$distance = $row['RadialMiles']; // radius of bounding circle in miles
$rlon1 = $lon - $distance/abs(cos(deg2rad($lat))*69);
$rlon2 = $lon + $distance/abs(cos(deg2rad($lat))*69);
$rlat1 = $lat - ($distance/69);
$rlat2 = $lat + ($distance/69);
$query = "SELECT astext(Position), Firstname, Lastname FROM Account
WHERE systemAccountID = '$systemAccountID'
AND st_within(Position, envelope(linestring(point(:rlon1, :rlat1), point(:rlon2, :rlat2))))";
try {
$stmt = $con->prepare($query);
$stmt->execute(array('rlon1' => $rlon1,'rlon2' => $rlon2,'rlat1' => $rlat1,'rlat2' => $rlat2));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
throw $e;
}
print_r($result);
现在,当我知道它应该返回 2 个结果时,数组会生成一个空结果。
仅供引用,您可以假设我的表有 3 列:名字、姓氏和职位。 Position 是 point 类型,包含如下内容: POINT(38.8026085 -116.4193878)
我一整天都在研究这个问题,使用空间函数......对我来说很令人沮丧。任何帮助将不胜感激。
最佳答案
对于所有想要使用本教程了解 mysql 的 ST 空间函数的人,只需知道本教程以 (lon, lat) 格式而不是 (lat, lon) 格式列出点即可。这就是我无法获取返回值的原因。
关于php - ST_WITHIN() 不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28034808/
我有这样的表格: CREATE TABLE `jovan_test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `properties_
我正在解决的问题是查找特定经度/纬度范围内的所有客户,并以数组形式返回这些客户的列表。我现在非常熟悉半正矢公式和 MySQL 中边界的旧方法。然而,更新到 MySQL 5.6 版本后,我现在尝试使用函
我无法从以下测试中获得任何返回。 mysql版本:5.6.16(win32) SELECT (ST_WITHIN(GeomFromText('POINT(110.341903 1.558064)')
问题:什么算法/或算法s 使用spatial databases检查地理点(纬度和经度)是否属于“geo rect”(4 个由经线和平行线连接的地理点)? 一开始以为是简单的投影加算法二维平面索引,如
请参阅屏幕打印。 我在 Postgis 中运行了一个空间查询,以返回 map 上某个点所在的选区(区域)。该查询使用 ST_within 函数,其中该点位于多边形内。 正如您从打印品中看到的那样,该点
我想运行一个查询,返回落在矩形内的每个点,其中点和矩形基于真实世界的经度和纬度。 这是失败的查询: results = session.query(Store.id).filter(func.ST_W
我正在尝试获取不在几个多边形内的所有点: SELECT pt.geom FROM points pt, polygons po WHERE ST_Within(pt.geom, po.geom) =
此查询用于确定点是否在多边形内... SELECT ST_Within ( ST_GeogPoint(69.6, 21.1), ST_GeogFromText('POLYGON((67
我使用 cosmosdb 中的查询浏览器来搜索多边形内的点,我在这个示例中的多边形是这个(可以在 geojson.io 中看到) { "type": "FeatureCollection",
我试图获取 10 英里内的数据,我尝试使用 mysql 示例,如下所示: set @lat=16.7792468; set @lng=96.1514016; set @dist = 10; set @
我试图通过 MySQL 确定给定点是否在多边形内。我设置了一个名为“市政当局”的表,其中包含以下列: | column | type | |----------|---------| |
我们最近在应用程序中遇到了一个问题。我们在前端使用 leafletJs,在 map 的一部分边界内有标记。这些标记应该根据这些 map 的边界进行过滤,但显然有些标记消失了。 我们对此进行了调查,直到
什么是与 MySQL 函数 st_within 等效的 Doctrine 2 DQL 函数? 我确实需要这个函数,因为我在运行此 DQL 查询时收到以下错误: [Syntax Error] line
我是一名优秀的程序员,十分优秀!