Результат пересечения всех объектов одного слоя со всеми объ

MapInfo, MapBasic
Ответить
Megalit
Новоприбывший
Сообщения: 2
Зарегистрирован: 19 июн 2016, 14:23
Репутация: 0

Результат пересечения всех объектов одного слоя со всеми объ

Сообщение Megalit » 19 июн 2016, 14:24

Подскажите, пожалуйста, как с помощью MapBasic получить результат (новые объекты) пересечения всех полигональных объектов одного слоя со всеми полигональными объектами другого.

trir
Гуру
Сообщения: 5286
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Результат пересечения всех объектов одного слоя со всеми

Сообщение trir » 19 июн 2016, 16:34

select tbl1.geom.STIntersects(tbl2.geom) from tbl as tbl1, tbl as tbl2
Последний раз редактировалось trir 19 июн 2016, 17:11, всего редактировалось 1 раз.

Megalit
Новоприбывший
Сообщения: 2
Зарегистрирован: 19 июн 2016, 14:23
Репутация: 0

Re: Результат пересечения всех объектов одного слоя со всеми

Сообщение Megalit » 19 июн 2016, 16:50

Большое спасибо за оперативный ответ, только меня интересует как это сделать в mapbasic.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Результат пересечения всех объектов одного слоя со всеми

Сообщение Boris » 19 июн 2016, 19:47

Megalit писал(а):Большое спасибо за оперативный ответ, только меня интересует как это сделать в mapbasic.
Если в mapbasic, а не через запрос,то вот так:

Код: Выделить всё

Overlap( ) function 
Purpose 
Returns an object representing the geographic intersection of two objects; produces results similar to MapInfo Professional's Objects > Erase Outside command. You can call this function from the MapBasic Window in MapInfo Professional. 

Syntax 
Overlap( object1, object2 )  
object1 is an object; it cannot be a point or text object. 

object2 is an object; it cannot be a point or text object. 

Return Value 
An object that is the geographic intersection of object1 and object2. 

Description 
The Overlap( ) function calculates the geographic intersection of two objects (the area covered by both objects), and returns an object representing that intersection. 

MapBasic retains all styles (color, etc.) of the original object1 parameter; then, if necessary, MapBasic applies the current drawing styles. 

If one of the objects is linear (for example, a polyline) and the other object is closed (for example, a region), Overlap( ) returns the portion of the linear object that is covered by the closed object. 

See Also: 
AreaOverlap( ) function, Erase( ) function, Objects Intersect statement 


Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей