ПКЗО. Программный комплекс для кадастрового инженераПКЗО. Автоматизация подготовки межевых и технических планов
  
 
E-MAIL:
ПАРОЛЬ:
 
  
главная / форум

Обсуждение

перейти к последнему сообщению в данном обсуждении

 сдвиг контуров на заданное расстояние и угол поворотасдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Вторник, 11 сентября 2012, 09:41

Добрый день! возможно ли в уже подготовленном МП по уточнению многоконтурного ЗУ сдвинуть все контура на заданное расстояние и угол поворота.если возможно - подскажите как это осуществить?

 сдвиг контуров на заданное расстояние и угол поворота [ Константин Финагеев (разработчик) ]
Вторник, 11 сентября 2012, 12:06

Если Вы действительно имеете в виду уже подготовленный МП - это довольно затруднительно, но потенциально возможно. Например, можно выписать все значения координат из уже подготовленного МП (неважно, подготовлен ли он в бумажном или в электронном виде), пересчитать значения всех координат так, чтобы они сдвинулись и повернулись и заменить в уже подготовленном МП старые значения координат на новые. Главное - аккуратно и внимательно проводить все расчеты.

Если же под подготовленным МП Вы имеете в виду проект ПКЗО, то можно, например, воспользоваться операцией трансформации координат, нужно только не забывать, что любое изменение графических объектов не повлияет на данные проекта, поэтому после любого изменения графических объектов на чертеже/схеме (например, после трансформации) необходимо явно указать для всех объектов проекта (участков, контуров, частей и т.д.) новые измененные контуры (используя пункт контекстного меню объекта проекта "Заменить контур").


 сдвиг контуров на заданное расстояние и угол поворота [ Константин Финагеев (разработчик) ]
Вторник, 11 сентября 2012, 12:46

Да, есть еще вариант: можно изменить координаты всех точек проекта разом с помощью специального скрипта для трансформации кординат, использующего COM-интерфейсы ГИС ObjectLand. Для его работы необходимо наличие установленного компонента COM-интерфейсы ГИС ObjectLand и небольшие познания в программировании или наличие под рукой программиста.

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

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

Если у Вас есть готовая формула для пересчета координат - мы можем помочь с модификацией скрипта для Вашей задачи.


 сдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Вторник, 11 сентября 2012, 18:55

рада, что есть выход. МП подготовлен как проект ПК ЗО. нашла функцию Трансформации. только не понимаю как воспользоваться ею. не могли бы Вы описать пошагово мои действия?
воспользоваться скриптом - было бы вообще счастьем ))), но у меня нет программиста - я практически "одна за всех". если с Вашей помощью я получу скрипт - я смогу его установить без программиста?

суть пересчета: были координаты Х 5 957 467.97, Y 305 128.15
а нужно получить Х 957 467.97, Y 305 128.15

в мапинфо я задаю сдвиг на 5 000 000, угол поворота 270°
вот в общем то моя формула

 сдвиг контуров на заданное расстояние и угол поворота [ Константин Финагеев (разработчик) ]
Вторник, 11 сентября 2012, 23:04

Наталья, скрипт мы модифицируем для Вас и научим им пользоваться и запускать. Давайте только точно определим, как именно он должен преобразовывать координаты. Раз в дело вступают цифры, то исходные данные должны быть точны и никаких "имелось в виду" быть не должно.

Судя по примеру исходных координат и того, что из них надо получить, преобразование состоит всего лишь в отнимании (или прибавлении отрицательной) величины 5000000 от x-координаты (сдвиг нужен только по оси X?). У-координата остается неизменной, никакого поворота на какой-либо градус (кроме, конечно, 360) не наблюдается? Опишите, пожалуйста, более точно или подтвердите, что нужно только отнять 5000000 от x-координаты всех точек проекта.


 сдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Вторник, 11 сентября 2012, 23:27

