Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MI6UGRU

.pdf
Скачиваний:
16
Добавлен:
13.02.2015
Размер:
14.71 Mб
Скачать

Главы 17: Рисование и изменение Карты

Совмещение узлов

Узлы используются не только для изменения формы объектов, но и для выравнивания объектов относительно друг друга. В MapInfo этот процесс называется совмещением узлов. Команда РЕЖИМЫ позволяет задать режим совмещения узлов. Выполните команду НАСТРОЙКА > ÐЕЖИМЫ > ÎÊÍÎ ÊÀÐÒÛ. MapInfo покажет диалог, содержащий два режима работы с узлами: Совмещение узлов è Радиус совмещения.

В окне Карты каждой области, ломаной, линии, дуге и прямоугольнику соответствуют узлы, которые могут быть совмещены с узлами другого объекта. Если включен режим

Совмещения узлов, то MapInfo применяет совмещение узлов при рисовании, изменении формы или положения объектов. MapInfo автоматически совмещает узлы одного объекта с соответствующими узлами другого объекта, если расстояние между ними становится меньше определенной величины (радиуса).

Чтобы включить режим совмещения узлов, надо нажать клавишу "S". Она работает как выключатель: попеременно включает и выключает данный режим. Радиус действия режима совмещения в пикселах (точках экрана) можно задать в окошке "Радиус совмещения" диалога "Режимы окна Карты". Если задать значение 3 пиксела, то как только любой узел будет помещен не далее 3 пикселов от другого узла, автоматически произойдет совмещение этих узлов.

В режиме Совмещения узлов узлы совмещаются с ближайшими узлами из любых доступных слоев. Это, в частности, удобно при рисовании на одном из слоев объекта, который Вы хотите выровнять по объекту на другом слое. Если Вы не хотите осуществлять совмещение с некоторыми слоями, сделайте их недоступными.

Совмещение при перемещении

В большинстве карт узлы различных объектов связаны, в частности, это касается улиц и ограничиваемых этими улицами кварталов. В диалоге НАСТРОЙКА > ÐЕЖИМЫ > ÎÊÍÎ ÊÀÐÒÛ можно задать, какие узлы на карте должны при редактировании смещаться одновременно. Выберите Отключить, чтобы этот режим не применялся. Выберите На текущем слое, чтобы при перемещении каждого узла перемещались также все совмещенные с ним узлы на том же слое.

Трассировка существующих объектов

Теперь в MapInfo гораздо удобнее трассировать сеть существующих многоугольников/полилиний, например, областей России. Новое свойство

367

Главы 17: Рисование и изменение Карты

автотрассировки позволяет трассировать другие полилинии или многоугольники. Автотрассировка доступна при включенном режиме Совмещения узлов. Заметьте, что применять автотрассировку можно только к существующим полилиниям или многоугольникам. Нельзя применять автотрассировку к прямоугольникам, дугам, эллипсам или другим объектам, полученным с помощью инструментов рисования.

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

1.Включите режим Совмещения узлов (нажмите клавишу “S”), укажите Стрелкой на узел полилинии/многоугольника, который Вы хотите автотрассировать.

2.Подведите курсор к другому узлу того же объекта.

Для полилиний удерживайте клавишу SHIFT и нажмите левую клавишу мыши.

Для многоугольников, удерживая клавишу CTRL, нажмите левую клавишу мыши.

3.При работе с полилиниями, удерживая клавишу SHIFT, нажмите левую клавишу мыши.

При работе с многоугольниками, удерживая либо SHIFT, либо CTRL, нажмите левую клавишу мыши.

Как только Вы нажмете либо SHIFT, либо CTRL, MapInfo выделит путь, который будет автотрассирован. После нажатия на клавишу мыши, Mapnfo автоматически оттрассирует путь, соединяющий выбранные узлы, и добавит его к рисуемым полилинии или многоугольнику.

