作者handpower (冲冲冲)
看板Database
标题Re: [SQL ] postgresql 搜寻范围内的点
时间Fri Sep 9 03:29:45 2011
※ 引述《wheredo (啤酒一罐罐 健康又美丽)》之铭言:
: 请问postgis有函式可以取范围内的点嘛?
: 比方说(node有存经纬度与速度)
: 一个点(3,4) 我想要再它方圆可能8单位的范围内
: 找出所有范围内点的速度平均
: 请问一下有这种功能的函式嘛?
: 拜托知道的人说明一下
: 小弟第一次用postgreSQL对於postgis的函式不是很熟悉
: 请各位多多体谅<(_ _)>
假定你postgis有装好,db也有装上postgis
你的node表格结构大概是这样
id, point, speed, latitude, longitude
SQL的语句大概如下
select avg(speed) from node
where ST_Distance_Spheroid(point,ST_SetSRID(ST_MakePoint(3, 4),
srid))<=8
意思是以点(3,4)为圆心,作一个半径为8的圆,给出所有落在这个圆的点的速度平均
注意一下你用的
srid需要跟node.point里面用的srid一致
postgis的说明文件
http://postgis.refractions.net/documentation/manual-1.5/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 38.124.250.178