Аналитика
http://www.geosystema.net/forum/

Универсальный скрипт контроля карт (поиска ошибок)
http://www.geosystema.net/forum/viewtopic.php?f=1&t=2352
Страница 1 из 2

Автор:  Sergey Oleynik [ 24 ноя 2011 12:16 ]
Заголовок сообщения:  Универсальный скрипт контроля карт (поиска ошибок)

Универсальный скрипт контроля карт (поиска ошибок)

В Digitals уже довольно давно существует система контроля карт (Карта|Контроль...), выполняющая проверку карты для поиска ошибок геометрии и параметров.

Проверка выполняется при помощи настраиваемых сценариев (файлы *.mcs в папке \Digitals\Control), в которых описываются топологические отношения между объектами разных слоев. Поскольку создание полноценного сценария контроля для топографической карты, это довольно сложная задача, то контроль карт используют немногие. Хотелось бы сделать систему контроля доступной для большинства пользователей.

Представляем вашему вниманию универсальный вариант сценария контроля, который проверяет наиболее типовые ошибки и мало зависим от применяемого классификатора. Сценарий решает задачу проверки топологической целостности файлов In4, XML, а также топоосновы для ГИС. Например, находит наиболее частую проблему, возникающую при сохранении в ArcGis Shape - точечные объекты в линейных слоях или незамкнутые полигоны в площадных. Также ошибкой считается примыкание к линии без узловой точки.

Загрузить универсальный скрипт контроля карт >>>
Правая кнопка мыши, а затем Сохранить объект как в папку \Digitals\Control

Также желательно удалить из папки \Digitals\Control все остальные файлы *.mcs
если только вы не создавали собственных сценариев контроля

Желательно также обновить программу Ged.exe.

Приветствуются предложения и пожелания тех, кто имеет опыт создания сценариев контроля.

