关于GridDB地理空间数据类型支持、查询及功能的技术问询
GridDB地理空间数据支持说明
GridDB完全支持地理空间数据类型与地理空间查询,非常适配你这种时序+地理空间的混合业务场景。
支持的地理空间数据类型
POINT:存储单个地理坐标点,格式为POINT(经度 纬度),注意经度在前、纬度在后POLYGON:存储多边形区域,需用闭合的坐标点序列定义,格式示例:POLYGON((lon1 lat1, lon2 lat2, ..., lon1 lat1))LINESTRING:存储线状地理要素(如路径、道路),格式示例:LINESTRING((lon1 lat1, lon2 lat2, ...))
常用地理空间查询函数
ST_Contains(多边形对象, 点对象):判断目标点是否落在指定多边形范围内ST_Distance(点对象1, 点对象2):计算两个坐标点之间的球面距离,单位为米ST_Intersects(地理要素1, 地理要素2):判断两个地理要素(如线与多边形、两个多边形)是否存在交集ST_Within(点对象, 多边形对象):逻辑与ST_Contains相反,验证点是否被多边形包含ST_AsText(地理空间对象):将地理空间数据转换为WKT格式字符串,便于查看或导出
简单使用示例
创建带地理空间字段的时序表
CREATE TABLE sensor_data ( sensor_id INTEGER PRIMARY KEY, record_time TIMESTAMP, device_location POINT, temp_reading DOUBLE )
查询指定区域内近1小时的传感器数据
SELECT sensor_id, record_time, temp_reading FROM sensor_data WHERE ST_Contains( POLYGON((139.70 35.60, 139.80 35.60, 139.80 35.70, 139.70 35.70, 139.70 35.60)), device_location ) AND record_time > NOW() - INTERVAL '1 hour'
内容的提问来源于stack exchange,提问作者Monicah Hinga
相关产品推荐
相关产品推荐

