дЛЙЛУ...

FAQ по ArcView 3.x

Назад

 
Содержание:
  1. Как создать новый проект в ARCVIEW ?
  2. Как добавить в проект новый вид ?
  3. Как добавить темы в новый вид ?
  4. Как сделать, чтобы тема отобразилась в окне вида, т.е. была видима?
  5. Как спроецировать данные в систему координат «Пулково 1942»?
  6. Как изменить шрифт в легенде (таблице содержания)?
  7. Какие существуют основные элементы вида?
  8. Что сделать, чтобы прорисовывалась интересующая меня тема сверху?
  9. Как сделать тему активной?
  10. Как сделать активными несколько тем?
  11. Как сделать активную тему неактивной ?
  12. Как изменить размер, цвет, символ, заливку для темы?
  13. а) Палитра цветов
  14. б) Палитра маркера
  15. в) Палитра линий
  16. г) Палитра закрашивания
  17. д) Палитра шрифтов
  18. Как изменить расположение подписей для точечного объекта?
  19. Как изменить расположение подписей для линейного объекта?
  20. Как изменить расположение подписей для полигонального объекта?
  21. Как подписать текущую тему?
  22. Как изменить масштаб в ВИДЕ?
  23. Как удалить подписи для текущей темы?
  24. Как настроить интерфейс пользователя? ( добавить или удалить кнопку... )
  25. Как скрыть мои программы от лишних глаз?
  26. Как установить шрифт со значками?
  27. Как мне сделать доступными символы шрифтов в легенде ArcView ?
  28. Как установить источник данных ODBC для Oracle 7?
  29. Как добавить тему из базы данных Oracle?
  30. Выбор кодировки
  31. Разделы с сайта http://gis-lab.narod.ru E-mail : ICQ: 5103613
  32. Автоматическая установка рабочей папки (working directory)
  33. Подключение скриптов (Arcview 3.x)
  34. Подключение кнопки и назначение ей скрипта (Arcview 3.x)
  35. Конвертация значений координат в формате
    DDMMSS в формат DD.DDDD (Arcview 3.x)
  36. Как установить связь с базой данных MS ACCESS
    и работать с внешними таблицами, содержащими атрибутивные данные (общее описание процедуры и конкретные примеры)
  37. Добавление пользовательских проекций к Arcview
  38. Надо ли русифицировать Arcview - заметки пользователя
  39. Примение TRLegend для работы с растровыми топокартами
  40. Получение основных пространственных характеристик объектов
  41. Компрессия индексированных растров (сравнение)
  42. Unisys и использование LZW-TIFF в Arcview
  43. Трансформация и привязка растровых данных в ImageWarp
  44. Hotlink на область (уменьшение точности hotlink'а)
  45. Удаление и копирование векторных и растровых тем из TOC

 


 

Для создания нового проекта запустите ArcView. Выберите в меню «Файл->Новый проект» или (если при запуске ArcView откроется диалог выбора, см. рисунок ниже) необходимо выбрать пункт «Как новый проект». Если вы создаете новый проект на основе существующих данных (обычно это файлы с расширением *.SHP) , то нужно выбрать пункт «С новым видом», после чего ArcView предложит выбрать место расположения и указать темы для текущего проекта .


рис. Диалог выбора создания нового проекта


рис. Диалог добавления тем в проект.

Типичное окно нового проекта выглядит следующим образом:

рис. Окно нового проекта

Проект ArcView может включать в себя:

1) ВИДЫ (View) - это карта (набор ТЕМ - «слоев»), в свойствах которой указывается проекция и др. параметры. Т.Е. это то поле, где и будут отображаться ваши данные.
2) ТАБЛИЦЫ (Tables) - это все таблицы и атрибутивные данные, входящие в проект.
3) ДИАГРАММЫ (Diagrams) - это диаграммы, входящие в проект.
4) КОМПОНОВКИ (LayOut) - это печатные формы, для вывода на плоттер (принтер).
5) ТЕКСТЫ ПРОГРАММ (Scripts) - Это тексты программ, используемых в вашем проекте.

Как добавить в проект новый вид ?

Для того, чтобы добавить новый вид вам необходимо "встать" на иконку «ВИДЫ» (View) и нажать на кнопку «Новый» (New), или два раза щелкнуть левой кнопкой мыши на иконке «ВИДЫ». После проделанного вы увидите окно нового вида, которое обычно называется «View1».

Рис. Создание нового вида.

Как добавить темы в новый вид ?

Для этого выберите пункт меню «Вид->Добавить тему...» или нажмите кнопку . После этого вам предстоит указать место расположения и выбрать интересующие вас темы (обычно это файлы с расширением *.SHP). Можно выбрать сразу несколько файлов, для этого нужно удерживать клавишу SHIFT и щелкать левой кнопкой мыши на интересующих вас файлах-темах. После вашего выбора нажмите кнопку «ОК».

рис. Диалог добавления тем в проект.

Окно вида с добавленными темами выглядит следующим образом:

рис. Вид с добавленными темами

Окно вида осталось пустым, т.к. ни одна тема не помечена как отображаемая.

Как сделать, чтобы тема отобразилась в окне вида, т.е. была видима?

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

рис. Вид с добавленными темами

Вы можете выбрать столько тем, сколько захотите...

Но вся проблема в том, что ArcView требует, чтобы все добавляемые темы были не спроектированы, т.е. были бы в географических координатах. Для вычисления площадей, размеров, длин участков необходимо использовать спроецированные данные.

Как спроецировать данные в систему координат «Пулково 1942»?

Выберите в меню пункт «Вид->Свойства» (View->Properties). Вы увидите свойства текущего вида, среди них нас интересует информация о проекции. Если вид не спроецирован, а значит и все темы в нем, то после слова Projection: будет стоять None. В противном случае будет указано название проекции.

рис. Дилог, отображающий свойства вида

Для того, чтобы установить проекцию «Пулково 1942» необходимо нажать кнопку «Projection...» и указать параметры этой проекции в диалоге, показанном ниже.


рис. Параметры проекции «Пулково 1942»«Пулково 1942»

Т.к. в ArcView нет в списке стандартных проекций «Пулково 1942», то необходимо задать параметры самостоятельно. Для этого перейдите на закладку «Custom» и заполните соответствующие поля.
Необходимо помнить, что параметры зависят от вашего района, например для Тюмени центральный меридиан будет 69 и т.д.
Projection: Transeverse Mercator.
Spheroid: Krasovsky
Central Meridian: 69 ( введите номер меридиана, соответствующего вашему району)
Reference Latitude: 0
Scale Factor: 1
False Easting: 12500000 ( введите цифру, соответствующего вашему району)
False Northing: 0

Далее нажмите кнопку «ОК». Имя проекции сменится на «Transeverse Mercator». Выберите из выпадающего списка единицы измерения для вида (Map Units) и для измерения расстояний (Distance Units). Обычно это метры (meters) или километры (kilometers). После всего проделанного нажмите кнопку «ОК» и вид перерисует все ваши темы в уже спроецированном виде.

Как изменить шрифт в легенде
(таблице содержания)?

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

рис. Вид с таблицей содержания, где есть русские буквы.

Для того, чтобы изменить шрифт в легенде, т.е. таблице содержания выберите в меню пункт «Вид->Стиль таблицы содержания...». Далее вам откроется диалог выбора шрифта, где вы можете указать название, тип и размер шрифта для отображения в таблице содержания. Русские шрифты в своем названии обычно имеют суффикс CYR (Например Times New Roman Cyr).
Как только вы указали интересующий вас шрифт нажмите кнопку «Применить».

рис. Диалог выбора шрифта для таблицы содержания

После описанных процедур в таблице содержания все наименования написанные на русском языке должны отображаться в нормальном виде!!!

рис. Вид с измененной таблицей содержания

Какие существуют основные элементы вида?

На этот вопрос можно ответить графически...

рис. Основные элементы вида

Что сделать, чтобы прорисовывалась интересующая меня тема сверху?

Порядок прорисовки тем показан в таблице содержания. Т.е. самая нижняя тема в таблице содержания будет прорисовываться первой затем та, которая выше и т.д. до самой верхней темы. Для смены порядка прорисовки тем укажите на интересующую вас тему и нажмите левую кнопку мыши, затем не отпуская ее переместите тему на необходимое вам место и отпустите кнопку мыши. Вид обновится в соответствии с текущим расположением тем в таблице содержания.

Как сделать тему активной?

Чтобы сделать тему активной щелкните на названии темы или на легенде в Таблице содержания.

Примечание: Многие операции, которые Вы можете совершать в Виде, работают только с активной
темой(ами). Перед выбором этих операций не забудьте сделайт тему(ы) активной!

Как сделать активными несколько тем?

Нажав и не отпуская клавишу SHIFT щелкните поочередно на нескольких темах в Таблице содержания .

Как сделать активную тему неактивной?

Сделайте одно из следующего: Щелкните на другой теме, чтобы сделать ее активной или
нажав и не отпуская клавишу SHIFT, щелкните на активной теме.

Совет: Сделать тему активной - это не то же самое, что включить ее или выключить. Чтобы сделать тему активной, вы щелкаете на ее имени или легенде в Таблице содержания. Чтобы включить или выключить тему, Вы щелкаете на флажке-переключателе слева от названия темы в Таблице содержания. Это управляет изображением темы в Виде. Посмотрите раздел справки Включение и выключение тем.

Как изменить размер, цвет, символ, заливку для темы?

Укажите интересующую вас тему и дважды щелкните левой кнопкой мыши. Появится диалог, показанный ниже. Это редактор легенды для текущей темы. В поле LABEL можно указать понятное для вас описание для текущей темы.

рис. Свойства прорисовки темы

Далее необходимо щелкнуть дважды левой кнопкой мыши на символе, отображающем текущую тему и появится диалог установки свойств прорисовки текущей темы.

а) Палитра цветов

Если вам необходимо изменить цвет, то щелкните на кнопочку выбора цвета . В предлагаемом диалоге можно выбрать цвет основного элемента, цвет фона, цвет текста подписей для текущей темы. Палитра цветов представляет собой прокручиваемую палитру цветов, которые вы можете задать для заливки, линии, значка или текстовых символов.
Foreground - цвет основного элемента;
Background - Цвет фона;
Outline (Контур ) - Устанавливает цвет обводки контура при заливке.
Text - цвет текста для подписей.
Определяется пользователем (Custom) Выводит на экран диалоговое окно, в котором вы можете создать нужный цвет. В диалоговом окне настройте опции Оттенок (Hue), Насыщение (Saturation) и Значение (Value) за счет перемещения слайдера по строке или напечатайте значения для создания нужного вам цвета. Затем щелкните на "OK".
Оттенок (Hue) - основной цвет; красный, зеленый, синий и т.д. Насыщенность - мера чистоты цвета, его отличие от серого. Значение - количество белого (светлого) или черного (темного) в данном цвете.

рис. Диалог установки цвета.

Выбор производится указанием и кликом левой кнопкой мыши на интересующем вас цвете.

б) Палитра маркера

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

Опции диалогового окна

