st_intersects 函数的参数类型
时间: 2023-11-26 16:03:01 浏览: 190
st_intersects 函数是一个空间关系函数,用于检查两个几何对象是否相交。在 PostGIS 中,st_intersects 函数的参数类型如下:
- 第一个参数为几何对象,可以是点、线、面等。
- 第二个参数也为几何对象,可以与第一个参数的类型不同。
例如,可以使用以下语句来检查一个点是否与一个多边形相交:
```
SELECT st_intersects(point_geom, polygon_geom) FROM mytable;
```
其中,point_geom 和 polygon_geom 分别为点和多边形的几何字段。
相关问题
mysql st_intersects函数
`ST_Intersects` 是 MySQL 中的一个空间函数,用于判断两个空间对象是否相交,返回值为布尔类型(0 或 1)。
该函数需要两个参数,分别为两个被比较对象。这两个对象可以是点、线、面等。如果这两个对象相交,则返回 1,否则返回 0。
例如,以下代码表示判断一个点是否在一个多边形内:
```
SELECT ST_Intersects(point, polygon) FROM table_name;
```
其中,point 为点对象,polygon 为多边形对象,table_name 为表名。如果返回值为 1,则表示该点在该多边形内部;如果返回值为 0,则表示该点在该多边形外部。
SELECT vector FROM vector_tile ( 'PUBLIC', 'division_info_tbl_tmp', 8, 213, 103, SELECT ST_AsMVTGeom ( geom_3857, $1 ) AS geom, division_code FROM PUBLIC.division_info_tbl_tmp WHERE ST_Intersects ( geom_3857, $2 ) AND division_level = '1' ) SELECT ST_AsMVT ( mvt_geom.*, $3 ) AS tile FROM mvt_geom; ( String ) ) vector
这似乎是一个 SQL 查询语句,但是它存在一些语法错误。其中 SELECT 语句被放在了 vector_tile 函数的参数中,这是不正确的。正确的查询语句应该是:
```
SELECT vector FROM vector_tile (
'PUBLIC',
'division_info_tbl_tmp',
8,
213,
103,
'PUBLIC',
'division_info_tbl',
8,
213,
103,
'WITH mvt_geom AS (
SELECT ST_AsMVTGeom(geom_3857, $1) AS geom, division_code
FROM PUBLIC.division_info_tbl_tmp
WHERE ST_Intersects(geom_3857, $2) AND division_level = ''1''
)
SELECT ST_AsMVT(mvt_geom.*, $3) AS tile
FROM mvt_geom'
);
```
这个查询语句首先指定了 vector_tile 函数的参数,然后使用 WITH 子句定义了一个名为 mvt_geom 的临时表,该表包含满足条件的矢量数据。最后,使用 ST_AsMVT 函数将数据转换为 MVT 格式,并将结果命名为 tile。
阅读全文