Замечание: При нажатой клавише SHIFT трассированный путь будет представлять собой кратчайший путь между двумя узлами, а при нажатой клавише CTRL трассированный путь будет представлять собой длинный путь между двумя узлами (путь с большим числом узлов между выбранными ). Автотрассировка работает также как выбор многих узлов в режиме команды ПРАВКА > ÔÎÐÌÀ.

Можно трассировать только один объект единовременно. Второй узел, который Вы выбираете Стрелкой при нажатой клавише SHIFT/CTRL, должен принадлежать тому же объекту, что и первый. Если это не так, MapInfo нарисует прямую линию соединяющую два узла. Если Вы укажете мышкой на узел, принадлежащий одновременно двум объектам (общая граница), то автотрассировку можно начинать с любого.

368

Главы 17: Рисование и изменение Карты

Сглаживание ломаных линий

С помощью команды СГЛАДИТЬ УГЛЫ можно преобразовывать углы ломаной в дуги (сгладить ломаную линию). Укажите на ломаную линию инструментом Стрелка и выполните команду ОБЪЕКТЫ > ÑГЛАДИТЬ УГЛЫ. MapInfo сгладит ломаную таким образом, что она будет представлять собой непрерывную линию с закруглениями вместо углов. Возвратить исходный вид объекта можно либо с помощью команды ОТМЕНИТЬ, либо выполнив команду ОБЪЕКТЫ > ÎБНАЖИТЬ УГЛЫ.

Команды СГЛАДИТЬ УГЛЫ è ÎБНАЖИТЬ УГЛЫ применимы только к ломаным и полилиниям. Ломаная линия – это сложная линия, нарисованная инструментом Ломаная. Команды СГЛАДИТЬ УГЛЫ è ÎБНАЖИТЬ УГЛЫ не применимы к объектам, созданным, например, инструментом Линия. В случае попытки изменить форму любого другого объекта, кроме ломаной, MapInfo покажет предупреждение.

Преобразование объектов в области и ломаные

Иногда необходимо в ходе редактирования преобразовать область в ломаную или, наоборот, ломаную в область. Это можно сделать просто выбрав объект и выполнив команду ОБЪЕКТЫ > ÏРЕВРАТИТЬ В ОБЛАСТЬ èëè ÏРЕВРАТИТЬ В ЛОМАНУЮ. Например, Вы выбрали группу узлов, которую Вы хотите скопировать в буфер обмена Windows и вставить в другое место на карте. MapInfo считает подобную группу узлов ломаной линией. Если Вы хотите вставить скопированный объект на карту как область, то следует выполнить команду ОБЪЕКТЫ > ÏРЕВРАТИТЬ В ОБЛАСТЬ.

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

Кроме того, преобразование объектов в области и ломаные позволяет осуществлять операции редактирования узлов для объектов, к которым такие операции не применимы напрямую. Например, нельзя добавлять узлы к объекту типа прямоугольник. Если же прямоугольник преобразовать в ломаную или область, то к полученному объекту будет разрешено добавлять узлы.

369

Главы 17: Рисование и изменение Карты

Изменение карт улиц (StreetInfo)

MapInfo распространяет Карты улиц для каждого штата США, которые называются StreetInfo. В комплекте русской версии есть аналогичная Карта Москвы, тоже построенная по правилам стандарта StreetInfo. Она представляет улицы города Москвы (файл M_STREET.TAB). Если Вы приобрели подобную Карту, то Вам следует знать, как ее изменять. Можно добавлять и удалять улицы на такой Карте, переименовывать и изменять форму имеющихся улиц.

Файлы StreetInfo построены сложнее, чем обычные таблицы MapInfo. Фактически каждый город, район, территория и др. области в стандарте StreetInfo представляются тремя таблицами: основной, таблицей сегментов и таблицей имен. Собственно таблицу StreetInfo (в нашем случае M_STREET.TAB) можно только читать; ее нельзя изменять. Но она содержит в себе ссылки на две таблицы-компоненты, в которые можно вносить изменения: MOS_NAME.TAB и MOS_STR0.TAB. Таблица MOS_STR0 содержит графическую информацию об улицах и номерах домов в каждом квартале (таблица сегментов), а MOS_NAME – названия улиц (таблица названий).

