ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
lesis@ya.ru
+7(916)615-42-77

ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L

Объявление

Для участия в работе закрытой, технической части форума нужно быть пользователем ГИС TopoL-L2 (10.0) и Зарегистрироваться!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Площадь полигона

Сообщений 1 страница 20 из 20

1

Подскажите пож. есть ли возможность вычисления площадей полигонов, которые не являются выделом (не таблица 7550) ?

2

Олег написал(а):

Подскажите пож. есть ли возможность вычисления площадей полигонов, которые не являются выделом (не таблица 7550) ?

Вопрос, возможно, не понял. При создании своего класса полигональных объектов, если задаете параметр создания базы в созданной базе автоматом появляется поле площади. При создании новых объектов класса (таблицы) оно также автоматом заполняется значением их площади.

3

Олег написал(а):

вычисления площадей полигонов

Площадь вычисляется для каждого полигона, и, если в базе есть стандартное поле AREA, площадь туда записывается. Доступ к значению - @AREA. Есть,, кажется, еще служебное поле _AREA - это площадь полигона без учета островов в нём. Доступ к значению площади можно также получить в ToPas через параметр %AREA.
Только учтите, что все эти площади - геометрические, не округляемые и не увязываемые на заданную площадь объекта.

4

Дмитрий Александрович написал(а):

Площадь вычисляется для каждого полигона, и, если в базе есть стандартное поле AREA, площадь туда записывается.

не записывается - поле остаётся пустым.

5

Юрий написал(а):

не записывается - поле остаётся пустым.

Если поле создается в блоке до создания полигонов (выбирается из набора системных полей, значения в которых пользователь изменить не может), то при создании или изменении полигона площадь туда записывается. Если поле было добавлено в уже созданной группе полигонов, сразу после создания оно автоматически не заполнится, но там есть операция заполнения/обновления системных полей, на память название не вспомню, где-то в меню "Изменить".

6

Грешнов написал(а):

При создании своего класса полигональных объектов, если задаете параметр создания базы в созданной базе автоматом появляется поле площади.

В отдельном блоке создана карта гидрографии, площади которой не входят в арендный участок. Теперь появилась необходимость вычислить площади водного фонда участка. Поля площадь в базе нет.

Отредактировано Олег (21.05.2018 10:58:20)

7

Дмитрий Александрович написал(а):

Если поле создается в блоке до создания полигонов

Ясно, но у меня наоборот, полигоны есть давно, а поле площадь отсутствует.

8

Олег написал(а):

Ясно, но у меня наоборот, полигоны есть давно, а поле площадь отсутствует.

Ничего страшного, создайте в блоке необходимые поля с идентификаторами полигонов, названиями объектов и поле AREA. Если все сделано правильно, поле будет заблокировано от редактирования в среде TopoL-я. Далее выполните через меню команду заполнения/обновления системных полей, и во всех полигонах должна появиться площадь. Далее при изменении контуров она будет автоматически изменяться.

Собственно, в повыдельном блоке именно такой механизм используется, при внесении изменений отслеживаются изменения в площадях AREA и относительно этого корректируются остальные значения, связанные с площадью.

9

Дмитрий Александрович написал(а):

создайте в блоке необходимые поля с идентификаторами полигонов

Возможно, это стало проблемой. Я поэкспериментировал с добавлением поля AREA в ранее созданную произвольную БД и оно не заполнилось автоматом - только после каких-либо манипуляций с конкретной записью писалось именно в нее. Когда повторил то же самое добавив кроме AREA  KVRNOM и VYDNOM - таблица заполнилась автоматом вся без каких-либо манипуляций с обновлением системных полей. Внутреннего идентификатора Тополя было недостаточно.

10

Спасибо
Все получилось.

11

Добрый вечер. Имеем карту из навигатора гармин. Карта линейная из множество отдельных отрезков, которые не соединены но пристыкованы в точке.
Средствами картографического редактора Топол, возможно создать их этой карты площадную карту? Пример

12

Vladimir написал(а):

Имеем карту из навигатора гармин.

У Вас карта в MidMif, то есть в обменном формате MapInfo.  И не важно - из Гармина она пришла или другой ГИС. Для обмена вектором с Гармином обычно используют GPX.

Vladimir написал(а):

Карта линейная из множество отдельных отрезков, которые не соединены но пристыкованы в точке

В Вашем случае они действительно "пристыкованы". Если будет материал хуже, то прежде чем импортировать просмотрите видеоуроки по импорту из МапИнфо (ЛесГИС). Там должно быть показаны приемы чистки мапинфошных проблем при построении топологии. Или в доках - http://www.lesis.ru/infot/teh_import_mapinfo.html

Vladimir написал(а):

Средствами картографического редактора Топол, возможно создать их этой карты площадную карту? Пример

1. Создаете свое лесничество штатными средствами TopoL-L2 как это описано в "Создании объектов". Таким образом Вы получаете стандартные блоки с готовыми таблицами P7550.
2. Открываете Ваш MidMif (настраиваете корректно проекции - рабочую, окна и для открываемых данных).
3. В "Изменить - Настройка - Параметры создания линий" настраиваете так как описано в документации, например, тут:
http://www.lesis.ru/infot/teh_import_mapinfo.html - смотрите подраздел "Настройка программы и определение системы координат"
4. Выбираете для редактирования блок своего лесничества (F3) и "Изменить - Линии - Копировать линии - Копировать линии". Дальше как обычно - включаете создание узлов и строить топологию. Линии копируются "схлопнутыми" и "соединенными".
5. Далее на ранее созданной таблице P7550 начинаете литеровать полигоны указывая номер квартала и номер выдела. Если в блоке нет проблем после схлопывания скопированных линий то литерация и создание полигонов при этом идут нормально.
6. Если в Гармине были какие то метки можно подумать как их загрузить, чтобы не литеровать, но это лучше Д.А. прокомментирует если такие найдете.
Примерно так.