Автор:  voha [ 24 ноя 2011 15:10 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Sergey Oleynik писал(а):
Приветствуются предложения и пожелания тех, кто имеет опыт создания сценариев контроля.
Прошу пробачення за нав'язливість, але чому б не використати функцію [Overlay] Перекриття (Рис3) - взятий з демофайла Control.dmf. Тобто в Control.dmf приклад є, а самої функції - немає.
Вложение:
_імені.JPG
_імені.JPG [ 27.12 Кб | Просмотров: 35836 ]
[Intersect] Ошибки пересечения объектов ловить тільки перетин (рис1).
[Overlay] Перекриття - функція мала б ловити помилки часткового перекриття (рис2).
Питання раніше вже піднімалось Сценарії контроля якості карти

Автор:  misha_OD [ 01 дек 2011 12:56 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Sergey Oleynik писал(а):
Универсальный скрипт контроля карт (поиска ошибок)

Після перевірки програма показує, що об'єкт має довжину лінії менше 5 см. Але я перевірив - насправді немає такої довжини.

В файлі Control.mcs є такий запис:
Цитата:
[Parameters] Ошибки параметров и размеров
A: 0<=0.01; Площадной объект %L1 имеет нулевую площадь
;A: -8<4; Объект %L1 имеет менее четырех точек
L: -8<2; Линейный объект %L1 состоит из одной точки
*: -10<0.05; Длина линии объекта меньше 5 см


Прикріпляю файл з об'єктом:
Вложение:
5 sm.dmf [19.49 Кб]
Скачиваний: 1431

Автор:  Dmitry_Zolotar [ 01 дек 2011 15:09 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

misha_OD писал(а):
Після перевірки програма показує, що об'єкт має довжину лінії менше 5 см. Але я перевірив - насправді немає такої довжини.

В цьому файлі дійсно немає лінії меньше 5см, але й помилку таку не показує. Може це вже виправленний файл.

Автор:  misha_OD [ 02 дек 2011 18:38 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Завантажив свій же файл - і в мене показує цю помилку.
Вложение:
5 sm.jpg
5 sm.jpg [ 139.56 Кб | Просмотров: 35672 ]

Автор:  Sergey Oleynik [ 05 дек 2011 09:53 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Скорее всего, проблема в вашем старом Ged.exe. Первые версии контроля не умели работать с параметрами-массивами, такими как Длины линий.
Sergey Oleynik писал(а):
Желательно также обновить программу Ged.exe.

Автор:  misha_OD [ 05 дек 2011 12:46 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Дякую.
Зараз у мене дійсно стара версія - від 16.01.2011.

Автор:  ЕЦКО [ 25 дек 2012 12:18 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

voha писал(а):
Sergey Oleynik писал(а):
Приветствуются предложения и пожелания тех, кто имеет опыт создания сценариев контроля.
Прошу пробачення за нав'язливість, але чому б не використати функцію [Overlay] Перекриття (Рис3) - взятий з демофайла Control.dmf. Тобто в Control.dmf приклад є, а самої функції - немає.
Вложение:
Вложение _імені.JPG больше недоступно.
[Intersect] Ошибки пересечения объектов ловить тільки перетин (рис1).
[Overlay] Перекриття - функція мала б ловити помилки часткового перекриття (рис2).
Питання раніше вже піднімалось Сценарії контроля якості карти


Поддержую! + хотелось бы проверку на повтор слоя :idea:
Например: случайно в одном обьекте скопированы две *In4 Ділянка*, что влечет за собой неправильный подсчет общей площади!

Вложение:
Комментарий к файлу: Пример!
.bmp [2.13 Мб]
Скачиваний: 0

Автор:  paul [ 25 дек 2012 12:20 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Карта>Проверка>Одинаковые

Автор:  ЕЦКО [ 25 дек 2012 12:23 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

paul писал(а):
Карта>Проверка>Одинаковые


Ой)) спс!!! Лучше бы перенесли в Правка - Пометить... почему то не сообразил посмотреть в Карте* :(

Автор:  kol_s [ 15 мар 2013 10:10 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Скажіть, можливо за допоногою дігітала знайти ділянки які перетинаються між собою, і задать параметр "допустимо максимальна площа перетину між ділянками 1 м.кв."

Автор:  voha [ 15 мар 2013 16:19 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

Вже можна виловлювати помилки часткового перекриття полігонів без функції сценарія контроля [Overlay]
kol_s писал(а):
Скажіть, можливо за допоногою дігітала знайти ділянки які перетинаються між собою, і задать параметр "допустимо максимальна площа перетину між ділянками 1 м.кв."
Доступна скриптова функція @Map.Object[N].OverlayList [Layer] - Функция возвращает список номеров объектов-полигонов (полилинии, точки игнорируются) карты, пересечение с которыми текущего объекта имеет ненулевую площадь... . Є внутрішнє ім'я команди кнопки spbIntersect те-ж [ Операції з об'єктами.Перетин ]. Реально перебрати об'єкти-полігони в циклі скрипта, застосувавши для кожного @Map.Object[N].OverlayList [Layer], далі в циклі перебрати об'єкти що мають перекриття зі створенням проміжного полігону (spbIntersect), оцінки площі проміжного полігону, відміною створення полігону. Залежно від площі проміжного полігону - записуєм в окремий текстовий блок номера об'єктів з перекриттям. Все це в одному скрипті.

Автор:  kol_s [ 16 мар 2013 10:59 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

:shock:
voha писал(а):
Вже можна виловлювати помилки часткового перекриття полігонів без функції сценарія контроля Доступна скриптова функція @Map.Object[N].OverlayList [Layer] - Функция возвращает список номеров объектов-полигонов (полилинии, точки игнорируются) карты, пересечение с которыми текущего объекта имеет ненулевую площадь... . Є внутрішнє ім'я команди кнопки spbIntersect те-ж [ Операції з об'єктами.Перетин ]. Реально перебрати об'єкти-полігони в циклі скрипта, застосувавши для кожного @Map.Object[N].OverlayList [Layer], далі в циклі перебрати об'єкти що мають перекриття зі створенням проміжного полігону (spbIntersect), оцінки площі проміжного полігону, відміною створення полігону. Залежно від площі проміжного полігону - записуєм в окремий текстовий блок номера об'єктів з перекриттям. Все це в одному скрипті.

Поясніть будь ласка "на пальцях" якщо це можливо, що за чим треба зробить, вмене є певна база населеного пунтку в форматі ін4, мені потрібно
kol_s писал(а):
знайти ділянки які перетинаються між собою, і задать параметр "допустимо максимальна площа перетину між ділянками 1 м.кв."

Автор:  voha [ 16 мар 2013 15:54 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

kol_s писал(а):
знайти ділянки які перетинаються між собою...
Майже готовий скрипт. Але: скрипт має зупинятись, позначивши два об'єкти з накладанням - для виправлення, чи скрипт має дати звіт з номерами об'єктів що накладаються :?:

Автор:  voha [ 16 мар 2013 18:59 ]
Заголовок сообщения:  Re: Универсальный скрипт контроля карт (поиска ошибок)

kol_s писал(а):
...Поясніть будь ласка "на пальцях" якщо це можливо, що за чим треба зробить, вмене є певна база населеного пунтку в форматі ін4, мені потрібно знайти ділянки які перетинаються між собою, і задать параметр "допустимо максимальна площа перетину між ділянками 1 м.кв.
Скрипт наявності накладок полігонів

Страница 1 из 2 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/