Re: [SQL ] postgresql 搜尋範圍內的點
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):