SQL запрос

MapInfo, MapBasic
Ответить
Foxxxy
Участник
Сообщения: 95
Зарегистрирован: 01 авг 2012, 09:15
Репутация: 1
Откуда: г. Санкт-Петербург

SQL запрос

Сообщение Foxxxy »

Здравствуйте. Есть задачка: имеется слой с базисными кварталами в границах города и слой с точечными объектами библиотек города. Вокруг каждой библиотеки построена буферная зона с радиусов в 3 км. Каждая библиотека имеет свою обеспеченность библиотечным фондом (количество томов). Необходимо посчитать поквартальную обеспеченность библиотечным фондом. Т.е. необходимо узнать сколько буферных зон и от каких библиотек попадают каждый базисный квартал и в зависимости от этого посчитать обеспеченность библиотечным фондом в данном квартале.Таблицы прилагаю. Спасибо.
Вложения
тома.rar
(240.92 КБ) 298 скачиваний
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: SQL запрос

Сообщение Пётр Дубоделов »

Вам стоит посмотреть в сторону функций AreaOverlap и ProportionOverlap, синтаксис описан справочнике функций Mapbasic
"Если карта не соответствует местности, доверяй местности."
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: SQL запрос

Сообщение Пётр Дубоделов »

Ведь Ваша же тема:
viewtopic.php?f=17&t=11262
по-моему задача похожая
"Если карта не соответствует местности, доверяй местности."
Foxxxy
Участник
Сообщения: 95
Зарегистрирован: 01 авг 2012, 09:15
Репутация: 1
Откуда: г. Санкт-Петербург

Re: SQL запрос

Сообщение Foxxxy »

Петр, спасибо.
Из таблиц: _Кварталы, _Библиотеки
Выбрать колонки: _Кварталы.Номер_БК, _Библиотеки.ОбъемБиблФонда, sum(Areaoverlap(_Кварталы.Obj, _Библиотеки.Obj))
C условием:_Кварталы.obj contains part _Библиотеки.obj
Сгруппировать по колонкам: _Кварталы.Номер_БК,_Библиотеки.ОбъемБиблФонда
Похоже?
Последний раз редактировалось Foxxxy 13 сен 2013, 09:16, всего редактировалось 2 раза.
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: SQL запрос

Сообщение Пётр Дубоделов »

я бы взял proportionoverlap, вычислил бы процент перекрытия и на эту долю умножил размер фонда. там, где пересечение охватов двух библиотек, по идее получившиеся значения нужно суммировать, но это уже следующий шаг.
"Если карта не соответствует местности, доверяй местности."
Foxxxy
Участник
Сообщения: 95
Зарегистрирован: 01 авг 2012, 09:15
Репутация: 1
Откуда: г. Санкт-Петербург

Re: SQL запрос

Сообщение Foxxxy »

Наверное, нужно где-то в запросе указать, что нам нужна буферная зона?
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: SQL запрос

Сообщение Пётр Дубоделов »

насчет overlap функций я наверно ошибся, по логике ведь квартал обеспечен всем фондом, если попадает в зону влияния? процент перекрытия в данном случае нелогичен. и как быть с теми кварталами, которые попадают лишь частично? допустим только небольшой частью? или в этом случае нужно принимать порог перекрытия: например если больше полквартала - значит обеспечен, а меньше - нет (вот здесь уже нужны те самые функции). поясните задачу в таком контексте.
"Если карта не соответствует местности, доверяй местности."
Foxxxy
Участник
Сообщения: 95
Зарегистрирован: 01 авг 2012, 09:15
Репутация: 1
Откуда: г. Санкт-Петербург

Re: SQL запрос

Сообщение Foxxxy »

уже разобралась. Спасибо
Последний раз редактировалось Foxxxy 13 сен 2013, 10:38, всего редактировалось 1 раз.
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: SQL запрос

Сообщение Пётр Дубоделов »

во вложении не все файлы.
"Если карта не соответствует местности, доверяй местности."
Ответить

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

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

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