矩形和多边形区域:
select * from tableName a where sdo_geom.Relate(mdsys.sdo_geometry(2003, 4326, null, mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array( points)), 'ANYINTERACT', mdsys.sdo_geometry(2001,4326,mdsys.sdo_point_type(a.latitude ,a.longitude ,null),null,null),0.001)= 'TRUE'
圆形区域:
select * from tableName A where SQRT(POWER(A.LONGITUDE(这里是经度) - 116.3676095557983, 2) + POWER(A.LATITUDE(这里是纬度) - 39.913205912837014, 2)) <= 0.039790863734664776(这里是圆形区域)
线性区域:
select * from tableName where sdo_Geom.within_distance(MDSYS.SDO_GEOMETRY(2002,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),MDSYS.SDO_ORDINATE_ARRAY("+ lnglat+ ")),"+size+",mdsys.sdo_geometry(2001,4326,mdsys.sdo_point_type("+lng+","+lat+",null),null,null),0.000001,'unit=m') = 'TRUE'";
文章来源: oracle数据库根据经纬度空间查询范围内的点集