Данные из этих файлов-компонент сопоставляются через поле "MI_refnum", содержащее коды улиц. Сегмент с кодом 23 в файле MOS_STR0 соответствует названию улицы в MOS_NAME, имеющему тот же код.

Остальные поля файла сегментов содержат:

FromLeft

Начальную точку, номер дома по левой стороне улицы.

ToLeft

Конечную точку, номер дома по левой стороне улицы.

FromRight

Начальную точку, номер дома по правой стороне улицы.

ToRight

Конечную точку, номер дома по правой стороне улицы.

Type

Логическое значение. Используйте его по своему усмотрению.

Добавление сегмента к улице

Предположим, что надо добавить сегмент к уже имеющейся на Карте улице или добавить улицу, для которой уже имеется название.

Процедура добавления улицы, название которой уже имеется на Карте, не так редка, как может показаться. Дело в том, что карты StreetInfo могут охватывать большие районы и территории. В одном из городов Вы добавляете улицу Строителей. Если в каком-нибудь другом городе этой же области улица Строителей уже имеется, то может возникнуть путаница. Чтобы определить, имеется ли уже улица с таким названием, выполните команду НÀÉÒÈ из меню Запрос.

370

Главы 17: Рисование и изменение Карты

В обоих случаях суть дела состоит в том, что надо добавить новую запись в файл сегментов и сопоставить ее с нужной записью в файле названий с помощью кода. Предположим, что мы работаем с файлами для г. Москвы (для любого другого файла StreetInfo последовательность действий будет той же).

1.Выполните команду ФÀÉË > ÎТКРЫТЬ ТАБЛИЦУ, чтобы открыть файлы M_STREET и MOS_STR0.

2.Выполните команду УПРАВЛЕНИЕ СЛОЯМИ из меню Карта. Сделайте слой MOS_STR0 изменяемым, а слой M_STREET доступным.

3.С помощью команды НÀÉÒÈ или инструмента Информация найдите улицу, вид которой надо изменить. Укажите на эту улицу инструментом Информация. Пролистайте окно Информация до поля MI_REFNUM (код улицы MapInfo). Запомните код.

4.Перейдите на слой MOS_STR0 и нарисуйте новый сегмент (он может быть оторван от других сегментов той же улицы). Установив режим cовмещения узлов (клавиша "S"), Вы обеспечите совмещение узлов новых сегментов улицы с существовавшими соседними сегментами.

5.Укажите на созданный сегмент инструментом Информация. Введите необходимую текстовую информацию, номера домов, тип улицы и – самое важное – правильный код (MI_REFNUM).

6.Повторите эту процедуру для каждого нового сегмента.

371

Главы 17: Рисование и изменение Карты

Как добавить новую улицу

Теперь рассмотрим случай, когда надо добавить совсем новую улицу на карту. Для этого придется внести изменения и в MOS_STR0, и в MOS_NAME. Ниже приводится общая последовательность действий для любого файла стандарта StreetInfo.

1.Откройте M_STREET и MOS_STR0 в окне Карты.

2.Откройте окно Списка для MOS_NAME. Сделайте это окно активным.

3.Выполните команду НОВАЯ ЗАПИСЬ из меню Правка. Пролистайте окно Списка до последней строки. MapInfo добавит в окно Списка пустую строку.

4.Введите в пустую строку название улицы.

5.Теперь необходимо задать код MI_REFNUM. Проще всего в поле кода задать очередной номер. Прибавить единицу к последнему MI_REFNUM, приведенному в окне Списка, чтобы задать полученное значение в качестве MI_REFNUM для нового названия улицы.

6.Выполните команду УПРАВЛЕНИЕ СЛОЯМИ из меню Карта. Сделайте слой MOS_STR0 изменяемым, а слой M_STREET доступным.

7.Перейдите на слой MOS_STR0 и нарисуйте новый сегмент.

