Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
XELLGIS
Зарегистрирован: 03.09.2009 Сообщения: 16 Откуда: Краснодар
|
Добавлено: Чт Сен 03, 2009 10:20 am Заголовок сообщения: EasyTrace to MapInfo. Срочно важно! |
|
|
Знакомая многим история: Сидишь никого не трогаешь, работаешь в своих любимых САПР, а тут приходит начальник и как нагрузит новым объектом и условием что сдать их надо в MapInfo а сделать при помощи Изи Трайсманна.
Суть проблемы - имеем оцифрованные в Easy листы топокарт масштаба 1:25000. Конвертируем в Mif, импортируем в TAB - получаем векторную карту с абсолютно не ГОСТовским оформлением. Необходимо сделать так чтобы карты переоформлялись согласно установленных РТУ условных знаков с минимальными потерями времени и нервов.
Посему возникла пара вопросов:
1. Как это сделать?
2. Если мы создаем шаблон стилей линий, шаблон стилей заливки контуров и шаблон точечных условных знаков, можно ли сделать так чтобы эти шаблоны применялись ко всем вновь загружаемым в проект слоям.
3. Можно ли каким либо образом экспортировать стили с других проектов MapInfo, а затем импортировать их в наши проекты.
4. Если слои содержат объекты с различными идентификаторами (дорога грунтовая, дорога тракторная, асфальтовое шоссе и пр.), для их отрисовки придется использовать инструмент "Тематическая карта"? Можно ли создать набор слоев для тематической карты и сохранить в рабочем проекте так чтобы следующие слои подгружающиеся туда автоматически оформлялись согласно этому набору?
5. Как проще создать шаблон для точечных условных знаков? Через шрифт или объект?
6. Можно ли каким нибудь образом найти готовые библиотеки условных знаков для 25000?
Заранее спасибо и не сочтите за наглость. Понятно что вопрос из цикла как все и сразу и чтоб меньше делать, но так уж получилось |
|
Вернуться к началу |
|
|
Нестеров Валерий
Зарегистрирован: 21.03.2006 Сообщения: 492
|
Добавлено: Пн Сен 07, 2009 11:58 am Заголовок сообщения: |
|
|
Любое конвертирование обычно подразумевает перевод только голых конструктивов... (площадных, линейных, точечных объектов без оформления). Некторые программы просто перегоняют внешний вид... т.е. сами дорисовывают обычными палочками и точками... лишь бы было похоже.... но это неправлиьно, нарушается объектная модель слоев и вместо 1000 участков получаете 500 000 палочек и точек.
Поэтому если в задании стоит в конце выдать в другом продукте, то в своем даже оформлять нет смысла, а только после конвертирования оформлять в выходном продукте.
Во-вторых, MapInfo это ГИС продукт, в котором главное не оформление, а работа с электронными картами. Поэтому, если вам говорят выдать в MapInfo и требуют, чтобы в самой MapInfo выглядело как заказчик привык, то скорее всего у заказчика есть какие то готовые библиотеки или отработана технология оформления... они и должны подсказать.
Чаще всего в MapInfo для сложных оформлений создают оформительский слой (обычный слой в котором разными средставами рисуют внешний вид согласно стандартам, не затрагивая основных слоев с объектами).
2. Скорее всего нет. Да и долго ли выбрать все объекты слоя и задать им нужный стиль, или в управлении слоями, выбрав слой, задать ему единобразное оформление.
3. Стили у MapInfo для всех проектов одни.... - это шрифты установленные в Windows, а также файлы "MAPINFOW.FNT" и "MAPINFOW.PEN" в папке, лежащей примерно тут:
"c:\Documents and Settings\****\Application Data\MapInfo\MapInfo\Professional\750".
4. Если вам надо оформить по разному объекты одного слоя, по свойству из БД, то вариантов довольно много, - это и тематические карты, и предварительно сделав запрос и выбрав нужные объекты единообразно отобразить временные выборки....
4.1 Тематическая карта строится на конкретный слой. Поэтому, если вы еще что то подгружаете под другим именем слоя, то соответственно это уже надо настраивать другую тематику.... Вот если вы будете добавлять объекты в слой, с уже настроенной тематикой, то все будет автоматически правильно отображаться.
5. Не очень понятно что значит через объект? Имеется ввиду нарисованный сложный объект для оформления? Чисто для оформления хоть как, как удобнее, а для ГИС систем правильнее точечные объекты рисовать и отображать используя оформление точечных объектов... шрифты, символы MapInfo (в MapInfo кстати есть редактор символов mapInfo, в меню "Программы\каталог" - утилита "Symbol").
6 Наверно что-то есть, поищите в интернете ))). _________________ Жизнь прекрасна!i |
|
Вернуться к началу |
|
|
spawner
Зарегистрирован: 01.04.2009 Сообщения: 77
|
Добавлено: Вт Сен 08, 2009 12:32 pm Заголовок сообщения: |
|
|
Все вышенаписанное верно, я только хотел бы добавить, что оформить карту в мапинфо чтобы она выглядела как оформленая по госту топокарта...я думаю это малореально |
|
Вернуться к началу |
|
|
XELLGIS
Зарегистрирован: 03.09.2009 Сообщения: 16 Откуда: Краснодар
|
Добавлено: Вт Сен 08, 2009 4:09 pm Заголовок сообщения: |
|
|
Валерий, большое спасибо за информативный ответ. Все правильно говорите заказчик должен подсказать и нормальное ТЗ написать...да вот что то не подсказывает и почему то не пишет) Но как бы то ни было.... покопавшись в mapinfo недельку придумал такую схему - поскольку на выходи из изи имеем до 50-ти слоев в каждом из которых согласно классификационному коду может быть от 1 до 30 различных объектов - то выполнение запросов и последующее оформление выбранных объектов все равно займет большое количество времени, а задание единообразного оформления слою вообще не подходит, был придуман хитрый ход (по крайней мере я думаю что он хитрый):
1. Экспортировать из Изи все слои со всеми объектами в соответствующие таблицы.
2. Настроить стили для каждого слоя в "Тематической карте".
3. Сохранить WOR.
4. Удалить объекты из таблиц.
5. Экспортировать реальную карту топокарту из Изи (экспортируются только слои содержащие объекты).
6. Перезаписать таблицы в папке с шаблоном.
7. Открыть WOR и отредактировать порядок отображения слоев.
Единственный минус это куча пустых таблиц в папке WORа но без них он просто напросто не откроется. Если есть какое нибудь рационализаторское предложение, то хотелось бы услышать))
to spawner: Как раз смотрю на оформленную 100-тысячку...гну может и не 100% ГОСТ но очень даже! |
|
Вернуться к началу |
|
|
Нестеров Валерий
Зарегистрирован: 21.03.2006 Сообщения: 492
|
Добавлено: Вт Сен 08, 2009 8:21 pm Заголовок сообщения: |
|
|
Я иногда делаю так:
1. Подготавливаю все слои с заранее определенными именами без объектов (пустые слои).
2. Настраиваю рабочий набор
3. Кладу все это в папочку, например "Шаблон рабочего набора"
4. Потом копирую его весь в рабочую папку.
5. Теперь каким то образом получаю слои с теми же именами, но уже с данными и объектами и просто переписываю их в рабочую папку, поверх пустых слоев.
Если каких то слоев не оказалось, то там остаются пустые... и рабочий набор по крайней мере откроется нормально.
Начинаете новую работу, снова создаете новую рабочую папку, туда копируете из "Шаблон рабочего набора" и снова как описано выше. _________________ Жизнь прекрасна!i |
|
Вернуться к началу |
|
|
XELLGIS
Зарегистрирован: 03.09.2009 Сообщения: 16 Откуда: Краснодар
|
Добавлено: Ср Сен 09, 2009 10:11 am Заголовок сообщения: |
|
|
Поскольку есть вероятность что потребуется чтобы при загрузке каждого слоя в Мапинфо он имел правильное оформление - возник вопрос - можно ли существующими в этой ГИС средствами задать запрос на последовательный выбор объектов и изменение их стиля отображения в соответствии с их кодом. Другими словами можно ли сделать утилиту которая будет последовательно выбирать все объекты с заданным кодом (например мы задали что это 33) в первом слое, применять к ним заданный стиль, потом выбирать объекты в этом слое с другим кодом (допустим 56), производить смену стиля, потом переходить к следующему слою и т.д. Врядли это можно сделать с помощью функций SQL-запроса? Остается MapBasic? |
|
Вернуться к началу |
|
|
Нестеров Валерий
Зарегистрирован: 21.03.2006 Сообщения: 492
|
Добавлено: Чт Сен 10, 2009 1:43 pm Заголовок сообщения: |
|
|
Да, он для этого и сделан, чтобы решать нестандартные задачи. _________________ Жизнь прекрасна!i |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Чт Сен 10, 2009 3:34 pm Заголовок сообщения: |
|
|
Я поэкспериментировал, оказывается это можно сделать Инструментарием для MapInfo.
Ловкость рук, я даже сам не знал.
Итак делаем, так:
1) Открываем библиотеку запросов в Инструментарии, настраиваем запрос на поиск нужных нам объектов по коду, сохраняем запрос. Можно воспользоваться параметризацией запроса, чтобы потом просто вводить в параметр значения 33, 56 и т.д.
2) Оставляем окно библиотеки запросов открытым.
3) Вызываем инструмент Изменение атрибутов. Настраиваем применение нужного атрибута (настраиваем стили, жмем флажки для применения конкретных стилей)
4) Запускаем подготовленный нами запрос в библиотеке запросов на исполнение - вуаля! все разукрашивается. |
|
Вернуться к началу |
|
|
spawner
Зарегистрирован: 01.04.2009 Сообщения: 77
|
Добавлено: Пт Сен 11, 2009 3:36 pm Заголовок сообщения: |
|
|
это...а может проще воспользоваться тематическими картами? |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Пт Сен 11, 2009 4:40 pm Заголовок сообщения: |
|
|
Насколько я понял, человек знает про тематические слои (см. выше). Но задал вопрос про применение атрибутов к конкретным объектам слоя. Ибо тематика она конечно хороша, но тематика хранится в рабочем наборе. Если вдруг придется открывать отдельный слой, то сразу раскраски не будет, придется строить тематику.
Оба метода имеют право на жизнь. Выбирают судя по задаче. Если нужно передавать заказчику - я бы раскрасил исходные объекты в самом слое, т.к. заказчики разные бывают. |
|
Вернуться к началу |
|
|
KarpovSergei
Зарегистрирован: 09.09.2009 Сообщения: 3 Откуда: Россия
|
Добавлено: Пт Сен 11, 2009 10:48 pm Заголовок сообщения: EasyTrace to MapInfo Срочно важно |
|
|
пожалуйста
возникла следующая проблема:
обрабатывался растр, на него накладывались слои, все было хорошо, но в один прекрасный день mapinfo начал открывать все таблицы перевернутыми на 90 градусов: и подложку, и созданные слои.
подскажите, почему это произошло и как все вернуть на свои места? |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Вс Сен 13, 2009 2:54 pm Заголовок сообщения: |
|
|
XELLGIS
Можно обойтись без MapBasic
Создаете справочник оформления - таблица вида:
Код Стиль
33 Pen(...)
...
Делается либо универсальный, если коды однотипные, либо на каждый слой свой справочник.
Далее, делаете связный запрос слоя и справочника, по коду.
Затем обновляете таблицу заменой аттрибута объекта из колонки Стиль.
И вся любовь :) |
|
Вернуться к началу |
|
|
Нестеров Валерий
Зарегистрирован: 21.03.2006 Сообщения: 492
|
Добавлено: Пн Сен 14, 2009 7:48 am Заголовок сообщения: Re: EasyTrace to MapInfo Срочно важно |
|
|
KarpovSergei писал(а): |
пожалуйста
возникла следующая проблема:
обрабатывался растр, на него накладывались слои, все было хорошо, но в один прекрасный день mapinfo начал открывать все таблицы перевернутыми на 90 градусов: и подложку, и созданные слои.
подскажите, почему это произошло и как все вернуть на свои места? |
Обычно у позльзователей немного по другому это возникает:
- оцифровали по растру какой-нибудь слой и после отключения растра вектор выворачивается...
Такое обычно возникает, если при привязке растра перепутали, например X с Y. И визуально растр отображается как он был отсканирован и вроде все оцифровали, но как только его отключили, бац и все повернулось... тут уже ничего не сделаешь, разве только оттрансформировать вектор правильно указав X и Y.
Ну а в вашем случае, возможно вы подключили еще один растр и он как раз перевернутый... или наоборот предыдущие были криво привязаны, а подключили правильный и по нему в се развернулось. Проверяйте. (В MapInfo математическая система ввода координат). _________________ Жизнь прекрасна!i |
|
Вернуться к началу |
|
|
XELLGIS
Зарегистрирован: 03.09.2009 Сообщения: 16 Откуда: Краснодар
|
Добавлено: Пн Сен 28, 2009 8:21 am Заголовок сообщения: |
|
|
Alex_Y писал(а): |
XELLGIS
Можно обойтись без MapBasic
Создаете справочник оформления - таблица вида:
Код Стиль
33 Pen(...)
...
Делается либо универсальный, если коды однотипные, либо на каждый слой свой справочник.
Далее, делаете связный запрос слоя и справочника, по коду.
Затем обновляете таблицу заменой аттрибута объекта из колонки Стиль.
И вся любовь |
Спасибо Alex_Y, но немножко мне не понятно как сделать связный запрос и затем обновить таблицу? Не могли бы вы осветить этот вопрос поподробнее. |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Пн Сен 28, 2009 11:54 am Заголовок сообщения: |
|
|
Связный запрос:
Таблица Справочник:
1. Поля:
Код Целый
Описание Символьный(100)
2. Данные (по колонкам):
1 | Значение 1
2 | Значение 2
...
Таблица Таблица1:
1. Поля:
Поле_таблицы_1 Символьный(50)
Код_Справочника Целый
Поле_таблицы_2 Символьный(150)
2. Данные (по колонкам):
Что-то там1 | 1 | Что-то там
Что-то там2 | 2 | Что-то там
Что-то там3 | 1 | Что-то там
Что-то там4 | 1 | Что-то там
...
Связный запрос:
Select * From Таблица1, Справочник
Where Таблица1.Код_Справочника = Справочник.Код |
|
Вернуться к началу |
|
|
|