Вы меня совершенно верно поняли - мне нужно сдвинуть все контура только по оси Х на 5000000. Y - остается неизменным. то есть все как я описала в цифрах : сейчас координаты по Х 5 957 467.97, Y 305 128.15 , а нужно получить Х 957 467.97, Y 305 128.15 . подтверждаю, что нужно только отнять 5000000 от x-координаты всех точек проекта.
Буду признательна за помощь, огромное спасибо

 сдвиг контуров на заданное расстояние и угол поворота [ Константин Финагеев (разработчик) ]
Среда, 12 сентября 2012, 13:58

Первая часть. Убедитесь, что у Вас установлен компонент "COM-интерфейсы" ГИС ObjectLand. Если есть дистрибутив именно той версии ObjectLand, которая у Вас установлена - запустите его. Если дистрибутива нет - откройте Панель управления / Установка и удаление программ, найдите в списке ObjectLand и нажмите кнопку "Изменить". В открывшемся диалоге установки выберите вариант "Изменить", нажмите кнопку "Далее" и убедитесь, что компонент "COM-интерфейсы ObjectLand" включен. Если включен - закройте диалог кнопкой "Отмена", если выключен - включите, нажмите "Далее" и завершите процесс установки.


 сдвиг контуров на заданное расстояние и угол поворота [ Константин Финагеев (разработчик) ]
Среда, 12 сентября 2012, 14:11

Вторая часть. В результате работы скрипта будут преобразованы координаты всех объектов проекта (пунктов ОМС, расстояний до точек, точек построения, всех точек проекта).

  1. Скачайте скрипт по ссылке, приведенной выше. Распакуйте его и откройте в Блокноте или Вашем любимом текстовом редакторе.
  2. Укажите в третьей строке значение переменной gdbPath - строку в кавычках замените на путь к Вашей ГБД (путь к файлу .gdb без расширения). Например, если у Вас ГБД называется TESTGBD и на диске находится файл с путем "C:\TESTGBD\TESTGBD.GDB", то нужно указать строку "C:\TESTGBD\TESTGBD".
  3. Укажите в 5 строке значение переменной projectName - имя проекта.
  4. Укажите в 6 строке смещение по оси X. Для Вашего случая 6 строка должна выглядеть так:
    deltaX = -5000000   ' смещение по X
  5. Укажите в 7 строке смещение по оси Y. Для Вашего случая 7 строка должна выглядеть так:
    deltaY = 0   ' смещение по Y.
  6. Сохраните файл скрипта.
  7. Закройте ГБД. Сделайте (предварительно) резервную копию ГБД (проекта) на всякий случай.
  8. Запустите скрипт, просто нажав на него мышкой в проводнике или используя клавишу "Enter".
  9. Дождитесь сообщения об ошибке и сообщите его здесь или сообщения об успешном завершении вида "Обработано объектов: ..." и обрадуйтесь.
  10. Откройте проект и проверьте измененные данные (предварительно перегенерировав графику, в панели проекта пункт меню "Графика / Генерировать графику...").
  11. Сообщите о результатах.

 сдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Четверг, 13 сентября 2012, 10:35

