zoukankan      html  css  js  c++  java
  • Oracle空间分析SQL语句

    点是否在圆内:

    select *

      from table a

     where SQRT(power(a.LONGITUDE - 116.3676095557983, 2) +

                power(a.LATITUDE - 39.913205912837014, 2)) <=

           0.039790863734664776

    点是否在多边形内:

    select *

              from table a,

             (select MDSYS.SDO_GEOMETRY(2003,

                                        NULL,

                                        NULL,

                                        MDSYS.SDO_ELEM_INFO_ARRAY(1,

                                                                  1003,

                                                                  1),

                                        MDSYS.SDO_ORDINATE_ARRAY(116.32538033694757,

                                                                 39.906350079429856,

                                                                 116.33095311487795,

                                                                 39.87091007279355,

                                                                 116.39480688269283,

                                                                 39.85758832979095,

                                                                 116.4214463155306,

                                                                 39.89240348162625,

                                                                 116.3783335525407,

                                                                 39.9799055395663,

                                                                 116.28691483413509,

                                                                 39.97172243440462,

                                                                 116.28958264221046,

                                                                 39.919422096307414,

                                                                 116.33388775596742,

                                                                 39.92787481642996,

                                                                 116.33047452402171,

                                                                 39.92786278190348,

                                                                 116.29558151638385,

                                                                 39.90043630083025,

                                                                 116.32538033694757,

                                                                 39.906350079429856)) as geom

                from dual) c

             where a.LONGITUDE > 0

               and a.LATITUDE > 0

               and (1 = 2 or sdo_Geom.Relate(c.geom,

                                             'Anyinteract',

                                             mdsys.sdo_geometry(2001,

                                                                null,

                                                                mdsys.sdo_point_type(a.LONGITUDE,

                                                                                     a.LATITUDE,

                                                                                     null),

                                                                null,

                                                                null),

                                             0.000001) = 'TRUE')

  • 相关阅读:
    Android “swipe” vs “fling”
    Parcel
    ViewConfiguration 和 ViewConfigurationCompat
    Hive记录-配置支持事务管理hive-site.xml
    SQL记录-资源正忙online或nowait
    SQL记录-解锁和dbms_job操作
    Java记录-SpringMVC整合Echarts画地图加散点图
    Hive记录-impala常用命令
    Hive记录-Sqoop常用命令
    Linux记录-shell一行代码杀死进程(收藏)
  • 原文地址:https://www.cnblogs.com/whisht/p/2251819.html
Copyright © 2011-2022 走看看