最近的非相邻点

时间:2013-12-06 17:07:48

标签: postgresql geometry postgresql-9.3

表格中有point列。我需要添加另一个point。新点不能比现有点的距离更近。距离由<@>扩展名的earthdistance运算符给出。

如果没有比1更接近的现有点,则该查询返回候选点,否则返回任意点。

select
    case when not exists (
        select 1
        from (values ('0.01, 0'::point), ('-0.01, 0'), ('0, 0.01')) s(location)
        where location <@> point (0,0) < 1
    )
    then point(0,0)
    else point(1,1)
    end
;

我需要一个查询来将最近的可能不存在的点(“空闲时段”)返回给候选点。在这个例子中,它将是≅(0,-0.0144733)

创建地球距离扩展:

create extension cube;
create extension earthdistance;

0 个答案:

没有答案