Здравствуйте! сделала все как Вами написано. НО... проект не открывается ((
Выполняю запуск скрипта командой enter. выходят последовательно окна
- проект: 3152(1), ок
- таблица: МП001-пункты ОМС, ок
- расстояние до точек, ок
- точки, ок

потом все закрываю, открываю ПК ЗО. открываю проект, выходит окно:
Ошибка уровня управления базой данных (код ошибки ГИС:1). Ошибка открытия файла БД (код ошибки СУБД:2511). Процесс не может получить доступ к файлу, т.к. этот файл занят другим процессом (ошибка ОС:32)

могу ли я прислать вам ГБД и скрипт, чтобы определить, что неверно я делаю?

 сдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Четверг, 13 сентября 2012, 10:35

до запуска скрипта - естественно все действия рекомендованные Вами, я выполнила

 сдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Четверг, 13 сентября 2012, 11:01

Ой, все открылось!!! видимо я не дождалась окончательной трансформации
но задача не решена - потому что после генерации графики координаты Х остались "5957467,25", а Y стали - "-14694871,48"

может быть все таки прислать скрипт - чтобы Вы проконтролировали мои изменения в нем?

 сдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Четверг, 13 сентября 2012, 11:03

может быть все же нужен угол поворота??? как в мапинфо?
там при сдвиге координат вводится еще угол. в моем случае 270°

 сдвиг контуров на заданное расстояние и угол поворота [ Константин Финагеев (разработчик) ]
Четверг, 13 сентября 2012, 13:39

Насчет ошибки открытия ГБД - это из-за невыполнения пункта 9.

Насчет нужен или нет угол поворота - Вы уже подтвердили примером исходных и преобразованных координат, что никакого поворота не происходит, нужен только сдвиг по оси X.

Про неправильные значения - поменяйте значения переменных deltaX и deltaY так, чтобы в скрипте было:

deltaX = 0   ' смещение по X
deltaY = -5000000   ' смещение по Y

Сохраните скрипт и запустите заново (только для исходного проекта, а не для уже измененного).


 сдвиг контуров на заданное расстояние и угол поворота [ Наталья Тупицына ]
Пятница, 14 сентября 2012, 11:44

Здравствуйте!!! все сдвинулось уже как надо, спасибо Вам огромное!!! просто нет слов, как Вы нас выручили!!!

 сдвиг контуров на заданное расстояние и угол поворота [ Елена ]
Понедельник, 8 октября 2012, 15:18

Здраствуйте!! Подскажите пожалуйста, можно ли сдвинуть координаты в программе MAPINFOW (параметры сдвига по Х на -1000000,по у на -5700000)например в файле .mid? В слое много объектов, нужно их все пересчитать. (Может не в тему, но очень нужно, а не знаю как.)

 сдвиг контуров на заданное расстояние и угол поворота [ Олег Галеев ]
Понедельник, 8 октября 2012, 15:55

Здраствуйте! А нельзя ли в ПКЗО сделать функцию сдвига по Х или Y для определенного слоя.

 сдвиг контуров на заданное расстояние и угол поворота [ Константин Финагеев (разработчик) ]
Среда, 10 октября 2012, 13:34

Сдвиг по x или y (или любой произвольный сдвиг, или любой произвольный сдвиг с поворотом, или любое произвольное изменение координат графических объектов карты/слоя/типа) можно сделать, используя функцию трансформации (преобразования) координат, имеющуюся в ГИС ObjectLand.

Для случая сдвига по одной из координатных осей объектов определеного слоя можно использовать простейший тип преобразования - преобразование подобия (по 2 точкам), задав необходимые исходные и конечные координаты двух опорных точек и указав нужные слои и типы объектов для преобразования.

Трансформация координат подробно описана в Руководстве пользователя ГИС ObjectLand.


 сдвиг контуров на заданное расстояние и угол поворота [ Ахсар Сохроков ]
Среда, 27 февраля 2013, 20:38

Здравствуйте.

У меня такой вопрос к разработчикам. А нельзя ли добавить в функционал ГИС Objectland возможность перемещения объекта/объектов по осям на заданной количество единиц, задавать координаты центра поворота (или возможность стяжки его с нужной точкой) и угол поворота (градусы, минуты, секунды или пусть даже в виде десятичной дроби)??? Списибо.

 сдвиг контуров на заданное расстояние и угол поворота [ Николаев Денис (разработчик) ]
Четверг, 28 февраля 2013, 13:23

Добавили в список на будущее:
1) перемещение на заданное расстояние в заданном направлении;
2) поворот вокруг заданной точки на заданный угол.

Ответить

Знаком «*» отмечены обязательные для заполнения поля.
Ваше имя:  *
Адрес электронной почты:  
Тема:  *
Сообщение:
 *
Подтверждение:
(не требуется для зарегистрированных пользователей)
 *
 
Copyright © 2016–2018 ООО «Радом-АйТи»
Лицензионое соглашение
главная | новости | о продукте | скачать | купить | форум | библиотека | наш адрес