mysql 查询某个GPS点位是否在一个电子围栏内 记录一下

您所在的位置:网站首页 钢轨几何参数表 mysql 查询某个GPS点位是否在一个电子围栏内 记录一下

mysql 查询某个GPS点位是否在一个电子围栏内 记录一下

2023-06-18 10:34| 来源: 网络整理| 查看: 265

前言;查看一个gps点位是否在围栏内,一般方法可以使用放射法,但是我们现在不使用放射法,使用数据库来查询

select count(DISTINCT plate_num) from `vehicle_point_2023-05-26` vp where st_contains(ST_GeomFromText('POLYGON((104.22645465685945 30.831335092543757, 104.17633405168128 30.75775645829724, 104.10584630794048 30.79620058318866, 104.14424376208758 30.85670742091215, 104.22645465685945 30.831335092543757))'),point(point_x,point_y)) 说明: vehicle_point_2023-05-26 车辆gps点位表 点位说明 104.22645465685945 30.831335092543757, 104.17633405168128 30.75775645829724, 104.10584630794048 30.79620058318866, 104.14424376208758 30.85670742091215, 104.22645465685945 30.831335092543757 电子围栏点位需要闭环,因此首个点位和最后一个点位是一致的

以下信息来自chatgpt

st_contains函数的用法

st_contains 函数用于检查一个几何对象是否包含在其他几何对象内部。具体来说,该函数可以用于在 SQL 查询中筛选满足特定条件的几何对象。例如,假设我们有一个几何对象 poly,并且我们需要检查它是否包含在某个几何对象 point 的内部。我们可以使用以下 SQL 查询语句: SELECT COUNT(*) FROM table_name WHERE st_contains(poly, point); 在这个查询中,poly 是我们要检查的几何对象,point 是要在其中搜索的点。这个查询将返回满足条件的点的数量。使用 st_contains 函数,我们可以轻松地检查点是否在多面体内部,或者在球内部,或者在其他几何对象内部等等。

ST_GeomFromText 函数用于将文本表示的几何对象转换为几何对象对象。它接受一个字符串参数,该字符串包含以逗号分隔的坐标点,这些坐标点组成了几何对象的边界。例如,以下字符串是一个包含一个多面体的边界的文本表示: “POLYGON((104.22645465685945 30.831335092543757,104.17633405168128 30.75775645829724,104.10584630794048 30.79620058318866,104.14424376208758 30.85670742091215,104.22645465685945 30.831335092543757))”

什么是ST_GeomFromText

ST_GeomFromText 函数将这些坐标点转换为一个几何对象对象,该对象是一个多面体。在 MySQL 中,ST_GeomFromText 函数也接受 WKT(Well-Known Text) 格式的输入,该格式是 SQL 数据库中常用的几何数据类型。

如何确定维度

ST_Contains函数通常用于判断一个几何对象是否包含另一个几何对象。它可以用于多维空间中的几何计算,包括二维和三维。 要确定所使用的ST_Contains函数的几何对象的维度,需要考虑传递给函数的参数。如果参数是二维几何对象(例如,两个坐标点构成的线或多边形),则ST_Contains函数将在二维平面上进行计算。如果参数是三维几何对象(例如,三个坐标点构成的三维多边形),则ST_Contains函数将在三维空间中进行计算。 在你提供的查询中,多边形的定义是通过一系列的二维坐标点来表示的,因此ST_Contains函数将在二维平面上进行计算,而不是球 如果你想要进行球面上的几何计算,需要使用相应的球面几何函数,例如ST_Contains的球面版本ST_Contains_Sphere,它接受球面几何对象作为参数。 总之,根据传递给ST_Contains函数的几何对象类型,你可以确定函数是在二维平面还是三维空间中进行计算。如果需要进行球面上的计算,可以使用相应的球面几何函数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3