Размер (Size) Вы можете установить размер маркера в пунктах. Выберите размер из списка значений или напечатайте свое. Вы можете ввести число, такое как 6.25. В дюйме содержится 72 пункта.Угол (Angle) Вы можете задать угол поворота символа маркера. Можно вводить значения от 0 до 360. Угол поворота задается против часовой стрелки.

рис. Диалог установки параметров для отображения символа.

в) Палитра линий

Если вам необходимо изменить стиль линий, для отображения линейных объектов, то щелкните на кнопочку . Вы увидите диалоговое окно, которое показывает различные по стилю линии, с помощью которых изображаются линии и линейные объекты. После выбора стиля линии Вы можете включить Палитру цветов (Color Palette), чтобы выбрать цвет для линии.
Дополнительно Вы можете установить три параметра линии: размер, конец линии и соединение.

Опции диалогового окна

Размер (Size) Задает толщину линии в пунктах. В дюйме 72 пункта.
Конец линии (Cap) С помощью опции Конец линии (Cap) можно определить, как в ArcView будет изображен конец линии.

Торец (Butt) - определяет, что в ArcView линия будет обрезана под прямым углом в начальной и конечной точках.
Круглый (Round) - определяет, что в ArcView концы линии будут закруглены и продлены на длину радиуса закругления в начальной и конечной точках.
Квадратный (Square) - определяет, что в ArcView концы линии будут обрезаны под прямым углом и продлены на половину толщины линии за ее начальную и конечную точки.

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

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

рис. Диалог установки параметров для отображения линейных объектов.

г) Палитра закрашивания

Если вам необходимо изменить способ заливки площадных (полигональных) объектов,
то нажмите кнопку .
Палитра Закрашивания (Fill Palette) предоставляет набор шаблонов, которые Вы можете использовать для закрашивания (заливки) полигонов. Шаблон в верхнем левом углу пролистываемого набора шаблонов представляет “пустую” заливку. Следующий шаблон справа от него представляет сплошную заливку (solid fill). После выбора нужного шаблона для закрашивания Вы можете перейти в окно Палитра цветов (Color Palette) для установки цвета фона и цвета переднего плана.

Опции палитры закрашивания

Контур (Outline) Для определения ширины контура полигона введите ширину в пунктах или выберите значение из ниспадающего списка. Вы можете ввести число, такое как 0.1, чтобы создать подходящую линию для вывода твердой копии. В дюйме 72 пункта. Для вывода на экран полигона без контура (оконтуривания) выберите из списка опцию Отсутствует (None). Для задания цвета контура перейдите в окно Палитра цветов и выберите опцию Контур из ниспадающего списка в поле Цвет (Color). Затем выберите нужный цвет. В этой версии ArcView нельзя изменять символ контура полигонов.

д) Палитра шрифтов

Если вам необходимо изменить шрифт подписей для текущей темы, то нажмите кнопку .
Палитра шрифтов (Font Palette) позволяет выбрать шрифт для вывода на экран текста и подписей.

Опции палитры шрифтов

Размер (Size) Помимо выбора шрифта Вы можете определить его размер в пунктах, выбрав значение из списка размеров или введя нужный Вам размер. При изменении размера выбранного текста с помощью мыши, его размер в пунктах будет показан в диалоговом боксе. Один дюйм равен 72 пунктам.
Стиль (Style) Вы можете задать стиль форматирования, который поддерживает выбранный шрифт, выбрав его из списка поля Стиль.
Создать маркеры (Create Markers) Преобразует символы выбранного шрифта в символы маркеров, поэтому Вы можете использовать отдельные символы как символы маркера при вычерчивании точечных объектов. Эти символы маркеров добавляются в конец Палитры маркера .

Примечание: Для задания цвета шрифта перейдите в Палитру цветов и выберите опцию Текст из ниспадающего списка поля Цвет. Затем выберите нужный цвет.

рис. Диалог установки параметров текста.

После выбора цвета закройте окно, нажав на «крестик» в правом верхнем углу и вы увидите, что цвет элемента изменился. Для того, чтобы изменения вступили в силу, вам необходимо нажать кнопку «Применить» («Apply»). Окно вида перерисуется с установленными параметрами для текущей темы.

Как изменить расположение подписей для точечного объекта?

Для того, чтобы указать расположение подписей необходимо выбрать в меню пункт
«Тема->Свойства». Далее щелкнуть на вкладку «Text Labels», появится диалог которой управляет точным расположением подписей (меток) для каждого объекта в теме с использованием инструмента Подпись (Label).

рис. Диалог установки параметров подписей для точечных объектов текущей темы.

Поле метки (Label Field) Поле в таблице атрибутов для темы, которое будет использовано для вставки текста подписей к объектам в теме, и для пометки записей, выводимых при идентификации объектов с помощью инструмента Идентифицировать (Identify). Вы можете использовать любое поле из таблицы атрибутов для темы. По умолчанию это первое символьное поле в таблице атрибутов темы. Если символьные поля отсутствуют, то по умолчанию этому полю задается значение Отсутствует (None).
Масштабировать маркеры (Scale Labels) Эта опция в первоначальном состоянии активна, что означает, что если Вы увеличиваете или уменьшаете изображение после того, как Вы маркировали некоторые объекты, размер текста изменится. Однако, если Вы отменяете масштабирование меток, размер подписей останется постоянным независимо от устанавливаемого масштаба вашего Вида. У Вас не будет возможности задать или отменить масштабирование существующих подписей, придется удалить их и затем создать новые подписи.

Опции вставки подписей для точечных тем

Позиция текста по отношению к точке метки (Position of text relative to label point) Девять кнопок Текст (Text) показывают возможные позиции текстовой метки относительно точки. По умолчанию это кнопка справа от центра. Для использования другой позиции щелкните одну из кнопок Текст.

Как изменить расположение подписей для линейного объекта?

Для того, чтобы указать расположение подписей необходимо выбрать в меню пункт «Тема->Свойства». Далее щелкнуть на вкладку «Text Labels», появится диалог которой управляет расположением подписей для линейных объектов.

рис. Диалог установки параметров подписей для линейных объектов текущей темы.

Опции вставки подписей для линейных тем

Выровнять относительно линии (Alignment Relative to Line) Подписи к линейным объектам ориентируются так, чтобы подпись следовала за общим направлением линии. Направление текста между 90 и 270 градусами невозможно, то есть текст не может быть перевернут вверх ногами. Положение подписи относительно линии можно настроить, используя следующие опции:
Выше (Above) - Нижняя часть текста всегда выше линии. В случае вертикальной линии текст располагается сверху вниз справа от линии.
На (On) - Подпись будет располагаться на линии между ее конечными точками.
Ниже (Below) - Верхняя часть текста всегда ниже линии. В случае вертикальной линии текст располагается снизу вверх слева от линии.
Выровнять вдоль длины (Alignment Along Length) Положение текстовой метки относительно длины линии. По умолчанию подпись будет центрирована вдоль каждой линии. Начальной точкой линии является точка с наибольшими северными и западными координатами. Конечной точкой линии является точка с наибольшими южными и восточными координатами. В ниспадающем списке доступны следующие опции:
До начала (Before) - Выравнивание по правому краю конца текстовой метки с начальной точкой линии.
В начале (At Start) - Выравнивание по правому краю начала текстовой метки с начальной точкой линии.
В середине(Midway) - Выравнивание по центру линии.
В конце(At End) - Выравнивание по правому краю конца текстовой метки с конечной точкой линии.
После конца (After) - Выравнивание по левому краю начальной точки текстовой метки с конечной точкой линии.

Как изменить расположение подписей для полигонального объекта?

Для того, чтобы указать расположение подписей необходимо выбрать в меню пункт
«Тема->Свойства». Далее щелкнуть на вкладку «Text Labels», появится диалог которой управляет расположением подписей для полигональных объектов.

рис. Диалог установки параметров подписей для полигональных объектов текущей темы.

Опции вставки подписей для полигональных тем

Поле метки (Label Field) Поле в таблице атрибутов для темы, которое будет использовано для вставки текста подписей к объектам в теме, и для пометки записей, выводимых при идентификации объектов с помощью инструмента Идентифицировать (Identify). Вы можете использовать любое поле из таблицы атрибутов для темы. По умолчанию это первое символьное поле в таблице атрибутов темы. Если символьные поля отсутствуют, то по умолчанию этому полю задается значение Отсутствует (None).
Позиция текста по отношению к точке метки (Position of text relative to label point) Девять кнопок Текст (Text) показывают возможные позиции текстовой метки относительно точки центра полигона. По умолчанию это кнопка в центре. Для использования другой позиции щелкните одну из кнопок Текст. При использовании инструмента Подпись (Label) расположение текста привязывается к положению курсора в момент щелчка.
Масштабировать маркеры (Scale Labels) Эта опция в первоначальном состоянии активна, что означает, что если Вы увеличиваете или уменьшаете изображение после того, как Вы маркировали некоторые объекты, размер текста изменится. Однако, если Вы отменяете масштабирование меток, размер подписей останется постоянным независимо от устанавливаемого масштаба вашего Вида. У Вас не будет возможности задать или отменить масштабирование существующих подписей, придется удалить их и затем создать новые подписи.

Как подписать текущую тему?

Для этого необходимо:

  1. указать расположение подписей относительно объекта (см. предыдущие вопросы).
  2. указать масштаб, для которого необходимо подписать объекты;
  3. перед запуском функции автоматического вывода подписей в теме, Вы должны убедиться, что текущий шрифт по умолчанию правилен, а его размер подходит для подписывания объектов темы в текущем масштабе. Для этого необходимо вызвать диалог выбора шрифта. Выберите пункт меню «Окно->Показать окно символов...» Откроется диалоговое окно, в котором нужно указать наименование и размер шрифта для подписей. См. рис .ниже

рис. Диалог установки параметров текста.

Закройте это окно, нажав на крестик в правом верхнем углу.
Далее необходимо нажать кнопку отмены выбора объектов (Отмена выборки) .
Это нужно для того, чтобы ArcView подписал все объекты в заданной теме. Если в этой теме будет хотя бы один объект выделен, то ArcView подпишет только его. А нажатие этой кнопки сигнализирует ArcView, что нужно выбрать все объекты....
После проделанных операций выбираем пункт меню «Тема->Автоподпись...», после выбора которого откроется диалоговое окно, показанное ниже.
Окно Автоматического вывода подписей ArcView позволяет Вам установить правила для нанесения подписей к объектам одной темы. Если активны несколько тем, автоматически подписываются объекты самой верхней активной темы в таблице содержания.

Поле метки (Label Field)
Используйте эту опцию для выбора поля, с использованием которого Вы хотите подписать объекты вашей темы. Начальное поле является полем меток, которое в настоящее время задано в свойствах меток для темы (Theme Label Properties).
Использование опции Параметры расположения подписей в темах
Когда включена эта опция, ArcView выведет подписи для каждого объекта и разместит их согласно установкам, заданным в свойствах текстовых меток для темы (Text Label property). Чтобы установить параметры для текстовых меток, выберите пункт Свойства из меню Тема.

Найти наилучшее место для подписи

