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

Как разделить площадные и линейные объекты

Добавлено: 17 ноя 2014, 13:33
geod_14
Подскажите, как в MapInfo разделить геометрию (линейные и площадные объекты) , если в таблице атрибутов не указано какой объект есть площадным, а какой линейным....
Заранее спасибо)

Re: Как разделить площадные и линейные объекты

Добавлено: 17 ноя 2014, 13:43
Sibit
Что бы выбрать полигоны, в условие ставите Str$(Obj) = "Region", полилинии - "Polyline"

Re: Как разделить площадные и линейные объекты

Добавлено: 17 ноя 2014, 13:47
geod_14
Спасибо!!!

Re: Как разделить площадные и линейные объекты

Добавлено: 17 ноя 2014, 17:08
Старый Йети
Есть еще способ...
1. Добавить поле Area (вещественное)
2. Обновить сию колонку (просчитать площадь)
3. Сделать запрос >0 (или =0 что требуется)
4. удалить/перенести все выделенные объекты в новую таблицу/присвоить индекс выделенным объектам.
5. Удалить колонку Area
Как-то так без использования MapBasic'a
:)

Re: Как разделить площадные и линейные объекты

Добавлено: 17 ноя 2014, 17:32
geod_14
Спасибо!Когда есть много вариантов- это прекрасно!)

Re: Как разделить площадные и линейные объекты

Добавлено: 17 ноя 2014, 19:28
Sibit
Старый Йети писал(а):Есть еще способ...
Вы сейчас научите... :D Что мешает, в поле запроса просто ввести Area(Obj,"hectare") > 0 ? Хотя, кто сможет таким образом отличить Line от Polyline, получит печеньку.

PS И не надо бояться MapBasic-а :) (особенно когда его нет)

Re: Как разделить площадные и линейные объекты

Добавлено: 19 ноя 2014, 02:46
Boris
Sibit писал(а):
Старый Йети писал(а):Есть еще способ...
Вы сейчас научите... :D Что мешает, в поле запроса просто ввести Area(Obj,"hectare") > 0 ? Хотя, кто сможет таким образом отличить Line от Polyline, получит печеньку.

PS И не надо бояться MapBasic-а :) (особенно когда его нет)
На мой вкус мешает то, что любое вычисление площади, а особенно на сфере, в разы дольше, чем вычисление атрибута "что есть сей объект?".
Кроме того, разве автор спрашивал, как отделить "Line от Polyline"? Это совершенно другая задача.

Re: Как разделить площадные и линейные объекты

Добавлено: 19 ноя 2014, 08:12
Старый Йети
Старый Йети писал(а):Есть еще способ...
:)
Sibit писал(а):
Старый Йети писал(а):Есть еще способ...
Вы сейчас научите... :D
Это тут здесь, не закидывайте гнилыми помидорами старого...
Все способы хороши, что не ведут в ад...
пошагово расписано, дабы каждую запятую понятно было. Начинать надоть с малого.
Человек представлять должен хуизху...
Удачи и доброго утра! :)

Re: Как разделить площадные и линейные объекты

Добавлено: 19 ноя 2014, 12:13
Sibit
Старый Йети писал(а): Это тут здесь, не закидывайте гнилыми помидорами старого...
Ну почему же сразу помидорами :))) Я считаю, что в MapInfo и так очень куцый механизм запросов(громко названный SQL-запрос), и пользователям нужно его стараться освоить по максимуму 8).

Re: Как разделить площадные и линейные объекты

Добавлено: 20 ноя 2014, 10:16
Старый Йети
Sibit писал(а): ... стараться освоить по максимуму 8).
Не могу не согласиться!!!
Век живи и еще 2 века учись! :)

Re: Как разделить площадные и линейные объекты

Добавлено: 21 ноя 2014, 09:14
juffin_h
На всякий случай.
1. Функция получения площади не площадного объекта в общем случае может вызвать ошибку.
2. И у площадных объектов площадь может быть равна нулю.
:)

Re: Как разделить площадные и линейные объекты

Добавлено: 21 ноя 2014, 10:15
sysrepos
вот еще способ, писал я когда то утилиту по этому вопросу.
запускаете утилиту, в настройках указываете таблицу, в которой нужно выбрать объекты. Далее - 2 кнопки в третьем ряду позволяют выбирать объекты по типу