【问题标题】:how to convert latitude,longitude (string) to coordinates如何将纬度,经度(字符串)转换为坐标
【发布时间】:2019-08-15 19:06:20
【问题描述】:

我有一个包含 3 个字段(id、纬度、经度)的表(地址)和一个包含 2 个字段(id、坐标(类型 = mdsys.sdo_geometry))的表(多边形)。我的问题是,如何关联坐标以知道地址是否在多边形区域内

地址

id ---------- 1   
latitude ---- 36.13948149   
longitude --- -86.84178303

多边形

id ---------- 15
MDSYS.SDO_GEOMETRY(2003,1041002,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(13650333.621154,5324021.16148257,13650233.7612594,5324171.58351056,13650028.4381112))

【问题讨论】:

    标签: oracle coordinates spatial oracle-spatial


    【解决方案1】:

    (更正了我的答案以更贴近您的问题)

    一个简单的 SELECT 会做你想做的事:

    select p.id, ...
    from polygons p, address a
    where a.id = 1
    and sdo_contains (p.coordinates, sdo_geometry(2001,4326,sdo_point_type(a.longitude,a.latitude,null),null,null)) = 'TRUE';
    

    这将返回表格中包含所选地址点的所有多边形。请注意,无需将 GPS 坐标转换为多边形的坐标。这是自动完成的。

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 2010-10-11
      • 2017-07-02
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2013-09-21
      相关资源
      最近更新 更多