Когда включена эта опция, ArcView оценит форму каждого объекта и окружающую его область. ArcView попытается поместить подпись в оптимальное положение для каждой формы объекта. ArcView использует следующие критерии оценки оптимальности подписи:
Для точечных тем подпись не может пересекать собственный точечный символ, любые другие точечные символы или другую подпись. Основным является расположение подписей выше и справа от точки, но если это место недоступно, подпись будет помещена в любое доступное место.
Для линейных тем подпись редко пересекает собственную линию, никогда не пересекает любые другие подписи, но может пересекать другие линии. Ниже описываются варианты расположения линейных подписей.
Для полигональных тем подпись будет помещена, по крайней мере частично, в пределах полигона, насколько позволяет его форма, и насколько возможно ближе к его геометрическому центру. Подписи могут пересекать его периметр, но не другие подписи.
Если подпись не отвечает этим критериям, она не будет размещена до тех пор, пока Вы не выберете опцию Разрешить наложение подписей друг на друга (см. ниже).
Если кнопка-переключатель Найти наилучшее место для подписи не включена, то опции Разрешить наложение подписей и Удалить дубли будут недоступны. Будут использованы установки для свойств меток темы. (Это по сути дела то же самое, что и в предыдущих версиях ArcView, за исключением добавления возможностей масштабирования подписей (Scale Labels) и подписывания объектов только в экстенте Вида (Label Only the View Extent).

Разрешить наложение подписей друг на друга
Возможно ArcView не может разместить подписи для всех объектов из-за конфликтов с другими подписями, или если подпись плохо помещается (например, подпись намного длиннее чем длина линии.). Это может привести к тому, что важные для идентификации объекты не будут подписаны. Разрешая наложение подписей, Вы гарантированно подпишете каждый объект, имеющий уникальную подпись. Подписи, накладывающиеся на другие хорошо размещенные подписи, будут выделены зеленым цветом, больше они ничем не будут отличаться от текстовых символов для хорошо размещенных подписей. Для получения наилучших результатов используйте опцию Удалить дубли вместе с опцией Разрешить наложение подписей друг на друга.

Удалить дубли (Remove Duplicates) (Только для линейных тем)
По задании этой опции ArcView выведет лишь уникальные строки подписей. Таким образом, если ваши данные содержат объекты с одинаковой подписью, например, есть 40 линейных объектов с надписью “улица Голикова”, то будет подписан только один из ее элементов. Однако, ArcView определяет непрерывность (связанность) объектов с одинаковой подписью. Если она отсутствует, то будет подписан каждый отдельный элемент. Так, если среди этих 40 линейных отрезков с подписью Голикова есть разрыв, в котором, например, находится торговый центр, из-за чего удалены два квартала этой улицы, то непрерывные участки улицы, с обеих сторон примыкающие к торговому центру, будут подписаны, если для подписей есть место.

Опции расположения линейных подписей

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

Масштабировать подписи (Scale Labels)
При включении этой опции ваши подписи будут масштабироваться при изменении масштаба Вида, то есть, они сохраняют один и тот же размер на вашем экране вне зависимости от масштаба Вида. В нижеприведенном примере слева приведен образец текста без использования масштабирования. Если Вы добавили текст, так чтобы он выглядел как показано наверху (объекты вашей темы в данном случае серые), и затем уменьшите (zoomed out) масштаб вида, то размер объектов вашей темы уменьшится, а текст останется прежним. Пример справа показывает тот же самый сценарий при использовании масштабирования. Обратите внимание, что в обоих случаях точка вставки начала текста (внизу слева) находится в том же самым месте относительно объектов.
Подписать объекты только в экстенте Вида (Label Only Features in View Extent)
Если данная опция включена, ArcView автоматически добавляет подписи только к тем объектам, которые в настоящее время показаны в экстенте вида. Если опция Подписать объекты только в экстенте вида отключена, ArcView подпишет все объекты вашей темы, включая те, которые не попадают в область, показанную в Виде.

рис. Диалог установки параметров автоподписи для точечных объектов

После нажатия кнопки «ОК» ArcView произведет автоматическую подпись объектов для текущей темы.

Как изменить масштаб в ВИДЕ?

Для этого существует несколько способов. Вверху существует линейка инструментов, при поммощи которой производится много действий, в том числе и изменение масштаба.

-Увеличивает(приближает) изображение в два раза относительно центра Вида или компоновки;

- Уменьшает (отодвигает) в два раза изображение в Виде или компоновке относительно центра изображения;

- Увеличивает (приближает) изображение в Виде или в компоновке относительно центра изображения или до области, заданной с помощью мыши.

Чтобы увеличить изображение в определенном месте

Выберите инструмент Увеличить (Zoom In) и щелкните мышью в определенном месте на изображении. ArcView увеличит изображение в 2.0 раза с центром в выбранном месте.

Чтобы увеличить до размеров определенной территории

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

- Уменьшает (отодвигает) изображение в Виде или компоновке, располагая его центр в определенном вами месте или до области, заданной при помощи мыши.

Ну и наконец, можно непосредственно указать значение масштаба в специальном поле,

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

Масштаб вида отображается как соотношение, например 1:24000. Для получения более подробной информации относительно масштаба смотрите Масштаб и точность карты.

Чтобы правильно отобразить масштаб вашего вида в ArcView, в виде должны быть правильно указаны картографические единицы, в которых хранятся пространственные данные. Посмотрите раздел справки Установка картографических единиц
Чтобы явно установить масштаб

  1. Щелкните в поле масштаба.
  2. Напечатайте желаемое соотношение. (например, вам надо масштаб 1:200000, то в поле масштаба введите число 200000)
  3. Нажмите клавишу ENTER. Вид будет перерисован в заданном масштабе относительно центра вида.

Как удалить подписи для текущей темы?

Для этого встаньте на интересующую вас тему и выберите пункт меню «Тема->Удалить подписи»

Как настроить интерфейс пользователя?

(добавить/удалить кнопку...)

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

рис. вызов редактора интерфейса

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

рис. окно редактора интерфейсов

Далее вам необходимо сменить категорию. Т.к. вы хотите изменять кнопки, то нужно выбрать категорию «Кнопки» (Buttons). Причем тип должен оставаться «View».

рис. окно редактора интерфейсов c категорией «Кнопки»

Вы видите полоску прокрутки с кнопками. Здесь можно перетаскивать кнопки, как вам нравится. А также можно создавать новую кнопку (NEW) или разделитель (SEPARATOR), а также можно удалить выбранную кнопку (DELETE).
В нижней части находится окно управления свойствами текущей кнопки.
Итак, создаем новую кнопку, нажав на кнопку «Новая» (NEW). Перемещаем ее в то место, куда захотим.

рис. окно редактора с новой кнопкой

Вот и создали новую кнопку. Теперь необходимо присвоить этой кнопке какое-нибудь изображение. Это делается при помощи двойного клика левой кнопкой мыши на строке «Icon». Вашему вниманию откроется диалоговое окно выбора графического изображения.

рис. окно выбора рисунка для кнопки

рис. диалог загрузки рисунка из файла

Если у вас есть уже готовый рисунок в формате BMP, то вы можете загрузить его, нажав кнопку «Load...» и указав местонахождение рисунка он появится в окне. Подтверждение выбора осуществляется путем нажатия на кнопку «ОК».

рис. окно редактора с новой кнопкой и загруженной картинкой

Теперь нам необходимо указать для чего эта кнопка предназначена. Это делается для облегчения работы пользователя, хотя в принципе, для опытных пользователей можно и не делать!!!
Нам нужно заполнить поля с именами «HELP», для этого необходимо щелкнуть левой кнопкой мыши на соответствующем поле и в окне редактора набрать текст.
То, что вы укажете в поле «HELP» будет отображаться во всплывающих подсказках, а если указать еще и «//», то и в строке состояния. Например...

рис. окно редактора поля HELP

Подтверждение ввода осуществляется нажатием кнопки «ОК».

рис. окно с измененным полем HELP

Теперь необходимо ассоциировать с этой кнопкой программу, которая будет выполняться при нажатии на эту кнопку.

Примечание. Обычно тексты программ написаны на языке Avenue (так называемые скрипты). Для написания скриптов смотрите книжку по программированию на языке Avenue и читайте хелп (помощь).

Пусть для нашей кнопки будет ассоциирован скрипт SEL2XLS.AVE.
Итак. вызываем диалог выбора скрипта, который будет выполняться при нажатии на кнопку. Для этого двойным нажатием левой кнопки мыши на строчке «Click» инициируем диалог выбора скрипта.

рис. диалог выбора скрипта

В этом диалоге перечислены скрипты, которые стандартно поставляются с ArcView. Вы можете смело использовать их в своих программах!!!
Т.к. мы знаем место нахождения скрипта, то следует нажать кнопку «Новый» (New). Это Откроет окно задания имени новому скрипту. Введите, например SEL2XLS и нажмите кнопку «ОК»

рис. диалог создания нового скрипта

После этого откроется окно редактирования скриптов, но оно окажется на заднем плане. Чтобы перейти в режим редактирования, закройте окно редактора интерфейсов, нажав на крестик в правом верхнем углу.

рис. окно редактирования нового скрипта

Далее вам необходимо удалить его содержимое и загрузить уже имеющийся скрипт, выбрав пункт меню «Текст программы ->Загрузить текстовый файл... ». Появится диалог выбора фала для загрузки. Укажите папку со скриптами и выберите файл. В нашем примере это Sel2Xls.ave

рис. диалог выбора скрипта

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

рис. окно редактирования нового скрипта

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

рис. окно вида с новой кнопкой

Как скрыть мои программы от лишних глаз?

Для этого необходимо перейти в режим настройки пользовательского интерфейса посредством двойного нажатия на панели инструментов левой кнопки мыши.

рис. вызов редактора интерфейса

Далее в появившемся окне напротив выпадающего списка с выбором типа, нажать на кнопку «Редактировать» (EDIT).

рис. вызов окна редактирования интерфейса

Далее откроется окно в котором вы можете скрыть/показать: Виды, Таблицы, Компоновки, Статьи программ... Все это делается путем указания на соответсвтующий элемент и установки/снятия галочки.

рис. окно, в котором производится отключение/включение режима показа элементов проекта

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

рис. окно проекта

Как установить шрифт со значками?

Обычно шрифты нужны для отрисовки нестандартных значков. Сами шрифты - это файлы с расширением *.TTF .
Для установки шрифтов выйдите в Windows и выберите пункт меню «Пуск->Настройка->Панель Управления». Вам откроется окно, в котором необходимо найти пиктограмму «Шрифты» и два раза щелкнуть на ней левой кнопкой мыши!

рис. Панель управления

Далее вам откроется диалоговое окно установленных шрифтов.

рис. Установленне шрифты...

Выберите пункт меню «Файл->Установить новый шрифт...». Откроется диалоговое окно установки шрифта, в котором вам необходимо указать папку , где лежать шрифты в котором необходимо нажать кнопку «Выделить все», а затем кнопку «ОК».

рис. Окно установки шрифтов

После описанных процедур шрифты должны установиться. Если этого не произошло, посоветуйтесь с системным администратором.

Как мне сделать доступными символы шрифтов
в легенде ArcView ?

Для этого перейдите в режим изменения символа, укажите на палитру шрифтов, затем укажите шрифт со значками и нажмите кнопку «Создать маркеры» (CreateMarkers). Далее если вы перейдете к палитре символов, то вы увидите вновь созданные символы.

рис. Диалог установки параметров текста.

Далее перейдите на закладку "Маркеры" и вы должны увидеть в списке созданные маркеры из символов шрифта.

рис. Палитра символов с установленными шрифтами

Как установить источник данных ODBC для Oracle 7?

Для этого необходимо открыть «Панель управления» Windows.
Т.е. выберите "Пуск->Настройка->Панель управления". Откроется окно, наподобие показанного ниже...

рис. Панель управления

Далее нужно нажать два раза левой кнопкой мыши на иконке, где написано ODBC. Далее
откроется окно, разделенное закладками, показанное ниже.

рис. Окно с источниками ODBC

В этом окне выберите закладку «System DSN» («Системный DSN») и нажмите кнопку
«ADD» («Добавить».). Появится окно:

рис. Окно добавления источника ODBC

 

Выберите драйвер для обращения к базе данных Oracle (обычно это «Oracle73») и нажмите копку «Готово». Далее вам предложат заполнить форму, где нужно указать имя вашего соединения и алиас к базе данных, описание которого должно присутствовать в файле

$ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora

Например, у нас есть в tnsnames.ora запись, соответсвующая удаленному серверу и названная RDBS.

-------------------------------- Фрагмент файла tnsnames.ora ----------------------------------------------

rdbs.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = u03)
(Port = 1521)
)
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = u03)
(Port = 1526)
)
)
(CONNECT_DATA = (SID = RDBS)
)
)
---------------------------------------------------- конец фрагмента ----------------------------------------------------------------------------

