Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Wolfana
Зарегистрирован: 14.08.2015 Сообщения: 8 Откуда: Подмосковье
|
Добавлено: Пн Авг 17, 2015 6:08 pm Заголовок сообщения: Как объединить части в единый объект |
|
|
Имеется ЛЭП с кучей отпаек. Все - в одном слое. Надо объединить все кусочки, т.е создать единый объект.
Это нужно для того, чтобы выяснить общую длину ЛЭПки.
Дайте, пожалуйста, алгоритм, а то я себе уже мозг сломала |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Пн Авг 17, 2015 7:10 pm Заголовок сообщения: |
|
|
Если ваши ЛЭП изображаются в виде полилиний, то думаю, что следующий запрос вам поможет. (Введите обе эти строки в окно Mapbasic)
Select Count(*)"Количество",Sum(ObjectLen(obj, "m"))"Длина" from electric where Str$(obj)="Polyline" into Selection
Browse * From Selection
Здесь electric – имя таблицы. |
|
Вернуться к началу |
|
|
Wolfana
Зарегистрирован: 14.08.2015 Сообщения: 8 Откуда: Подмосковье
|
Добавлено: Пн Авг 17, 2015 8:29 pm Заголовок сообщения: |
|
|
спасибо большое за ответ, только я ничего не поняла. прогой mapbasic пользоваться не умею, открыла в мапинфо "Запустить программу mapbasic " - там целый список разных файлов, не знаю, какой выбрать...
А средствами самого мапинфо, значит, никак? Надо mapbasic осваивать? |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Пн Авг 17, 2015 9:43 pm Заголовок сообщения: |
|
|
Меню Mapinfo: Настройки/Показать окно Mapbasic. В открывшееся окно вводите указанные операторы. После ввода каждого оператора нажимаете клавишу Enter.
Все это можно сделать и через Запрос/SQL-запрос, но объяснить, как это сделать, наверное, будет еще сложнее. |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Пн Авг 17, 2015 10:25 pm Заголовок сообщения: |
|
|
Не забудьте заменить electric на имя вашей таблицы. |
|
Вернуться к началу |
|
|
Wolfana
Зарегистрирован: 14.08.2015 Сообщения: 8 Откуда: Подмосковье
|
Добавлено: Пн Авг 17, 2015 10:53 pm Заголовок сообщения: |
|
|
Спасибо огромное, получилось! Сумма посчиталась
А эти операции объединяют линии в один объект или только считает сумму их длин? |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Пн Авг 17, 2015 11:07 pm Заголовок сообщения: |
|
|
В данном случае никакого объединения нет. Мне казалось что вас интересует только общая длина.
Для объединения:
1. Сделайте слой редактируемым
2. Выделите все полилинии (можно руками или через запрос)
3. Меню: Объекты/Объединить |
|
Вернуться к началу |
|
|
Wolfana
Зарегистрирован: 14.08.2015 Сообщения: 8 Откуда: Подмосковье
|
Добавлено: Пн Авг 17, 2015 11:35 pm Заголовок сообщения: |
|
|
Ещё раз спасибо Вам за помощь!
Я, на самом деле, толком не знаю - надо Заказчику, чтобы всё было объединено в один объект, или это делают только для того, чтобы посчитать сумму (мне до сих пор не выслали полные требования к отчёту).
Кстати, после объединения, если правой кнопкой выбрать из меню "геоинформация", то тоже показывается суммарная длина, причём она отличается от той, что получилась а мапбейсике. В моем случае на 10 %. Как Вы думаете, какой вариант достовернее? |
|
Вернуться к началу |
|
|
Wolfana
Зарегистрирован: 14.08.2015 Сообщения: 8 Откуда: Подмосковье
|
Добавлено: Пн Авг 17, 2015 11:39 pm Заголовок сообщения: |
|
|
ой, наврала - на 1 % (точнее 0.6%) |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Вт Авг 18, 2015 8:39 pm Заголовок сообщения: |
|
|
Никаких особенных различий быть не должно, если только за счет округления результата.
Теперь что могло произойти у вас:
1. Как я понимаю, выборку объектов вы делали вручную и что-то могли и пропустить (из мелочи).
2. Отдельные мелкие объекты, из тех, что вы объединяли, имели тип "Линия" а не "Полилиния" (на глаз это не определить).
3. В запросе, который я предложил использовать, суммировались длины только объектов "Полилиния", всех полилиний в таблице, но возможно, что какие-то из них и не нужно было включать. |
|
Вернуться к началу |
|
|
|