2013-11-25 6 views
1

У меня есть многоугольник в таблице 2 с его id, no и geometry. В таблице 1 у меня есть многоугольники с одинаковыми полями. Многоугольник в таблице 2 пересекается с несколькими полигонами из таблицы 1. Что я пытаюсь сделать, это клип многоугольников, которые перекрывают многоугольник из таблицы 2 и вставляют те же поля и геометрию в таблицу 3. Поэтому, если многоугольник из таблицы 2 имеет 2 перекрытия Я хочу избавиться от этих перекрытий и просто перевести остальные в новую таблицу. Следующий код предназначен для возврата обрезанной части геометрии. Как получить геометрию для полигона после завершения обрезки.Обрезка многоугольника в Oracle

insert into table 3 
select a.store_id,b.store_id,a.store_number,a.client_id,sdo_geom.sdo_intersection(b.geometry,a.geometry,0.005) 
from table_1 a, table_2 b 
where b.store_id=34746 
and sdo_anyinteract(b.geometry,a.geometry)='True'; 

ответ

1

Вместо использования sdo_geom.sdo_intersection, вы, вероятно, хотите использовать sdo_geom.sdo_difference - это действует как операция минус:

enter image description here

Смежные вопросы