Тогда форма может выглядеть следующим образом:

рис. Окно установки имени и описания источника ODBC

где,
Data Source Name - любое понравившееся вам название соединения.
Description - Описание соединения - комментарий (можно пропустить).
SQL *Net Connect String - Это алиас , описанный в файле tnsnames.ora .

После заполнения всех пунктов нажмите «ОК» и источник данных добавится. Далее закройте панель управления и можете работать из Arcview с удаленными базами данных.

 

Как добавить тему из базы данных Oracle?

Добавить можно только точечные объекты (!!!). Используя имеющуюся в ArcView функцию SQL-соединение, Вы можете соединяться (связываться) с сервером баз данных, таких как Oracle или Sybase, и выполнять SQL-запрос для извлечения из них записей. Записи, к которым Вы обращаетесь, станут таблицей в вашем проекте. Затем эту таблицу можно использовать подобно любой другой таблице ArcView.
ArcView сохраняет определение SQL-запроса, который Вы используете для создания таблицы, но не сами записи. Записи сохраняются во временном файле во время использования таблицы. Файл удаляется при удалении таблицы, закрытии проекта или выходе из ArcView. Когда Вы открываете проект, содержащий таблицу, представляющую результат SQL-запроса, ArcView автоматически повторно соединится с базой данных, чтобы получить данные для вашей таблицы. Любые изменения в базе данных будут отражены в вашей таблице и любых Видах, диаграммах или компоновках, которые используют данные этой таблицы.

рис. окно проекта

Сделайте активным окно проекта. Выберите пункт меню «Проект->Связь с SQL сервером...» Откроется диалоговое окно, показанное ниже. Это окно позволяет установить соединение с сервером баз данных и формировать SQL-запросы для получения записей из базы данных. Записи, полученные по вашему запросу, станут таблицей в вашем проекте.

 

Опции диалогового окна

Соединение (Connection) Этот ниспадающий список показывает имена доступных источников данных, с которыми вы можете соединиться.
Если вы используете версию ArcView для Windows, этот список отражает источники данных ODBC (интерфейс открытого взаимодействия с базами данных), сконфигурированные для вашей системы.

Источники данных ODBC конфигурируются с использованием программы Администратора ODBC или опции ODBC в Панели управления (Control Panel) Вашей системы. Посмотрите раздел справки Как установить источник данных ODBC?
Если вы используете версию ArcView под UNIX, этот список отражает базы данных, определенные для применения с использованием технологии ESRI DATABASE INTEGRATOR в файле default.db в каталоге etc в ArcView. Посмотрите раздел справки Получение прав доступа к базам данных с помощью DATABASE INTEGRATOR.

Соединить (Connect) Показывает диалоговое окно Имя и пароль пользователя, в котором вы вводите требуемую информацию по серверу базы данных, с которым вы хотите соединиться.

Разъединить (Disconnect) Завершает текущее соединение с базой данных. Содержимое всех таблиц, созданных в результате запроса, будет уничтожено.

Таблицы (Tables)Выводит список таблиц в текущей базе данных. Если вы щелкнете на имени таблицы, ArcView покажет все столбцы таблицы в окне списка Столбцы. Когда вы дважды щелкнете на имени таблицы, ArcView вставит имя таблицы в текстовый бокс Из (From). ArcView вставляет запятые между именами нескольких таблиц. Порядок расположения имен таблиц не имеет значения.

Столбцы (Columns) Выводит список столбцов в выбранной таблице. Когда вы дважды щелкнете на имени столбца, ArcView вставит имя столбца с префиксом таблицы в текстовый бокс Выбрать. ArcView вставляет запятые между именами нескольких столбцов. Если Вы выбираете пункт <Все Столбцы>, ArcView вставляет звездочку группового символа (*) в текстовый бокс Из (From).

Владелец (Owner) Определяет владельца(цев) таблиц баз данных, перечисленных в списке Таблицы. Если вы не определите имя, то в список будут включены только таблицы, принадлежащие текущему пользователю.

Select (Выбрать) Определяет столбцы для поиска. Если вы включаете несколько столбцов в предложении Выбрать, отделите имена столбцов запятыми. Внесите в список столбцы в том порядке, в котором вы хотите их отыскивать. Если одинаковое имя столбца есть в нескольких таблицах в предлагаемом списке поля Из, перед именем столбца нужно ввести имя таблицы и точку (.).

From (Из) Определяет таблицы, содержащие искомые столбцы.

Where (Где) Указывает запись для поиска. Вы можете использовать ограничение Where для определения записей из таблиц, поименованных в ограничении From, которые появятся в результате оператора Select. Записи выбираются в соответствии с условиями, перечисленными в ограничении Where. Например, вы можете выбрать все магазины в Краснопресненском районе, объем продаж которых увеличился по сравнению с предыдущим годом (Продажи96 > Продажи95). Ограничение Where использовать необязательно. Если вы не включите эту опцию, запрос выберет все записи.
Выходная таблица Имя таблицы, которую создает ArcView для вывода на экран результатов запроса.
Очистить Очищает все текстовые блоки ввода данных этого диалогового окна.

Запрос Посылает запрос к поименованному серверу базы данных.
Вам не нужно добавлять ключевые слова SELECT (ВЫБРАТЬ), FROM (ИЗ), или WHERE (ГДЕ); ArcView добавляет их, когда вы посылаете запрос. ArcView не проверяет синтаксис ограничения Where, оно просто 'пакуется' и посылается к выбранной базе данных.

Доступные для вас базы данных будут перечислены в диалоговом боксе Соединение. Выберите нужную базу данных. Выберите кнопку Соединить (Connect). Появится окно Вход в систему (Login).

рис. окно ввода имени и пароля пользователя

Напечатайте соответствующую информацию соединения в новом диалоговом окне, т.е. введите имя пользователя и пароль. Если кнопка Соединить затенена (недоступна), а кнопка Отключить активизирована, значит связь с базой данных установлена. Список главных (host) таблиц базы данных, связанных с этой базой данных, появится в поле Таблицы.
Далее выберите Таблицу из поля Таблицы. Список столбцов из выбранной таблицы появится в поле Столбцы.
Дважды щелкните по столбцу, чтобы выбрать его. Выбранные столбцы будут включены в новую таблицу базы данных. Имя таблицы и имя столбца, разделенные точкой, появятся в поле Выбрать.
Дважды щелкните на таблице в поле Таблицы, чтобы заполнить поле Из. Если Вы не видите имя нужной таблицы, напечатайте его сами в поле Из.
Если Вы хотите ограничить число возвращаемых записей, можно использовать поле Где (Where). Например, если нужно получить все записи в столбце со значениями больше 0, щелкните один раз в поле Где, чтобы активизировать его, дважды щелкните на столбце, затем напечатайте " > 0".
Если Вы удовлетворены выбранными таблицей, столбцом или столбцами и, если требуется, запросом, нажмите кнопку Запрос (Query). ArcView создаст таблицу, содержащую записи из базы данных. Значения в таблице, созданной соединением с базой данных, нельзя редактировать в ArcView. Для редактирования копии данных в одной из этих таблиц, надо экспортировать эту таблицу в файл на диске, и затем добавить этот файл обратно в ArcView как новую таблицу. После этого новую таблицу можно редактировать.
Примечание 1: ArcView показывает только таблицы, принадлежащие пользователю. А View-шки, Synonym-ы не показывает, но работать с ними позволяет. Т.Е. можете смело указывать в поле FROM имя View или Synonym-а, если вы уверены, что он существует.
Примечание 2: ArcView не поддерживает SQL BLOBS как тип данных.

Вы также можете вводить вручную значения для полей SELECT ... FROM ... WHERE.

Итак, вы получили таблицу, в полях которой обязательно должны быть поля с координатами X и Y. Чтобы сформировать тему вам необходимо перейти в окно Вида и выбрать пункт меню
«Вид->Добавить тему Событие...», который откроет диалог добавления темы-события.
Этот диалог добавляет новую тему в Вид, используя таблицу, содержащую события в вашем проекте в качестве источника данных.

Опции диалогового окна

Категория Щелкните мышью на кнопке, обозначающей тип событий, который вы хотите добавить в Вид.
- XY - каждая запись в вашей таблице представляет собой точечный объект, местоположение которого задается координатами X, Y. События XY добавляются в активный Вид как тема, которая основывается на экстенте и единицах измерения карты, установленных для Вида в диалоговом окне Свойства Вида.

Добавление событий XY

Таблица Ниспадающий список показывает все таблицы вашего проекта. Выберите таблицу, которая содержит события XY. Когда Вы выбираете таблицу, ArcView читает названия полей в таблице, чтобы найти заданные по умолчанию.

X поле Поле в таблице, которое содержит X-координату или данные по долготе

Y поле Поле в таблице, которое содержит Y-координату или данные по широте.

Нажмите OK, чтобы добавить в Вид источник событий.

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

рис. окно добавления темы-события

Выбор кодировки

Чтобы включить опцию выбора кодировки в ArcView необходимо прописать в /ETC/stratup строчку av.SetCodepageConvert(true) Материал взят с сайта http://gis.irk.ru

Существует в Интернете интересный сайт http://gis-lab.narod.ru. Далее будет опубликованы вопросы и ответы с этого сайта.

 

Автоматическая установка рабочей папки
(working directory)

