Описание порядка работы при заполнении (кодировке) семантической информации

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

FARM_NAME - Символьное, 50 знаков

FARM_ID - Короткое целое

FLD_ID - Короткое целое

FLP_ID - Короткое целое

F_ID - Короткое целое

INC - Короткое целое

Поле INC не входит в перечень обязательных  полей и является чисто технологическим. Назначение этого поля рассмотрено ниже.

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

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

KLG_XXXXX , где KLG - код региона (в данном случае - Калужская область), XXXXX - уникальный код хозяйства по принятому в организации справочнику хозяйств.

При векторизации (оцифровке) сх/угодий в ГИС MapInfo следует придерживаться указаний отдела ГИС ГВЦ Минсельхоза. Т.е., например, необходимо осуществить "нарезку" полигонов внутри сх/контура по спектральной плотностиразрезать полигоны, если они рассекаются фундаментальной (не полевой) дорогой и т.д. В принятой технологии на первом этапе (при оцифровке) оператор заполняет в таблице атрибутов только поле F_ID (номер участка, принятый в организации) и, при необходимости, технологическое поле INC. Поле INC в большинстве случаев заполнять не надо. Его следует заполнять только в том случае, если ваш сх/контур с одним общим вашим кодом раздроблен на несколько участков, не имеющих общей границы (начиная с 1). Приведенная ниже иллюстрация передает смысл этого требования.

Контур с номером 86 несмотря на то, что разрезан на три полигона, имеет общие границы и поле INC заполнять не надо. Контур с номером 88 состоит из трёх участков не имеющих общей границы, и поэтому поле INC для него заполняется по порядку, начиная с единицы. Контур с номером 87 также раздроблен на два участка и здесь поле INC заполняется в соответствии с приведенной иллюстрацией.

Смысл технологичесго поля INC заключается в том, что программе-заполнителю RenumberTab( о ней речь пойдет ниже) полей FLD_ID и FLP_ID  надо дать указание каким контурам присвоить одинаковый код FLD_ID, а каким разный. Если контур имеет общие границы и один общий ваш код F_ID, то программа-заполнитель присвоит такому контуру одинаковый код FLD_ID, а если контур раздроблен, но также имеет ваш общий код, то программа автоматически присвоит таким контурам разный FLD_ID. Это требование отдела ГИС. Наш опыт говорит о том, что заполнение поля INC потребуется лишь для 10-15 % контуров.

После того, как вы оцифровали хозяйство и присвоили коды F_ID и INC, в таблице оцифрованного хозяйства необходимо заполнить поля FARM_NAME(наименование хозяйства)  и FARM_ID (код хозяйства). Делать это лучше автоматически для всей таблицы-хозяйства так: Таблица>Обновить колонку.

Обратите внимание, значение символьного поля FARM_NAME берется в кавычках. Аналогично можно заполнить для всей таблицы-хозяйства поле FARM_ID :

Таким образом, вам не придется вводить руками значения полей FARM_NAME и FARM_ID для каждого контура. Кстати, это ещё один аргумент в пользу использования таблиц на каждое  хозяйство отдельно!

Далее необходимо "слить" все таблицы-хозяйства в одну таблицу-район. Сначала опять же с помощью шаблона создаем таблицу-район с именем XXX_YYY_PA, где XXX - код региона, YYY-код района. В нашем случае, это, ну например,KLG_KZE_PA(Козельский район Калужской области). Сделать это можно так: Таблица>Добавить записи в таблицы. Появляется следующее диалоговое окно:

Здесь мы подливаем записи из таблицы KLG_10001 в "глобальную" таблицу-район KLG_KZE_PA_With_INC.

Следующим этапом обработки районной таблицы является сортировка(упорядочивание) по полям FARM_ID и F_ID. Для этого можно воспользоваться утилитой SortIt. Скачать эту утилиту можно здесь. Запустить указанную утилиту можно так: Программы>Запустить программу MapBasic. Запустив программу, на Панели Программ появляется кнопка программы SortIt, интерфейс которой выглядит так:

Здесь для сортировки таблицы KLG_KZE_PA_With_INC выбираем порядок сортировки сначала по полю FARM_ID, а затем по полю F_ID, т.е. мы упорядочиваем все записи по коду хозяйства, а затем по номеру участка.

Наконец, наступает заключительный этап - присваивание кодов полям FLD_ID и FLP_ID. Делается это автоматически, с помощью разработанной в Лаборатории АгроГИС-технологий утилиты RenumberTab. Данная утилита написана ведущим программистом Лаборатории АгроГИС-технологий Денисовой В. Исходный код программы и выполняемый модуль можно скачать здесь.

Запускаем утилиту и жмём кнопочку Старт. Всё! Программа автоматически проставит коды полей FLD_ID и FLP_ID в соответиствии с требования ГВЦ Минсельхоза.

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

Следующим этапом является проверка результирующей таблицы на топологию. Для этого делаем таблицу редактируемой и выбираем все её объекты: Запрос>Выбрать полностью. Далее Объекты>Проверка полигонов. Появляется следующее диалоговое окно MapInfo:

В случае обнаружения данной утилитой ошибок топологии, устраняем их.

Далее с помощью программы Универсальный транслятор конвертируем нашу таблицу в shape-файл. Данная процедура почему-то создает shape-файл с суффиксом  _region. Необходимо переименованием избавиться от этого суффикса, обязательно переименовав все 3 файла с раcширениями shp, shx и dbf.

Остался последний момент. При конвертации атрибутивной информации в dbf-файл, длина числовых полей FARM_ID,FLD_ID,FLP_ID и F_ID не равна требуемой в 5 знаков. К сожалению, средствами ArcView 9.3 эту небольшую проблемку не так легко решить. Сделать это проще всего с помощью утилиты DBFExlorer или СУБД FoxPro 2.5, которая позволяет легко корректировать структуру dbf-файла. Саму СУБД FoxPro 2.5 можно скачать здесь и запускается она в отдельном окне. Открываем нужный нам файл File>Open и затем подправляем длину полей Database>Setup до 5 символов без дробной части.

Вот собственно и всё. Остается для контроля загрузить в ArcView нужный космоснимок и только что созданный shape-файл. Если всё OK, запаковываем архиватором полученный shape-файл и отсылаем его на проверку в отдел ГИС ГВЦ Минсельхоза.

Резюме

C помощью предлагаемой технологии оцифровки контуров сх/угодий вы можете решить несколько проблем:

  1. Минимум затрат при заполнении (кодировке) атрибутивной информации. По большому счету, вручную заполняется только  одно-единственное поле F_ID. Заполнение других полей максимально автоматизировано.

  2. Можно разнести работу по нескольким исполнителям.

  3. Вся семантическая информация по району у вас будет упорядочена, а не находиться в хаотическом виде.

  4. Устранена вероятность ошибок при ручном заполнении атрибутивной информации, особенно полей FLD_ID и FLP_ID.

  5. Максимально корректное заполнение информации в соответствии с требованиями отдела ГИС ГВЦ Минсельхоза(отсутствие пропусков, двойных значений и т.д.)

Simashkov.2010

Назад