Сдвиг слоев
-
- Участник
- Сообщения: 70
- Зарегистрирован: 18 ноя 2013, 07:43
- Репутация: 6
Сдвиг слоев
Добрый день! Просьба подсказать существующие способы сдвига нескольких слоев одновременно?
В стандартном наборе Mi есть возможность сдвигать выделенные объекты, т.е можно выделить не более 1-го слоя и сдвинуть его в нужном направление на требуемое расстояние. Может есть такие утилиты, или может быть каким то образом повторяя команду MB, если кто знает как составить такую команду подскажите?
А также в продолжение темы нужно недавно было (уже сделал) поменять границы рамки карты для значительного кол-ва слоев, воспользовался стандартной утилитой "Граница рамки карты" но там неудобство менять приходилось только по одному слою сохраняя его копию, что очень затратно?
В стандартном наборе Mi есть возможность сдвигать выделенные объекты, т.е можно выделить не более 1-го слоя и сдвинуть его в нужном направление на требуемое расстояние. Может есть такие утилиты, или может быть каким то образом повторяя команду MB, если кто знает как составить такую команду подскажите?
А также в продолжение темы нужно недавно было (уже сделал) поменять границы рамки карты для значительного кол-ва слоев, воспользовался стандартной утилитой "Граница рамки карты" но там неудобство менять приходилось только по одному слою сохраняя его копию, что очень затратно?
Последний раз редактировалось egormishin 06 мар 2017, 09:38, всего редактировалось 1 раз.
- Игорь Белов
- Гуру
- Сообщения: 2229
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1501
- Откуда: Казань
Re: Сдвиг слоев
Предлагаю решение обеих проблем, основанное на использовании BatchTools и хорошего текстового редактора.
- Вычислим/измерим требуемый сдвиг по X и Y.
- Экспортируем все TAB в папке в MIF/MID:
[BatchTools] → [Run MIFexp] - Вычислим новые параметры FalseEasting и FalseNorthing: оригинальные значения минус сдвиг.
- Текстовым редактором заменим CoordSys сразу во всех MIF в папке.
- Импортируем все MIF/MID в папке:
[BatchTools] → [Run BatchMIF] - Подготовим новую проекцию. Это оригинальная с границами координат. В файле MAPINFOW.PRJ скопируем оригинальную проекцию в раздел с пользовательскими проекциями, добавим 2000 к номеру проеции, после параметров проекции вставим границы слоёв Bounds. Пример:
"GK Zone 7 (Pulkovo 1942)\p28407", 8, 1001, 7, 39, 0, 1, 7500000, 0
превратится в
"GK Zone 7 (площадь работ)", 2008, 1001, 7, 39, 0, 1, 7500000, 0, 7660000, 6180000, 7670000, 6190000 - Конвертируем все TAB в папке в новую проекцию (в другую папку):
[BatchTools] → [Run BatchProj]
Последний раз редактировалось Игорь Белов 03 мар 2017, 11:42, всего редактировалось 2 раза.
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 1018
- Зарегистрирован: 01 авг 2012, 13:55
- Репутация: 241
Re: Сдвиг слоев
Если можно, подробнее этот пункт, какой именно текстовый редактор и функцию пакетной замены в нем, Вы использовали?Игорь Белов писал(а): 4. Текстовым редактором заменим CoordSys сразу во всех MIF в папке.
Спасибо!
Последний раз редактировалось lam 03 мар 2017, 12:04, всего редактировалось 1 раз.
- Игорь Белов
- Гуру
- Сообщения: 2229
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1501
- Откуда: Казань
Re: Сдвиг слоев
Когда-то использовал MultiEdit, затем jEdit, sed… Хороших текстовых редакторов море.
P. S.
В jEdit быстрее всего нажать последовательно Ctrl-e Ctrl-d, или через меню [Поиск] → [Поиск в директории…]
В Emacs это делается так: M-x find-name-dired RET
P. S.
В jEdit быстрее всего нажать последовательно Ctrl-e Ctrl-d, или через меню [Поиск] → [Поиск в директории…]
В Emacs это делается так: M-x find-name-dired RET
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Сдвиг слоев
Если всё в План-схеме (хотя и с проекциями тоже работает вроде бы) и неохота заморачиваться с проекциями, то можно сделать следующее:
1) загнать все таблицы в .mif/mid с помощью BatchTools
2) Открыть .mif (или .mif'ы) в текстовом редакторе и добавить строку
TRANSFORM 0, 0, Xshift, Yshift
где Xshift и Yshift - сдвиг по X и Y соответственно. Может быть и отрицательным. Нули в начале строки обязательны. Строку надо добавить до начала объявления объектов. То есть после объявления Delimiter или CoordSys
4) Обратно импортировать в .tab. Во время импорта произойдёт сдвиг. Разумеется, надо перед эти удостовериться, что сдвинутые координаты находятся в пределах границ карты, то бишь в пределах Bounds. В противном случае они все упрутся в невидимую стенку и останутся на одной линии
Строку CoordSys можно заменить любым текстовым редактором, имеющим возможность пакетной замены. А-ля Textpad. Либо воспользовать бинарно/текстовым вариантом редактора, а-ля 010editor, позволяющим писать небольшие макросы для таких задач
1) загнать все таблицы в .mif/mid с помощью BatchTools
2) Открыть .mif (или .mif'ы) в текстовом редакторе и добавить строку
TRANSFORM 0, 0, Xshift, Yshift
где Xshift и Yshift - сдвиг по X и Y соответственно. Может быть и отрицательным. Нули в начале строки обязательны. Строку надо добавить до начала объявления объектов. То есть после объявления Delimiter или CoordSys
4) Обратно импортировать в .tab. Во время импорта произойдёт сдвиг. Разумеется, надо перед эти удостовериться, что сдвинутые координаты находятся в пределах границ карты, то бишь в пределах Bounds. В противном случае они все упрутся в невидимую стенку и останутся на одной линии
Строку CoordSys можно заменить любым текстовым редактором, имеющим возможность пакетной замены. А-ля Textpad. Либо воспользовать бинарно/текстовым вариантом редактора, а-ля 010editor, позволяющим писать небольшие макросы для таких задач
-
- Участник
- Сообщения: 70
- Зарегистрирован: 18 ноя 2013, 07:43
- Репутация: 6
Re: Сдвиг слоев
Спасибо за подсказки, нашел утилиту для сдвига и не только "Re Calc"может кому пригодится главное ничего ненужно не куда конвертировать очень удобно! А вот для увеличения рабочей области наверное только ваши варианты.
-
- Участник
- Сообщения: 56
- Зарегистрирован: 25 фев 2009, 20:55
- Репутация: 3
- Откуда: Инструментарий для MapInfo
- Контактная информация:
Re: Сдвиг слоев
Можно еще с помощью "Инструментария для MapInfo". Мастер трансформации и пределы слоев сам подправит и объекты по толпе слоев перенесет:
https://youtu.be/LXzbMQfZcGg?t=471
https://youtu.be/LXzbMQfZcGg?t=471
-
- Участник
- Сообщения: 70
- Зарегистрирован: 18 ноя 2013, 07:43
- Репутация: 6
Re: Сдвиг слоев
Спасибо Cancer хороший вариант!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей