чи можливо добавити функцію, яка б витягувала з обмінних файлів дату створення?
Необхідно для того, щоб створити базу обмінників без старих версій файлів, що дублюються.
чи можливо добавити функцію, яка б витягувала з обмінних файлів дату створення?
Необхідно для того, щоб створити базу обмінників без старих версій файлів, що дублюються.
Перший рядок ін4-файлу, як правило, містить назву виконавця робіт та дату створення файлу, ця інформація попадає в параметр ##, доступний кварталу
В xml-файлі дата створення міститься в першому параметрі об’єкта “Реквізити обмінного файлу”
Цього достатньо? Чи потрібні атрибути файлу: дати створення, останніх змін та відкриття?
Dmitry, власне потрібно не дату створення, а дату внесення змін.
І, крім цього, в кожному третьому-четвертому обміннику в моїй базі параметра ## з датою просто нема. Це ж тоді IN4 робилися в Інвент-Граді, потім вручну в блокноті заповнювалася інформація про власника.
Якщо можливо, добавте.
Навіть, якщо користуватися витягуванням із параметра, то там мінус, що скроптом треба відкривати кожен обмінник і перевіряти його параметр. А це при обробці десятків тисяч файлів довго триватиме.
Доброго дня шановним розробникам і форумчанам.
Є в мене наступне запитання, щодо розширення можливості автоматизації Digitals скриптами:
чи можна розробити скриптову функцію @SetOptions Section Key=Value, яка встановлюватиме значення опцій налаштування Digitals (вікно Options класу TFormOptions з меню Сервіс|Налаштування) принаймні на поточну сесію роботи Digitals.
Обгрунтування запиту на функцію - наступне твердження:
відповідно до файла ініціалізації Ged.ini - скриптова функція @SetConstant Constant=NewValue - “Изменяет значение константы в Сервис|Настройки|Главная|Константы по ее имени” не змінює дані в Ged.ini, зате встановлює значення NewValue замість ініційованого значення ключа Constant у секці [Constants] в межах одній сесії роботи Digitals.
Запитувана функція @SetOptions Section Key=Value - “Змінює значення опції, ініційоване з ключа Key секції Section файла Ged.ini, для поточної сесії роботи Digitals. Повертає 1 за успішної операції або 0 за невдачі (при недопустимому значенні Value, при відсутності в налаштуваннях опції Key та/або секції Section)”.
Я розумію, що наявність запитуваної функції автоматом переведе функцію @SetConstant Constant=NewValue до надлишкових. Але ж зараз, для того щоб у скрипті гарантувати значення опцій налаштування, доводиться скриптом переписувати файл Ged.ini та перепускати Ged.exe для ініціалізації нових значень опцій ![]()
Як будемо користуватись? Наприклад:
@SetOptions FormOptions.chbShapeSameWindow Checked=1 - включить опцію "Відкривати в одному вікні Shape-файли (Сервіс|Налаштування|Читання|Arcview Shape|Відкривати в одному вікні)
@SetOptions FormOptions.edtTCPCommand Text=1042 - змінить значення порта для з’єднань, а @SetOptions FormOptions.edtTCPCommand Checked=1 включить сервер Digitals для з’єднань.
Як буде функція реагувати на зміну значень опцій що передбачають перезапуск Digitals? Тут треба вирішувати з того підходу, як зараз працює функція @SetConstant. Хотілося б, щоб функція @SetOptions записувала значення опції ще й у файлі Ged.ini та повертала би -1, що буде свідчити скрипту про необхідність перезапуску Digitals вже з новими значеннями опцій (записаних в Ged.ini
). Якщо така “хотілка” суперчить принципам - без зміни значення в Ged.ini встановлюй чи ні, а нові значення опції задіяні не будуть.
Добрый вечер. Очень нужна функция обрезки горизонталей. (чтоб горизонтали обрезались автоматически через каждый будиток, постройку, речку и т.д.)
Используйте инструмент Сервис-Вырезать внутри полигона пометив те же строения, например.
при большом кол-ве строений, обрезка происходит очень долго. Может можно как-то ускорить?
залийте будівлі білим фоном і поставте на передній план
Вы думаете все глупые. Заказчик такое не принимает!!!
В паперовому варіанті різниці ніякої. Якщо треба в електронному - то самі думайте як. Голова на плечах для чого?
зачем тогда заводить такую тему. где кроме критики не никакой помощи.
За доцільність теми - не треба. Більше в темі читайте, і робіть загальні висновки. Вам порадили. Як на мене, якщо вам сильно треба, можна переконувати у необхідності вирішення вашого завдання і, якщо розробники вирішать що доцільно вже, нагально переробити алгоритм функції - будьте певні, покращать.
За совет спасибо. Но если уж человек просит помощи, значит он уже перепробовал функции которые есть в программе. А писать программы не всем дано, та что не надо умничать. Если можете написать скрипт - то помоги, а не не подсказывай какую кнопку нажать. Это я и сам знаю.
Скрипт будет медленней работать, чем встроенная Вырезать по полигону. Кстати, медленно в вашем случае это сколько?
1000 строений вырезало около 1ч.30мин.
Спасибо.
Доброго дня,
Прошу створити функцію схожу на @Map.SelectConnected, що виділяє об’єкти, які мають спільні центри із виділеним об’єктом.
Дякую!
а яка ціль даної операції? Знайти об’єкти, які дублюються? Знайти об’єкти одного обмінника (Квартал, ділянка) чи якась інша?
Адже, якщо завдання саме такі, то можна по-іншому поступити.
В допомогу такі команди (в т.ч. в скриптах) як Вибрати|Внутрішні, Вибрати|Прилеглі. Також є команда меню Знайти/Одинакові.
Доброго дня,
ціль саме знайти об’єкти, які дублюються але знаходяться в різних слоях. Нажаль жодна з вищеперерахованих команд не дає бажаного результату! Бажано щоб функція виконувала пошук двох накладених ділянок по співпадаючих центрах на 80 або 90%. оскільки часто шукаємий об’єкт дещо відрізняється по конфігурації чи координатах від основного.
Дякую!
Одним словом: треба знайти часткове або повне накладання об’єктів одного полігонального шару на об’єкти іншого полігонального шару? Тоді центри тут ні до чого!
Можу порадити пробувати цей скрипт Знайти полігони з шарів зі стилем “тільки полігон” у статусі “правка”, що частково/повністю накладаються на інші полігони того-ж шару, чи будь-яких шарів стилю “тільки полігон” у статусі “правка”
Ах! Да, я забув, у вас більше 10000 об’єктів. А в скрипті - внутрішня функція, яка відновлює оновлення карти на екрані! “Приплили”.
Дякую,
чудовий скрипт, єдине що час виконання операції для карти з більше ніж 20 000 обєктів близько двох місяців, оскільки для аналізу одного витрачається 5 хв.
Чи можливо його вдосконалити?