Тем, кто часто создает проекты Arcview, наверное, задается вопросом, как сделать так, чтобы рабочая папка (Working directory) по умолчанию была не c:\windows\temp или c:\gis\arcview3, то есть какая-то одна (заданная в лучшем случае переменной HOME, см. "Добавление пользовательских проекций к Arcview"), а, например, была равна той папке из которой арквью вызывается.
Это было бы очень удобно, поскольку сэкономило бы много времени на поиске нужной папки и т.д.

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

Сделать так достаточно просто, нужно добавить специальный скрипт и добавить две переменные окружения PATH и HOME (если это еще не сделано):

По шагам
Шаг 1. В проект по умолчанию (default.apr, если его не существует нужно его создать) добавить StartUp скрипт, то есть скрипт, исполняемый при загрузке проекта (Project\Properties\StartUp).

Скрипт должен иметь следующее содержание:

aproject = av.GetProject
filen = FileName.GetCWD
aProject.SetWorkDir(filen)

Шаг 2. Изменить системную переменную Path, добавив путь к папке Arcview
Пример: PATH=C:\WINDOWS;C:\WINDOWS\COMAND;C:\GIS\ARCVIEW

Шаг 3. Добавить переменную HOME если она еще не добавлена, о том как это сделать можно прочитать в заметке "Добавление пользовательских проекций к Arcview". Ее значение должно быть равно тому пути, который вы добавили к переменной PATH.

Шаг 4. После этого, находясь в нужной папке с помощью Windows Commander, Far или другого файлового менеджера, достаточно набрать default.apr, как у нас откроется проект в котором уже будет прописана как рабочая папка, то есть та папка из которой вы запустили default.apr, эта же папка будет появляться первой при добавлении тем.

Совет 1. Можно еще больше упростить задачу и создать файл av.bat, в который добавить одну строчку default.apr. Файл av.bat поместить в рабочую директорию Arcview по умолчанию. Тогда запускать настроенный проект будет еще проще, просто набрав av в командной строке.

Совет 2. Файлу deafult.apr, после установки скрипта лучше назначить атрибут "только для чтения".

 

Подключение скриптов (Arcview 3.x)

Подключить скрипт очень просто:
1. В окне менеджера проекта (окно которое появляется после создания нового проекта) дважды щелкнуть на поле "Scripts" или выбрать поле "Script" и щелкнуть на кнопке "New"
2. Появится новое пустое окно скрипта под названием Script1, если вас устраивает такое название то ничего не предпринимайте, если же решите дать ему более осмысленное название, то закройте окно "Script1" и при активном окне менеджера проекта выберите

Project\Rename "Script1", или нажмите Ctrl+R

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

Script\Load Text File..., файл скрипта представляет собой простой текстовый файл с расширением AVE или TXT

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

Script\Load System Script...

4. Скомпилируйте скрипт
Script\Compile

Скрипт можно считать подключенным, после этого вы можете запустить его выбрав
Script\Run, или нажав F5
или присоединив его к кнопке создать новый инструмент (tool) или новую кнопку (button).

Как создать кнопку и подключить к ней скрипт прочитать здесь.

Подключение кнопки и назначение ей скрипта (Arcview 3.x)

 

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

1. Понять в какую группу документов должна быть подключена эта кнопка: Views, Tables, Charts, Layouts, Scripts или какую-то другую.
2. Дважды щелкнуть мышкой на панели инструментов Arcview (не важно в какой группе вы в это время находитесь). Должно открыться окно customize
3. Затем выбрать в поле Type нужную группу документов, в этом поле будут перечислены все доступные на данный момент группы (то есть если группа создается включением определенного расширения а вам надо добавить в нее кнопку, не пытайтесь делать это не включив расширение)
4. В поле Category выберите нужный тип кнопки. Кнопки бывают 2-х типов:

  • простые (Buttons)
  • инструменты (Tools)

Отличие их состоит в том, что простая кнопка после нажатия немедленно выполняет какую-либо операцию, например открывает окно "Добавить тему", а инструмент переключает действие в особый режим, а само действие выполняется только после использования это инструмента, например инструмент Identify. Допустим вам нужно добавить простую кнопку. Следовательно выбираем категорию Buttons.
5. Определяем место где будет находиться кнопка, для этого перемещаем черную рамку которая сначала оконтуривает первую кнопку туда где мы хотим вставить новую кнопку, то есть на существующую кнопку перед ней и нажимаем кнопку New. Появляется новая кнопка.
6. Добавляем связанный с этой кнопкой скрипт. Скрипт перед тем как быть присоединен к кнопке должен быть подгружен в проект и обязательно скомпилирован. Для этого дважды щелкаем на поле Click и выбираем из появившегося окна менеджера скриптов (Sript manager) нужный скрипт.

На этом процесс подключения кнопки можно считать завершенным. Описание других полей заполнение которых не обязательно:

  • Disabled значением этого поле может быть только false\true, обычно используется в совокупности со скриптом подключаемым через поле Update, блокирование кнопки осуществляется если не выполнено некоторое условие (например, нет тем в TOC)
  • Help Строка помощи для кнопки, вводится в виде tool tip//help string, где tool tip - то что будет отображаться во всплывающем, при наведении на кнопку окошке, а help string - то что будет отображаться (возможно более развернуто) внизу экрана в строке статуса. Два параметра разделяются обязательным знаком "//"
  • HelpTopic Название раздела в файле помощи Arcview
  • Icon Используемая для кнопки иконка, при двойном щелчке на этом поле появляется окно Менеждера иконок (Icon Manager), которое облегчает процесс выбора существующей, подгрузки новой иконки
  • Invisible Включение/отключение режима невидимости кнопки
  • Tag Дополнительная текстовая строка к которой можно получить доступ через запрос ObjectTag
  • Update Скрипт выполняемый при любом изменении в активном окне проекта, обычно используется для проверки необходимого условия для включения\выключения (см.Disabled) кнопки.

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

Существую также экзотические случаи, когда создается новый тип документа аналогичный существующему, например расширением Automatic Tiled Layouts создается группа Tiles полностью аналогичная группе Layouts, но подключаемые к группе Layouts расширения не будут автоматически подключаться к группе Tiles, что может быть очень неудобно, например тем, что нельзя воспользоваться таким удобным расширением как Graticules and Grids, которое работает только в Layouts, но так как эти группы полностью аналогичны, то обмануть расширение можно способом указанным выше, скопировав кнопку и все ее параметры в группу Tiles из группы Layouts.

 

Конвертация значений координат в формате
DDMMSS в формат DD.DDDD (Arcview 3.x)

 

Совершать данное преобразование необходимо для того, чтобы полученные координаты можно было потом импортировать в Arcview, иначе сделать точечную тему из текстового файла со значениями координат в формате DDMMSS невозможно.

Существует много способов осуществить данную конвертацию рассмотрим 3 основных (в порядке эффективности).

1. Правильно настроить GPS (подробнее)

Как правило, если вы часто осуществляете импорт данных из GPS в Arcview и не используете для этого специальных программ типа Oziexplorer, для того чтобы не мучаться с переводом координат проще всего просто настроить GPS так чтобы он отображал значения координат в формате dd.dddd. Правда это не очень удобно для тех, кто ориентируется в поле по топокартам с нанесенной координатной сеткой. С другой стороны и саму координатную сетку можно сделать в этом формате.

2. Использовать специальный скрипт Arcview (загрузить скрипт)

О том как загрузить и выполнить скрипт в Arcview описано здесь.

