Страница 1 из 1

Помогите составить запрос к таблицам

Добавлено: 02 авг 2011, 04:50
agentbond007
Здравствуйте
Имеется 2 таблицы с графическими объектами Города(множество объектов) и Облако(один громадный объект). Требуется получить список городов с площадью или в процентах пересечения с облаком.
Что то типа того:
Город/пл. города/пл. пересечения/
Город1/128.0/56.2
Город2/256.0/12.5
...
:)

Re: Помогите составить запрос к таблицам

Добавлено: 02 авг 2011, 07:24
asgs
Тип объектов в обеих таблицах? Полигоны?

Re: Помогите составить запрос к таблицам

Добавлено: 02 авг 2011, 08:16
agentbond007
asgs писал(а):Тип объектов в обеих таблицах? Полигоны?
Да - полигоны =)

Re: Помогите составить запрос к таблицам

Добавлено: 02 авг 2011, 19:18
Boris
Вот функция специально созданная для этой проблемы:
AreaOverlap( ) function
Purpose
Returns the area resulting from the overlap of two closed objects.

Syntax
AreaOverlap( object1, object2 )
object1 and object2 are closed objects.

Return Value
A float value representing the area (in MapBasic's current area units) of the overlap of the two objects.
ну что еще надо?

Re: Помогите составить запрос к таблицам

Добавлено: 03 авг 2011, 01:02
agentbond007
Спасибо Boris! Как то я его проглядел в букваре :oops:
Буду колдовать с ним! :twisted:

Re: Помогите составить запрос к таблицам

Добавлено: 03 авг 2011, 04:25
agentbond007
Так для завершения ветки отвечу на свой вопрос =)))
Запрос для получения пересечения городов с облаком в процентах выглядит так:

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

set area units "hectare"
Select Города.RUS, (Round(AreaOverlap(Облако.obj,Города.obj)/Area(Города.obj, "hectare")*100, 1)) "Interest" from Облако, Города where Облако.Obj intersects Города.Obj into Selection
Browse * From Selection