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

MapInfo, MapBasic
Ответить
Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

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

Сообщение agentbond007 »

Здравствуйте
Имеется 2 таблицы с графическими объектами Города(множество объектов) и Облако(один громадный объект). Требуется получить список городов с площадью или в процентах пересечения с облаком.
Что то типа того:
Город/пл. города/пл. пересечения/
Город1/128.0/56.2
Город2/256.0/12.5
...
:)
Аватара пользователя
asgs
Участник
Сообщения: 89
Зарегистрирован: 04 авг 2010, 06:35
Репутация: 1
Контактная информация:

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

Сообщение asgs »

Тип объектов в обеих таблицах? Полигоны?
Злобный йожег
Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

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

Сообщение agentbond007 »

asgs писал(а):Тип объектов в обеих таблицах? Полигоны?
Да - полигоны =)
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

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

Сообщение 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.
ну что еще надо?
Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

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

Сообщение agentbond007 »

Спасибо Boris! Как то я его проглядел в букваре :oops:
Буду колдовать с ним! :twisted:
Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

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

Сообщение 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
Ответить

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

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

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