Особенности работы скрипта
Для начала работы в Arcview должна быть создана или загружена таблица в формате DBF (создать такую таблицу можно, например, в Excel'e). Таблица в которой записаны исходные значения ДОЛЖНА быть открыта для записи Table\Start editing.

В этой таблице должно присутствовать 2 столбца (общее количество может быть больше) в которых должны быть записаны значения координат в следующем формате

DDMMSS то есть пробелов между цифрами быть не должно, например 505050.3214.

В процессе работы скрипт попросит указать название столбца в котором записаны значения широты и столбца в котором записаны значения долготы. Затем попросит ввести название для результирующих столбцов. После этого скрипт выполнит преобразование и запишет в новые столбцы с названиями которые вы вводили значения координат в формате DD.DDDDD.

3. Пересчитать значения координат самому в Excel

Формула для пересчета очень проста

A+((B)/60)+(C)/3600, где А - градусы, B - минуты, С - секунды

Для тех кому лень вводить формулы и создавать таблицу, можете загрузить готовую здесь. От вас требуется только ввести свои координаты и скопировав столбцы с результатом вставить их в новую таблицу или текстовый файл, который можно будет потом импортировать в Arcview. Хотя проще это сделать через DBF.

 

Как расчитать площадь полигона(ов) и добавить
ее значение в атрибутивную таблицу (Arcview 3.x)

 

Существует несколько способов определить и внести в атрибутивную таблицу площадь полигона(ов)

Способ 1-ый - Визуальный - заключается в том, что вы, сделав тему редактируемой Theme\Start Editing, вы выбираете один из ее полигонов инструметом Pointer и видите его площадь в статусной строке внизу экрана Arcview.

В этой строке также отображается и другая информация о полигоне, такая как периметр полигона, длина сегмента.
Площадь полигона в этом случае рассчитывается исходя из единиц карты (distance units), если вид спроектирован и единицы расстояния - километры, то площадь в статусной строке будет отображаться в квадратных километрах и т.п. Если выделять указателем несколько отдельных объектов, то площадь в статусной строке будет равна суммарной их площади.
Этот способ будет работать неправильно для полигонов объединенных командой Union features не имевших при этом общего участка границы (то есть объединение отдельных объектов), площадь в этом случае будет расчитана неправильно.

Способ 2-ой - Расчет атрибута c внесением его значения в таблицу без применения скриптов- может проводится для нескольких объектов сразу (хотя ничего не мешает определить площадь только одного полигона). Заключается в получении в существующем поле атрибутивной таблицы значения площади соответствующего полю этой таблице полигона.
1. Выбрать один или несколько полигонов темы в виде (или самой таблице), инструментом Select feature (если тема не редактируемая), нужно сделать таблицу редактируемой Table\Start editing,
2. Создать новое поле в таблице Edit\Add field, тип поля Number. Если нужно добавить значение поля в уже существующее поле, то просто выбрать поле (3)
3. Щелкнуть на заголовке поля
4. Выбрать инструмент Calculate (Field Calculate)
5. В появившемся окне Field Calculator'а ввести следующее выражение

[Shape].ReturnArea

6. После выполнения этого запроса в поле, выбранном для записи значений, появятся значения площади для выбранных записей.

Недостаток этого метода заключается в том, что если вы работаете с темами находящимися в проекции Lat\Long то результаты измерения площадей вам врядли будут полезны, это также касается спроектированного вида, то есть если исходная тема(ы) в проекции Lat\Long проектируются в любую проекцию, то оценка площади все равно будет производится в единицах измерения исходного материала.
Если вы работаете уже со спроектированными материалами (то есть проекция задается не в Arcview - View\Properties\Projection) то этот метод вполне подходит для быстрого получения информации о площади для любого количества объектов.

Способ 3-й - Расчет атрибута с помощью скрипта. Подключив этот скрипт можно расчитывать площадь объектов зависящую от проекции вида и единиц измерения которые выставляются в параметрах вида, также этот скрипт успешно работает и в неспроектированном виде с темами спроектированными в Arcinfo, Arcview Reprojection Utility и т.д.

Как установить связь с базой данных MS ACCESS
и работать с внешними таблицами,
содержащими атрибутивные данные
(общее описание процедуры и конкретные примеры)

Этот раздел посвящен совместному использованию взаимодействию ГИС ArcView 3.2a и СУБД MS ACCESS 2000. Приведенные примеры взяты из разрабатываемого сейчас инициативного проекта "Флора Таймыра" (Поспелова Е.Б., Поспелов И.Н. - Таймырский заповедник, Матвеева Н.В., Заноха Л.Л.- БИН РАН)

А. Установка связи с нужной таблицей.

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

По опыту, лучше заранее непосредственно в ACCESS создать запрос, содержащий все поля, значения которых нужно отобразить на карте, так как процесс создания запроса в ACCESS весьма прост, а для SQL-связи запрос и таблица равнозначны. В моем случае создан запрос LFMap, содержащий поля кода участка, принадлежности его к определенной растительно-ландшафтной зоне, числа видов сосудистых растений и класса изученности флоры участка. Так как тематика данного ресурса не включает вопросы по работе с ACCESS, то по вопросам создания запросов обращайтесь к соответствующей документации

Для создания связи с базой данных необходимо, чтобы активным было окно Проекта ArcView и выбрать в меню Project – SQL connect…

Появится окно, где вверху в поле Connection необходимо выбрать База данных MS ACCESS, нажать кнопку Connect, после чего будет предложено выбрать конкретную базу данных.

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

После установления связи в левом окошке “Tables” диалога SQL Connect появятся все таблицы и запросы базы данных.

Ваши действия (алгоритм 1):

1. Дважды щелкнуть по нужному объекту базы данных. После этого все поля таблицы или запроса появятся в окошке “Columns”, а имя самой таблицы – в предложении “from”.

2. Дважды щелкнуть по каждому из полей, которые нужно включить в SQL-запрос в окошке “Columns”, они появятся в предложении “Select”; можно также щелкнуть на строчке <All Collumns>, тогда в связанной таблице будут выведены все поля исходной таблицы. 3

Ввести вразумительное имя в поле Output table.

4. Об использовании предложения Where – см. ниже.

5. Нажать Query. Связанная таблица появится отдельным окном. 

*Примечание: Если у вас в данный момент запущен ACCESS, и связываемый запрос или таблица открыт в ACCESS в режиме конструктора, то вы получите сообщение об ошибке.  

6. Закрыть диалог SQL-connect (или провести ту же операцию с другой таблицей).

7. Путем использования меню Window и перетаскивания окон сделать так, чтобы на мониторе были одновременно видны атрибутивная таблица темы, к которой надо привязать данные из связанной таблицы, и сама связанная таблица. Делать атрибутивную таблицу редактируемой необязательно, связанная таблица редактируемой по определению быть не может. Если атрибутивная таблица темы не обнаруживается, значит, после загрузки в проект темы к ней не разу не обращались. Тогда в окне View нужно сделать нужную тему активной и нажать кнопку Open theme table (где нарисована таблица). Появится таблица с именем “Attributes of <название темы>” – это и есть атрибутивная таблица. Поочередно выделить общие поля обеих таблиц – в приводимом примере – поле “Key” атрибутивной таблицы и поле “Ключевые участки: код” связанной.

8. Сделать активным окно атрибутивной таблицы и нажать кнопку Join (если кнопка неактивна, значит вы не выделили в какой-то из таблиц поля связи, или окна связываемых таблиц – атрибутивной и внешней не являются первым и вторым соответственно в иерархии окон). После этого в атрибутивной таблице появятся все поля связанной. ВНИМАНИЕ! Если активным будет окно связанной таблицы, то результат получится обратный ожидаемому – поля атрибутивной таблицы появятся в внешней связанной, что, как я полагаю, вам не надо.

9. Перейти в окно вида и при помощи двойного щелчка по теме строить легенду по желаемому полю. (я построил легенду типа Graduated Symbol по полю Count - Ключевые участки код – число видов сосудистых растений).

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

Как видно из предыдущего примера, в полученной в результате связывания таблице имеется 3 поля, по каждому из которых можно построить отдельную тематическую карту. Можно конечно, менять легенду в одной теме с «привязанными» атрибутивными данными, но, как мне представляется, удобнее иметь все эти темы в виде одновременно и просто управлять их отображением. Как это сделать?

Предлагаю следующий алгоритм (алгоритм 2).

  1. Добавить исходную тему в вид еще раз.
  2. Вызвать свойства темы (Theme-Properites) и переименовать ее в поле Theme Name, заменив «что-то.shp» на имя, отражающее суть темы. В окне Вида тема приобретет другое имя.
  3. Нажатием на кнопку Open theme table, тем самым активизировать атрибутивную таблицу темы (обратите внимание – таблица не изменилась, изменилось только имя таблицы, а атрибутивные данные остались теми же, что и у загруженной темы).
  4. Активизировать связанную таблицу и выполнить шаги 7-9 из выше описанных .
  5. При необходимости – повторить операцию с той же темой еще под одним именем.

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

В данном разделе речь идет о связывании атрибутивной таблицы темы с таблицей базы данных, содержащей множественные данные, относящиеся к определенному географическому объекту. В приводимом примере имеется выше описанная тема, показывающая расположение участков с обследованными флорами сосудистых растений, атрибутивная таблица которой содержит только условные коды ключевых участков; и таблица в базе данных ACCESS, имеющая поля код вида растений – код ключевого участка – балльная характеристика распространения вида на данном участке. Необходимо для определенного вида построить точечную карту распространения. Для этого нужно выполнить следующие действия.

  1. Выполнить шаги 1-3 из приведенного в начале алгоритма 1 создания SQL-связи.
  2. Поместить курсор в поле Where, дважды щелкнуть в окошке Columns по тому полю, по которому нужно провести выборку (в нашем случае поле SpeciesIndex, представляющее из себя числовой код вида растений). В окошке Where появится `Q1`.`SpeciesIndex`, далее ввести = нужный индекс 

Пример выражения:

`Q1`.`SpeciesIndex`=420

В русифицированном ArcView синтаксис выражения почему-то меняется, и его нужно ввести вручную. Оно должно выглядеть так:

([Q1.SpeciesIndex])=(420)

Примечание. К сожалению, отбор можно проводить только по числовым полям внешней таблицы. Причины этого мне не вполне ясны, в справочной системе имеется намек, что драйвер ODBS, поставляемый с MS ACCESS, не полностью поддерживает связь с приложениями «made by не-Microsoft», хотя в руководстве пользователя ArcView приводится пример отбора именно по символьному полю (правда, для MS ACCESS 97). Если есть необходимость проводить отбор по символьному полю, то можно создать запрос с нужной выборкой непосредственно в ACCESS и связывать данные с ним.

  1. Выполнить шаги 5-6 из описанного выше алгоритма 1.
  2. Добавить проект связываемую тему, переименовать ее, активизировать атрибутивную таблицу, соединить ее со связанной внешней (алгоритм 2).
  3. Создать легенду темы, исключающую вывод значений, имеющих пустые поля для внешней таблицы.

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

 

Добавление пользовательских проекций к Arcview

Для того, чтобы Arcview добавил к своему списку стандартных проекций используемые вами, нужно создать и запустить скрипт, в котором прописать какие проекции вы хотели бы видеть в Arcview. Естественно, те же проекции вы можете получить и настроив проекцию через View\Properties\Projection\Custom, но если вам наконец это надоело, то пора научить Arcview автоматически добавлять в стандартные проекции проекции с вашими параметрами.

1. Создание файла с пользовательскими проекциями default.prj
Если вам достаточно проекций прописанных в файле доступном для скачки, переходите сразу к пункту 2.

Список проекций добавляемых в Arcview при использовании файла default.prj:

  • Gauss-Krueger: zone 5 - zone 27
  • Albers Equal Area Conic: Europe, Siberia, FarEast

Посмотреть на готовый скрипт создающий default.prj для 3-х проекций Albers'a и 23 зон GK.

Вы можете также создать скрипт самостоятельно, он должен иметь примерно следующее содержание:

'создать группу проекций и задать им название
c = CoordSys.Make
c.SetName("My Projections")
projections = c.GetProjections

'создать проекцию Albers'a с пользовательскими параметрами
r = Rect.Make(103@"-56".AsNumber,164@"-7".AsNumber)
projection1 = Albers.Make(r)
projection1.SetDescription("Albers - Europe")
projection1.SetCentralMeridian(45)
projection1.SetReferenceLatitude(0)
projection1.SetLowerStandardParallel(64)
projection1.SetUpperStandardParallel(52)
projection1.SetFalseEasting(8500000)
projection1.SetFalseNorthing(0)
projection1.SetSpheroid(#SPHEROID_KRASOVSKY)

'Добавить проекцию в список
projections.Add(p1)

'Создать файл default.prj с дополнительными проекциями
defprj = ODB.Make("$HOME/default.prj".AsFilename)
defprj.Add(c)
defprj.Add(c2)
defprj.Commit

Если вы хотите добавить проекцию Гаусса-Крюгера, то это можно сделать так

r = Rect.Make(103@"-56".AsNumber,164@"-7".AsNumber)
p20 = TransverseMercator.Make(r)
p20.SetDescription("GK Zone 24")
p20.SetCentralMeridian(141)
p20.SetReferenceLatitude(0)
p20.SetScale(1)
p20.SetFalseEasting(24500000)
p20.SetFalseNorthing(0)
p20.SetSpheroid(#SPHEROID_KRASOVSKY) S


2. Настройка среды Windows для понимания Arcview файла привязки default.prj

Для того, чтобы Arview нашел файл с дополнительными проекциями в определенной директории (например c:\GIS\Arcivew3\), нужно прописать переменную окружения Windows, называется она - HOME.

Для этого нужно, в зависимости от установленной операционной системы:

Windows 95/98
В файл config.sys прописать следующую строку

set HOME=C:\Gis\ArcView3\ - путем в данном случае является папка в которую был установлен Arcview

Windows 2000
Пуск (Start)-Настройка (Settings)-Панель управления (Control Panel)-Система-Дополнительно-Переменные среды-Системные переменные. Создать переменную:
Имя переменной: HOME
Значение переменной: C:\Gis\ArcView3\ - путем в данном случае является папка в которую был установлен Arcview

3. В эту же папку переписать файл default.prj

4. Перегрузить компьютер


В данном файле default.prj прописаны 3 проекции Albers'а и 18 проекций GK, от 5 до 27 зоны включительно. В случае правильного подключения файла с проекциями при вызове окна Projection Properties (View\Properties\Projection) в группе Standart появляются 2 новые категории (category) BCC Projections и Gauss-Krueger.

Проекции Альберса
Проекции Гаусса-Крюгера

 

Надо ли русифицировать Arcview - заметки пользователя

Special thanks to: И.Поспелов, Таймырский заповедник

Я начал работать с ГИС вообще и с ArcView в частности сравнительно недавно, и когда узнал, что ArcView 3.2a можно русифицировать при помощи специального патча, закачиваемого с ftp.esri.com, или здесь воспользовался этой возможностью, т.к. языками владею не очень сильно и вообще предпочитаю локализованные программы. Однако в процессе работы я столкнулся с целым рядом проблем, плоды которых пожинаю до сих пор и хотел бы предупредить пользователей об этом. Если вы собираетесь работать с ГИС не только на своей машине, но и желаете, чтобы ваши проекты были доступны другим (а большинство специалистов работает с нерусифицированным ArcView), то при принятии решения о русификации рекомендую учесть мой опыт.

Во-первых, некоторые проекты, созданные в русифицированной версии, просто могут не открыться на машине с нерусифицированным ArcView. Особенно это касается проектов, имеющих SQL - связь с базой данных (в моем случае - ACCESS 2000). При загрузке проекта SQL-запрос к базе данных может быть просто игнорирован системой. С чем это связано, я не знаю, но хочу отметить интересное наблюдение - синтаксис SQL-запроса после русификации почему-то меняется и не соответствует ни примерам, приведенным в русском Help-e, ни даже примерам из руководства пользователя ArcView. Когда я с эти столкнулся, мне пришлось подбирать правильный синтаксис просто методом научного тыка.

Во-вторых, если ваш проект даже и открылся в нерусифицированном Arc View, то строка меню в нем почему-то русифицируется. Это, конечно, не слишком сильная беда, но смотрится довольно дико. Кстати, при установке на русифицированную версию стандартных модулей (SpatialAnalyst, 3D Analyst и др.) строка меню частично дерусифицируется.

В-третьих, под русифицированной версией ArcView некоторые модули работают криво или вообще не работают. Конкретный пример- Sim's freehand drawing tool, который я весьма интенсивно использую. В русской версии я долго пытался менять snap tolerance - безрезультатно. Я наивно решил, что данная возможность не работает вообще и забыл про нее, пока не переинсталлировал ArcView без русификации. После этого все заработало! Были также проблемы и с некоторыми скриптами, взятыми с ArcScripts, которые (проблемы) исчезли в нерусифицированной версии.

Недавно обнаружилась еще одна проблема с проектами, созданными в русской версии. При импорте подобного проекта в ArcGis 8, он теряет способность открываться в ArcView 3.2а, (сообщение Segmentation Violation), ДАЖЕ ЕСЛИ В ARCGIS 8 С НИМ НИЧЕГО НЕ ДЕЛАТЬ!. С проектами, созданными в нерусифицированной версии, этого не происходит.
Начинающим пользователям ArcView, нуждающимся в постоянном обращении к файлу справки, я посоветовал бы сделать следующее.
Установить ArcView, русифицировать программу, после этого найти в каталоге, куда вы установили программу, папку Help (а заодно и карты России в папке Esridata/Russia - вдруг понадобится), скопировать ее куда - нибудь, деинсталлировать полностью ArcView, инсталлировать по новой и заместить папку Help скопированной.

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

В начале работы на русифицированной версии выражение "Полный экстент" вводило меня в ступор, и теперь я это выражение использую в качестве эквивалента выражению "Полный .…ец" при дамах. :)

Вообще, подобная инсталляция позволяет и привыкнуть к английскому интерфейсу, разобраться в терминологии, и получить помощь. Если вы всерьез собираетесь заниматься ГИС и использовать при этом ArcView 3.x, то рано или поздно придется отказываться от русификации, а в моем случае это обернулось потерей времени на создание заново ряда довольно сложных проектов.

 

Примение TRLegend для работы с растровыми топокартами

скачать расширение

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

Если ваши топокарты цветоделены в соответствии со следующей раскладкой цветов:

0. Черный (сетка, текст)
1. Черный
2. Зеленый (лес)
3. Зеленый
4. Зеленый
5. Синий (граница объектов гидросети)
6. Синий
7. Синий
8. Коричневый (горизонтали)
9. Коричневый
10. Коричневый
11. Голубой (заливка объектов гидросети)
12. Голубой
13. Малиновый (текст)
14. Белый (фон)
15. Белый

То вы можете использовать расширение TRLegend для более эффективной и удобной работы с этими топокартами.

Расширение добавляет новую кнопку в кнопочную панель при нажатии которой появляется возможность сделать прозрачными любые слои для выбранной темы\тем. Таким образом можно быстро оставить только гидросеть или рельеф или другие слои, присутствующие на стандартных топокартах. Но для этого вы должны более тщательно относится к цветоделению топокарт!

прозрачны все слои кроме зеленых прозрачны все слои кроме гидросети прозрачны все слои кроме изолиний

 

 

Получение основных пространственных характеристик объектов

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

Те, кто пользовался или пользуется Mapinfo недоуменно могут отметить кажущееся отсутствие в Arcview метода быстрого получения площади объекта или его пространственных координат). Они действительно упрятаны достаточно далеко, но в этом есть своя логика. Обычно визуальная оценка параметров объекта, довольно бессмысленная задача, а вот получение этих параметров в таблицу было бы неплохо. При желании можно организовать постоянный мониторинг площадей, периметров и т.д. как это делает Arcinfo (хотя она не следит за координатами точек). Это имеет смысл если вы в Arcview выполняете серию пространственных операций изменяющих площадь объектов и вам нужно следить как она изменяется.

Открываем таблицу и создаем в ней поле(поля) с необходимыми параметрами (для площадных объектов - area, perimeter, для линейных - length, для точечных - X,Y).

Открываем таблицу для редактирования и делаем активным нужное нам поле. Вызываем инструмент calculate. Выражение обращается за пространственными характеристиками объекта к полю shape, которое оказывается все их содержит.

1. Полигональный объект:

Площадь (Area)

Формула должна иметь следующий вид: Area = [shape].returnarea

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

Периметр

Формула должна иметь следующий вид: Perimeter = [shape].returnlength

2. Линейный объект:

Длина

Формула должна иметь следующий вид: Length = [shape].returnlength

3. Точечный объект:

Для получения координат точек, нужно ввести 2 формулы, сначала

Long = [shape].getx, а затем Lat = [shape].gety

Как вы наверное догадываетесь, эти выражения есть реализация запросов на языке Avenue через инструмент Calculate. С помощью этого инструмента можно получать и другие пространственные характеристики объекта(ов).

 

Компрессия индексированных растров (сравнение)

Индексированные растры по определению должны хорошо компрессироваться поскольку содержат однородные цветовые поля. Конечно, речь идет о правильно индексированных растрах (растрах с определенным, небольшим количеством цветов). Обычно такими растрами представляются топографические карты, тематические карты.

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

Сразу оговорим, что одним из самых эффективных алгоритмов сжатия является алгоритм Lempel-Zip-Welch (LZW) применяемый в формате GIF, LZW компрессия также поддерживается в форматах TIFF и IMG. К сожалению использовать его в ГИС можно ограниченно из-за странной политики ESRI по поддержке растров компрессированных с помощью этого алгоритма. Дело в том, что патент на этот алгоритм принадлежит фирме Unisys и чтобы включить поддержку LZW компрессированных данных в Arcview нужно сначала заключить лицензионное соглашение с этой фирмой. Подробнее об этом соглашении можно прочитать в статье "Unisys и использование LZW-TIFF в Arcview".

Для тестов использовались топографические карты размером 3200х1600 пикселов, количество уникальных цветов 11, унифицированная цветовая палитра. Количество карт 20 шт., насыщенность информацией от 10 до 95%. Сжатие производилось в следующие форматы (алгоритмы):

  • Img-RLE ERDAS Imagine, RLE - Run-Length Encoding (ESRI) формат сжатия наиболее эффективный для гомогенных растров, поддерживается Arcview при наличии установленного модуля Image Analysis или расширения ERDAS Imagine support;
  • TIF-Packbits ERDAS Imagine, IrfanView, etc. формат сжатия индексированных растров Macintosh, поддерживается всеми уважающими себя растровыми редакторами, совершенно бесплатен, в отличие от LZW, поддерживается Arcview без специальных модулей\расширений;
  • TIF-LZW ERDAS Imagine, IrfanView, etc. формат сжатия растровых данных основанный на алгоритме Lempel Ziff & Welsh, поддерживается Arcview при наличие специальной библиотеки. См. "Unisys и использование LZW-TIFF в Arcview";
  • SunRaster ERDAS Imagine, EPPL7, компрессия осуществляется, видимо, по алгоритму run-length encoding, однако, в отличие от Img, этот формат поддерживается Arcview по умолчанию, без специальных модулей\расширейни\библиотек;
  • EPP EPPL7 компрессия осуществляется, видимо, по алгоритму run-length encoding, Arcview поддерживает этот формат с помощью специального расширения (загрузить)
  • ESRI GRID Arcview, Arcinfo, поддержка в Arcview с помощью модуля Spatial Analyst, 3D Analyst, не очень удобен для хранения данных, зато очень удобен для дальнейшей их обработки, например выделения однородных цветовых полей в пакетной режиме, какая компрессия используется здесь, непонятно.

Размер несжатых растров - 48800 Кб

Формат

Размер после сжатия, Кб

Коэффициент сжатия, %

TIFF
uncompressed

48800

1:1

IMG
run-length encoding

17900

1:2.72

TIFF
packbits

14200

1:3.44

TIFF
LZW

6330

1:7.70

SunRaster
run-length encoding

16500

1:2.95

EPP

15300

1:3.12

ESRI GRID

16500

1:3.0

Скорость перерисовки: проводился только для TIF-LZW для проверки скорости отрисовки всего растрового поля в Arcview 3.2. Количество карт - 950 листов. Цель: проверка замедления отрисовки на декомпрессию. Проверка для остальных форматов не производилась.

Формат

Скорость перерисовки, сек

Замедление, %

TIFF
uncompressed

 

 

TIFF
LZW-compressed

 

 

Небольшие выводы:

Как видно из таблицы результатов на первом месте по сжатию алгоритм LZW - если вам удалось достать\получить библиотеку обеспечивающую его поддержку в Arcview GIS, то советую пользоваться для сжатия карт именно этим алгоритмом, он далеко оставляет позади конкурентов в области losless компрессии. Если же с лицензией ничего не получается, то неплохим вариантом является packbits компрессия, к томуже абсолютно бесплатная, не требующая никакой лицензии.

Unisys и использование LZW-TIFF в Arcview

 

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

В данном случае речь идет об сжатии без потери качества, поэтому такие форматы как MrSID и JPEG, дающие больший коэффициент сжатия, мы не рассматриваем.

Одним из самых эффективных алгоритмов сжатия, которому в настоящее время нет альтернатив является алгоритм Lempel-Zip-Welch (LZW) применяемый в формате GIF, TIFF. К сожалению использовать растры сжатые этим алгоритмом в ГИС можно ограниченно.

Дело в том, что патент на этот алгоритм принадлежит фирме Unisys (www.unisys.com) United States Patent No. 4,558,302 и чтобы включить поддержку LZW компрессированных данных в Arcview нужно сначала заключить лицензионное соглашение с этой фирмой. После того, как это соглашение заключено, любой дистрибьютор компании ESRI, в нашем случае Дата+ безвозмездно предоставляет библиотеку avopt.dll, скопировав которую в каталог Bin32, каталога установки Arcview, доступ к таким растрам открывается.

Подробнее о лицензии на LZW компрессию можно почитать здесь: http://www.unisys.com/about__unisys/lzw/

Для получения лицензии нужно заполнить "вопросник" и отослать его по адресу LZW_INFO@UNISYS.COM по этому же адресу можно задать вопросы и получить этот же вопросник.

После некоторого времени ожидания, вы по факсу указанному в заполненной анкете получаете лицензионное соглашение. После его подписания...если вы согласны потратить 2500$ в уплату лицензионных взносов, ESRI совершенно бесплатно предоставит вам библиотеку поддержки LZW TIFF для Arcview.

Здесь можно посмотреть само лицензионное соглашение, которое присылают по факсу:

страница 1 страница 2 страница 3 страница 4

Вообще резонным кажется вопрос, почему тысячи компаний поддерживают LZW на входе и на выходе, а ESRI не удосужились сделать так, чтобы пользователям Arcview не нужно было проходить процесс лицензирования самим. Представители Arcview объясняют это целями уменьшения стоимости их продуктов, того же Arcview. Но тогда не понятно, как производители shareware, например IrfanView могут себе это позволить, так же как Adobe (Photoshop & Co), а ведь их цена даже меньше чем стоимость Arcview.

Большое недовольство также вызывает то, что пользователю самому приходится проходить процесс лицензирования, ведь реализация модуля поддержки LZW-компрессии даже на платной основе, скорее всего сняла бы вопрос о лицензировании. Большинство серьезных фирм, думается, не раздумывая купили бы модуль, только бы не влазить в процедуру лицензирования. Короче говоря, политика ESRI похожа на "кидание" пользователя на едине со своими проблемами, "разбирайтесь, мол, сами". Печально, но не смертельно.

Подробности:

License Information on GIF and Other LZW-based Technologies
Unisys LZW Patent FAQ

Ходят слухи, что в 2003 году Unisys открывает доступ к технологии на бесплатной основе. Ждать недолго :)!

 