13

Сергей Петрович, а у вас получилось на моем примере? Что то у меня не получилось. Попробую в понедельник свежей головой.
Все манипуляции проводим  в Тополе 10?

Грешнов написал(а):

Если в Гармине были какие то метки можно подумать как их загрузить, чтобы не литеровать, но это лучше Д.А. прокомментирует если такие найдете.

Очень бы хотелось научиться и этому. Дмитрий Александрович, поможете? Пример с метками

14

Vladimir написал(а):

Сергей Петрович, а у вас получилось на моем примере?

Проще, наверное, видео выложить:
http://www.lesis.ru/files/mybb180727.exe

Vladimir написал(а):

Дмитрий Александрович, поможете?

Если только помнит что то по памяти из своего общения с МапИнфо... Просить его изучить сейчас как там метки строятся и как вытаскивать и можно ли это сделать, мы не можем. У него своей работы хватает и Мапинфо у нас нет.

15

Я попробовал на ваших данных - всё получается, как описал Сергей Петрович, никаких проблем. Вам только надо не забыть задать правильную систему координат для MIF/MID-а, TopoL автоматом её не определит. Я ставил WGS-84. И при копировании сразу подготовьте и активируйте группу в TopoL-е, куда копировать в блок, а то придется потом менять её, лишний шаг. Перед копированием в настройках создания линий поставьте галочку создания топологии, порог создания узлов я ставил 1 метр.

Полезной информации в исходных линиях я не увидел. Полигоны нужно будет литеровать вручную. Здесь два варианта, как больше понравится - создавать по одному и сразу литеровать, либо создать все автоматом, а потом заменять нули на содержательные номера. По мне, проще первый вариант.

Вообще, если бы были точечные объекты внутри выделов с идентификацией, её можно было-бы перенести в полигоны, но не думаю, что это проще, чем литерация вручную.

16

Грешнов написал(а):

Проще, наверное, видео выложить:

Спасибо, все теперь понятно))

Дмитрий Александрович написал(а):

Полезной информации в исходных линиях я не увидел. Полигоны нужно будет литеровать вручную. Здесь два варианта, как больше понравится - создавать по одному и сразу литеровать, либо создать все автоматом, а потом заменять нули на содержательные номера. По мне, проще первый вариант.

Нам, подойдет второй вариант. Подскажите, пожалуйста, как это сделать? За пределами Топол, в сторонней ГИС программе есть инструмент "Расчет семантики по входящим объектам". Т.е. если Топол  автоматически создаст полигоны, то в сторонней ГИС программе мы пропишем атрибуты тоже автоматически. Далее  мы уже по отлаженной технологии "подменим" карту Тополя и увяжем базу.

17

Vladimir написал(а):

Нам, подойдет второй вариант.

"Изменить / Полигоны / Создать все видимые", но какой смысл гонять данные куда-то? Литерация квартала с созданием полигонов и заданием номеров занимает 5 минут на квартал. А что делает "Расчет семантики по входящим объектам"? По правилам литерация должна идти строго слева направо и сверху вниз, это реализует автомат?

18

Дмитрий Александрович написал(а):

"Изменить / Полигоны / Создать все видимые"

Спасибо большое. 

Дмитрий Александрович написал(а):

но какой смысл гонять данные куда-то? Литерация квартала с созданием полигонов и заданием номеров занимает 5 минут на квартал.

Нам кажется так быстрее. У нас нет задачи сделать л/у на этом объекте. Даже наоборот, сохранить существующее. Готовим картографическую часть к проект изменений категорий защитных лесов.

Дмитрий Александрович написал(а):

А что делает "Расчет семантики по входящим объектам"?

Расчет семантики по входящим объектам из семантики точки или подписи, копирует в семантику объекта в границах которого находится точка или подпись.

19

Дмитрий Александрович написал(а):

По правилам литерация должна идти строго слева направо и сверху вниз, это реализует автомат?

А вот если стоит задача сделать автоматическую литерацию строго слева направо и сверху вниз. То такая функция мне не известна.

20

Vladimir написал(а):

Расчет семантики по входящим объектам из семантики точки или подписи, копирует в семантику объекта в границах которого находится точка или подпись.

Так это есть и в TopoL-е: копирование атрибутивных данных между точками и полигонами, между полигонами и точками и т.д. Меню "Изменить / Копировать атрибуты". Насколько помню, эта функция работает даже и те только с блоками, но и с некоторыми "чужими" форматами. Что касается текстовых подписей, то у них тоже может быть база и есть возможность переносить текст подписи в поля БД, подробностей сейчас по памяти не воспроизведу. Нужно сформулировать ваш вопрос.




Почтовый адрес для ЗАКАЗНЫХ писем:
С.П.Грешнов, +7(916)615-42-77, 108832, А/Я №1
НЕ ИСПОЛЬЗОВАТЬ курьерскую доставку!!!
E-Mail: lesis@ya.ru
Вопросы общего характера:
+7(916)615-42-77
РОССИЙСКАЯ ФЕДЕРАЦИЯ
Общество с ограниченной ответственностью "ЛЕСИС"
ОГРН: 1035007204902, ИНН: 5036046400, КПП: 503601001