我使用sequelize和postgis,我有一个表设备,列坐标类型为GEOMETRY('POINT')。
当插入一个新设备时,在我的列coord值中,我使用这个:
coord = { type:“点”,坐标:[,lat],crs:{ type:'name',properties:{ name:'EPSG:3857'}
现在还可以
接下来,我需要在一个多边形限定的区域内查找所有设备
伪代码示例:
设备坐标为(lng 1,lat 1)
我的poligon是[lng 2 lat 2,lng 3 lat 3,lng 4 lat 4,.]
如何使用sequelize进行查询?
Sequelize 4.41.0节点v9.4.0
2条答案
按热度按时间x6492ojm1#
可以使用
sequelize.fn()
调用postgis函数st_within()
,如果第一个几何参数完全位于第二个几何参数内,则该函数基本上返回true。这里有一个例子vdgimpew2#
您需要使用sequelize.fn()来调用postgis st_within()函数
https://postgis.net/docs/ST_Within.html
https://sequelize.readthedocs.io/en/v3/api/sequelize/#fnfn-args-sequelizefn