Трансформация и привязка растровых данных в ImageWarp

Загрузить ImageWarp (1.3 Мб)
Author : Kenneth R. McVay
E-mail : rcreed@earthlink.net

Один из самых простых методов пространственной привязки растровых данных не требующий отдельного програмного обеспечения, кроме бесплатно распространяемого расширения ImageWarp (Автор: Kenneth R. McVay) для Arcview и модуля Spatial Analyst. Обычно трансформацию растровых данных осуществляют в других приложениях, средствами Arcview, без привлечения платных модулей (таких как, например, Image Analysis) осуществлять трансформацию растров невозможно, зато можно использовать средства Spatial Analyst для трансформации grid'ов (растровая модель данных используемая в Spatial Analyst).

Конечно, если модуля Spatial Analyst в наличие не имеется, то лучше воспользоваться отдельной программой, работающей с растрами напрямую.

Если вы все-таки решили привязать растр не выходя из Arcview.

  1. Установите расширение ImageWarp;
  2. Запустите Arcview и добавьте расширение ImageWarp (File\Extensions...), модуль Spatial Analyst добавится автоматически;
  3. Откройте сессию ImageWarp: Проект - ImageWarp\ImageWarp session;
  4. Укажите какой растр вы хотите привязать Image to be rectified, и тему которая будет использоваться в качестве основы к которой будете привязывать растр. В качестве опорной темы может использоваться как растр так и векторный слой;
  5. Если ваша опорная тема - векторный слой в lat\long, но вы хотите привязать растр в определенную проекцию, имеет смысл ее задать;
  6. Создайте новый файл опорных точек (тиков) или загрузите уже существующий. Файл тиков представляет собой обычный файл DBF, один из стандартных форматов таблиц понимаемый Arcview. При желании содержимое этого файла можно подредактировать в Excel или в том же Arcview;
  7. С помощью инструмента начинайте расставлять тики попеременно щелкая сначала на опорной теме, потом на растре который вы привязываете. То есть от вектора к растру а не наоборот, как в другом программном обеспечении;
  8. При желании тик (опорную точку) можно
    • удалить выбранный
    • удалить все
    • включить\выключить выбранные тики отключенные тики будут присутствовать в dbf файле, но не будут участвовать в расчете коэффициентов трансформации
  9. После расстановки тиков нужно расчитать среднеквадратичную ошибку (RMS - root mean square error) для заданной степени полинома . Степень полинома определяет насколько сильные деформации будет претерпевать растр для соответствия расставленным опорным точкам. Обычно используют степень полинома не более 2-3. Большие полиномы вносят слишком большие искажения в растр. Для расчета RMS для определенной степени полинома необходимо определенное количество опорных точек. Число точек для полинома N будет равно n = (p + 1) (p + 2) / 2. То есть для полинома 1 степени, количество пар точек должно быть равно 3, для 2 полинома - 6, и т.д.
  10. Начать трансформацию
  11. Выбрать тип интерполяции яркости пикселов, то есть данных находящихся в ячейках растра. Существует 3 варианта (различающихся по количеству соседних пикселов участвующих в расчете результирующего значения пиксела на выходе):
    Cubic Convolution - Кубическая свертка, применяется для трансформации аэро- и космической съемки, полноцветных (true color) растров, в случае когда требуется максимально сохранить объекты визуально. Линейные объекты остаются линиями при повороте, хотя количество пикселов определенного значения (цвета) увеличивается, появляются пикселы с новыми, промежуточными-интерполированными значениями (максимальное количество пикселов участвует в расчете яркости результирующего пиксела);
    Bilinear interpolation - Билинейная интерполяция
    Nearest Neiboughr - Метод ближайшего соседа, используется при трансформации индексированных растров, когда нужно максимально сохранить яркости всех пикселов (минимальное количество пикселов участвует в расчете яркости результирующего). При повороте линейных объектов они становятся ступенчатыми, но количество пикселов с определенным значением в них примерно тоже, что и в исходном растре;
  12. Выбрать формат конечного растра BSQ BIP BIL JPG TIF
  13. Выбрать размер пиксела. 0 - дает возможность программе самой подобрать размер пиксела такой, чтобы количество рядов\колонок в конечном растре максимально соответствовало начальному (размер файла на диске начального растра тоже будет примерно равен размеру конечному). Это не всегда хорошо, в случае, когда поворот засчет перепроектирования велик и раст сильно поворачивается. В этом случае количество рядов\колонок может сильно увеличиться, а 0 заставит программу сильно уменьшить разрешение растра, что ухудшит его качество.
  14. Выбрать куда сохранить файл.