8.Укажите на новый сегмент инструментом Информация. Введите необходимую текстовую информацию, номера домов, тип улицы и код.

9.Повторите эту процедуру для каждой новой улицы.

372

Главы 17: Рисование и изменение Карты

Как переименовать улицу

Чтобы переименовать улицу, надо просто сменить ее название в файле названий (в нашем случае – MOS_NAME). Чтобы изменить название только части улицы, надо добавить новую запись в файл названий, сопоставить ей новый код и затем присвоить этот новый код соответствующей записи в файле сегментов.

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

Как найти все такие сегменты? Можно, например, открыть карту города и выбрать сегменты инструментом Стрелка. Соответствующие записи о сегментах будут выделены в окне Списка, где Вы сможете поменять коды. Чтобы переименовать улицу, надо просто сменить ее название в файле названий (MOS_NAME). Заметим, что изменение названия в файле названий влияет на все сегменты с таким же кодом.

Как изменить цвет улицы

Вы можете изменять цвет и тип линий на картах улиц StreetInfo. Это может понадобиться, например, для выделения улиц, на которых идет ремонт.

1.Откройте окно Карты для MOS_STR0.

2.Выполните команду УПРАВЛЕНИЕ СЛОЯМИ из меню Карта. Сделайте слой MOS_STR0 изменяемым.

3.Выберите все улицы, стиль которых надо изменить.

4.Выполните команду НАСТРОЙКА > ÑТИЛЬ ЛИНИЙ.

5.Выберите новую ширину, тип и цвет линий.

6.Чтобы сохранить внесенные изменения, выполните команду СОХРАНИТЬ КОПИЮ èç ìåíþ Ôàéë.

Выбирать улицы можно по-разному, в зависимости от поставленной задачи. Можно выделить область с помощью инструмента Стрелка или указать по очереди на несколько сегментов. Также можно применить инструменты Выбор- в-круге, Выбор-в-рамке и Выбор-в-области, а также команды SQL-ЗАПРОС è

ÂЫБРАТЬ.

373

Районирование

Chapter 16: Geographic Analysis

Глава 18: Районирование

Обзор

Одной из весьма распространенных задач, решаемых с помощью MapInfo, является районирование - группировка объектов на карте в районы или территории. Функция районирования MapInfo позволяет создавать новые районы, перепланировать существующее районирование, динамически отображая изменение конфигурации районов и на ходу пересчитывая соответствующие им числовые данные, что существенно расширяет возможности территориального анализа, планирования и процесса принятия решений.

Глава

Что такое районирование?

Для чего используют районирование?

Список районов

Изменяемый район

Районирование

Настройки

Районирования

Несколько слов о записях без графических объектов

Сохранение новых районов

Глава 18: Районирование

Что такое районирование?

Процесс районирования состоит в объединении объектов на карте в большие регионы или территории для обобщения данных по этим территориям. MapInfo создает темати- ческую Карту методом индивидуальных значений, в которой тематической переменной является название территории. На этой карте цветами обозначены различные территории - районы. Специальное окно с названием "Список районов" показывает данные о районах в табличной форме.

Но это только часть процесса районирования. По-настоящему мощным инструментом является окно Районов, в котором можно динамически отслеживать изменения в данных по районам при переносе объектов из одного района в другой. Таким образом, Вам предоставляется возможность выполнения наглядного анализа вида "что если…" для оптимизации территориального планирования и решения задач иногда называемых “балансировкой (выравниванием) территорий”.

Если Вы добились удовлетворительного разделения на районы, Вы можете зафиксировать такое разделение. Позже, в случае необходимости, его вновь можно будет изменить, чтобы удовлетворить новым требованиям.

При районировании не создается новых географических объектов на карте, а также не вносится никаких постоянных изменений в стили существующих объектов. Районирование представляет собой инструмент динамической группировки существующих объектов и анализа соответствующих данных. Однако Вы можете зафиксировать изменения в объектах, сохранив в виде отдельной таблицы результаты районирования.

376

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]