Страница 1 из 1
Создание запроса в MapBasic
Добавлено: 13 май 2014, 09:37
Любаша
Добрый день! Помогите. пожалуйста! В MapInfo никогда не работала. Дана карта лесов. Все лесничество разбито на квартала, и квартала соответсвенно поделены на выдела.У каждого выдела есть характеристика - страта.Задача состоит в следующем: нужно объединить выдела в каждом отдельном квартале по одинаковой страте, но только близлежащие выдела (т.е. соседние). И чтобы уже у каждого вновь полученного выдела суммировалась площадь. Я понимаю, что это нужно сделать через MapBasic, но как не знаю.Может меня кто-то сориентирует как это сделать.надеюсь понятно изложила поставленную задачу!Заранее всем спасибо за помощь!
Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 10:49
Sibit
Тут скорей всего программку писать придется. Если навскидку: то можно сначала объединить все выдела одной страты в квартале, а потом разбить на отдельные полигоны(не забудьте перенумеровать ).
PS А как вы это раньше делали? ведь не первый год создаются карты страт, как я понимаю.
Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 10:59
Старый Йети
Ну, по поводу объединения - это вам к запросам. В пределах одного квартала - не проблема. Ввести поля (номер квартала, тип страты) и объединять стандартными средствами (Руководство Вам в помощь). Вот только на счёт "ближайших" - таким образом не решить.

Удачи!
Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 11:04
Любаша
Sibit писал(а):
PS А как вы это раньше делали? ведь не первый год создаются карты страт, как я понимаю.
Дело в том, что я только перешла на новую работу и с этим неи сталкивалась. А до меня это все делали в ручную. Сами понимаете это очень трудоемко.

Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 11:06
Любаша
Старый Йети писал(а):Ну, по поводу объединения - это вам к запросам. В пределах одного квартала - не проблема. Ввести поля (номер квартала, тип страты) и объединять стандартными средствами (Руководство Вам в помощь). Вот только на счёт "ближайших" - таким образом не решить.

Удачи!
Вот и именно, что нужно только ближайшие объединить.А можно ли это сделать с помощью графического оператора intersects?
Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 11:21
gamm
строго говоря, нужно строить топологию, кто с кем рядом лежал. Мапинфо это умела раньше не очень хорошо, особенно если контура рисовали руками независимо, а не резали больший объект. Если топология у вас будет, то дальше все действительно можно решить запросами.
Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 11:25
nadiopt
была бы арка или кугис, я бы все объединила запросом, не обращая внимания на соседство, а потом бы сделала разбиение составных объектов и пересекла кварталами. Не знаю, умеет ли такое мапа. Ну кугисом можно, и потом в таб обратно, вот только с топологией в мапе швах
Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 11:49
Sibit
Любаша писал(а):Вот и именно, что нужно только ближайшие объединить.А можно ли это сделать с помощью графического оператора intersects?
Неа. Точнее, я не знаю как. У нас для этого спец инструмент сделан.
gamm писал(а):строго говоря, нужно строить топологию,
Да не нужно там ничего сложного. Просто объединить выдела в пределах квартала, и разбить их потом. Проблема в том что из коробки MapInfo это не умеет.
Re: Создание запроса в MapBasic
Добавлено: 13 май 2014, 13:02
Boris
напишите здесь свое определение слова "ближайший", и получите решение задачи 2-3 шага.
К слову сказать в Mapinfo с версии (9.хх? может и ранее, не приглядывался) появилась в меню "таблица" функция "группировка по полю", и делает она именно то, что запросил автор вопроса - группировку геометрии нескольких объектов в один по одному совпадающему полю. 4-я строка во 2-м подразделе меню "Таблица".
PS
Для решения задач с нарушенной топологией, при известных эмпирических данных, например, "ближайший" - это "пересекающий или расположенный на расстоянии 5 метров", существует запрос на пересечение буферов указанного размера.
В прочем, в стандартной мапинфо есть и инструмент "найди ближайшего соседа(-ей)".