ImageWarp переведет растр в грид - растровую модель данных используемую Spatial Analyst'ом. Грид может быть перепроектирован методами Spatial Analyst. После трансформации грид переводится в растр обратно и сохраняется в нужном формате.

Конечно в целях эффективности и экономии времени следует попробовать найти другой способ трансформации, так как перевод в грид и обратно в растр требует достаточно много времени. Но для первого знакомства с привязкой растров этого вполне достаточно.

Hotlink на область (уменьшение точности hotlink'а)

при участии И.Поспелова

Связывание объектов темы ArcView с внешними файлами используется довольно часто - как правило, это графические изображения, WEB-страницы, текстовые документы и т.д. С описываемой ниже проблемой пришлось столкнуться при привязке фотографий к карте местности. При этом использовался широко распространенный просмотровщик графики IrfanView, достоинство которого - в отсутствии необходимости инсталляции (достаточно переместить файлы IrfanView в каталог с любым именем, и программа будет работать оттуда, в том чиcле с CD).

В Help ArcViev 3.xx приведен образец внедряемого в проект скрипта для запуска любого приложения для открытия документов, прописанных в поле горячей связи атрибутивной таблицы темы. Этот скрипт был переработан и использован для вызова фотографий, привязанных к точкам с указанием направления съемки.

При использовании точечной темы с крупными символами выявиляется следующая неприятность - на мониторах с высоким разрешением (1024х768 и выше) инструментом Hotlink стало довольно трудно попасть в объект (при использовании разрешения 1280х1024 иногда это сделать еще сложнее, причем попасть надо было в весьма условный "центр точеного объекта" - символа).

В процессе анализа проблемы выяснилось, что в системном запросе, определяющем точность инструмента (кстати, не только Hotlink, а и инструмента выбора) зафиксирована область в 3 пиксела экрана. Впрочем, это объяснимо - когда разрабатывалась ArcView для Windows (середина 90х годов) мониторы с разрешением выше 1280х1024 были не столь широко распространены, как сейчас.

Область поиска самого инструмента Hotlink по умолчанию равняется 3 пикселам, что недостаточно на больших экранных разрешениях. К сожалению запрос FindbyPoint(p), которым собственно и осуществляется поиск, не позволяет менять этот допуск.

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

Скачать скрипт
Скачать расширение

И в скрипте и расширении для просмотра используется просмотровщик IrfanView, имеющий следующий путь на диске c:\Tools\iview\i_view32.exe, для работы с другим просмотрщиком, или если IrfanView у вас установлен в другой папке нужно с помощью любого текстового редактора найти и заменить путь и название файла указанные выше на путь и название к вашему просмотровщику.

В случае использовании скрипта, для использования возможности задания области точности вам нужно будет также создать для него кнопку на панели кнопок (подробнее об этом здесь)

Принцип его работы прост, используется не поиск по точке (FindbyPoint) а поиск по области (окружности - FindbyCircle), что также позволяет интерактивно задавать эту область, чтобы не испытывать трудности с "попаданием" в нужный символ.

Задание области реагирования на hotlink, с помощью клавиши shift

Задание области реагирования на hotlink, с помощью клавиши shift

Вызов внешнего просмотровщика для графики (IrfanView)

Вызов внешнего просмотровщика для графики (IrfanView)

 

Удаление и копирование векторных и растровых тем из TOC

*TOC - table of contents, содержание, легенда. Область в окне Вида (View) где осуществляются операции по визуализации тем.

Перед людьми работающими с большим количеством растровых, векторных тем часто встает задача, как выделив темы удалить их сразу и из View и с диска. Например это часто необходимо для отбора снимков (preview Landsat, ASTER). Аналогичная задача стоит в случае копирования выбранных тем в новую папку (например отобранных растров).

Эти задачи довольно успешно решаются с помощью расширения для Arcview copyfiles.

Это расширение позволяет:

1. Скопировать в другую папку выбранные растровые/векторные темы, в том числе темы Image Analysis'а, вместе с дополнительными файлами avl, aux, rrd, sbn, sbx, tfw.

2. Удалить из вида и с диска выбранные растровые/векторные темы, (кроме) Image Analysis'а.

 

Пока на этом все...

P.S.: Если есть пожелания, замечания, предложения, а также если есть кому добавить что-либо, то пишите мне!

Если я вдруг нарушил или ущемил чьи-то права, то будьте добры сообщите мне и я срочно исправлю свою ошибку. Я не хочу причинить кому бы то ни было вреда. Если вам что-то не понравится, заранее прошу прощения.
 Хостинг предоставлен Тюменским интернет-провайдером Комтел
(C) 2001 Замараев Вячеслав Викторович.
Использование материалов сайта без согласия
автора запрещено.