Доступные версии документации

Проверка перекрытия объектов

Функция

Проверка перекрытия двух объектов.

Спецификация
  Overlaps (<объект1>,<объект2>)
<объект1>,<объект2> – геометрические объекты произвольного типа.
Возвращаемое значение
  1. 1, если для <объекта1> и <объекта2> выполняется одно из условий:

    • перекрывают друг друга;

    • область перекрытия имеет ту же размерность, что и каждый из указанных объектов;

    • область перекрытия не совпадает с <объектом1> или <объектом2>.

  2. 0, если <объект1> и <объект2> не перекрываются или имеют разную размерность.

  3. NULL, если один из аргументов равен NULL.

  4. Код завершения СУБД ЛИНТЕР (при неправильном аргументе функции).

Примеры
  1. Объект 1 (0,0)__________________(5,0)
    Объект 2            (3,0)__________________(7,0)
    Перекрываются?  Да
    
    CREATE OR REPLACE TABLE TEST(Line1 LINESTRING, Line2 LINESTRING);
    INSERT INTO TEST VALUES( LineFromText('LINESTRING (0 0, 5 0)'),
    LineFromText('LINESTRING (3 0,7 0)'));
    select astext(overlaps(LINE1, LINE2)) FROM TEST;
    
    Результат:
    |        1|
  2. Объект 1 (0,0)_______(3,0)
    Объект 2        (3,0)__________________(7,0)
    Перекрываются? Нет
    
    Пересекаются?  Да
    
    CREATE OR REPLACE TABLE TEST(Line1 LINESTRING, Line2 LINESTRING);
    INSERT INTO TEST VALUES( LineFromText('LINESTRING (0 0, 3 0)'), LineFromText('LINESTRING (3 0,7 0)'));
    
    select  astext(overlaps(LINE1, LINE2)), astext(intersects(LINE1, LINE2)) FROM TEST;
    
    Результат:
    |      0|     1|
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter