Разработка конвертеров из SXF-файлов топокарты в шейп-формат для использования в картах геологического содержания

Безяев А.В., Законова А.С., Мешкова Г.Л., Немынов М.П.
Отдел геоинформационного обеспечения, ФГБУ «Росгеолфонд», Web: www.rfgf.ru

Converters from SXF Files to Shapefiles for Geologic Map Creation

Средствами модуля ArcGIS Data Interoperability специалистами ФГБУ «Росгеолфонд» разработаны конвертеры преобразования файлов формата SXF с цифровой топографической картой открытого пользования масштаба 1: 50 000 в шейп-формат для использования в картах геологического содержания. Для представления итоговых данных используются традиционные для геологической отрасли системы классификации и кодирования объектов, а также система координат. В настоящее время отдельные листы и собранные вместе группы листов, конвертированные из SXF-файлов, уже заказываются в Росгеолфонде различными геологическими организациями России.

В 2018 году из Росреестра в ФГБУ «Росгеолфонд» были переданы материалы из состава единой электронной картографической основы (ЕЭКО) в электронной форме в виде топографической карты масштаба 1:50 000, разрешенной для открытого опубликования (ЦТК ОП), в целях использования организациями геологической отрасли в качестве цифровой топоосновы карт геологического содержания.

Карта разделена на номенклатурные листы (НЛ) в количестве 50530 файлов на всю территорию РФ (без Крыма). Каждый НЛ представлен файлом в формате SXF. Пространственные данные хранятся в координатах проекции Гаусса-Крюгера на эллипсоиде Красовского, причем часть листов – в системе координат СК-42, а часть – в СК-95.

Формат SXF (Storage and eXchange Format – «формат хранения и обмена») используется при создании, обновлении и хранении цифровых карт подразделениями Росреестра. Но для работы с ним требуется специализированная ГИС, в то время как подавляющая часть геологических организаций России традиционно работает с шейп-форматом. Поэтому возникла задача конвертации данных, представленных в формате SXF, в шейп-формат.

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

В отрасли имеются две различные системы классификации и кодирования объектов топоосновы:

  1. Классификаторы ФГБУ «Росгеолфонд» – «Классификатор объектов цифровой топографической основы карт геологического содержания масштаба 1:1 000 000. М., 2007» и документ с аналогичным названием 2008 г. для масштаба 1:200 000. Позднее был создан также и классификатор для масштаба 1:100 000.
  2. Классификатор объектов цифровой топографической основы из «Единых требований к составу, структуре и форматам представления…в Научно-редакционный Совет Роснедра комплектов цифровых материалов листов Государственных геологических карт масштабов 1:1 000 000 и 1:200 000. Версия 1.6. – СПб.: Картографическая фабрика ВСЕГЕИ, 2019 г.» (далее – Требования НРС).

Обе эти системы для столь крупного масштаба ранее в отрасли не использовались. Но в первой из них еще при ее разработке были предусмотрены коды объектов всего масштабного ряда отечественных топокарт. На этой основе Росгеолфондом специально для масштаба 1:50 000 был создан (и продолжает дополняться) отдельный классификатор, который сохраняет преемственность с классификаторами Росгеолфонда более мелких масштабов. Что же касается классификации НРС для подготовки ГосГеолКарт (ГГК), то она имеет ряд ограничений. В частности, она не содержит коды промышленных, сельскохозяйственных и социально-культурных объектов, растительного покрова, грунтов. И поэтому несмотря на то, что она предназначена для более мелких масштабов, она оказывается вполне пригодной и для масштаба 1:50 000.

Сначала были предприняты попытки конвертации с использованием российских программных средств (SXF Tools, ГИС INTEGRO). Но и в том, и в другом случае конвертация не предусматривает перекодировки объектов, оставляя ее в классификации Росреестра. В SXF Tools, к тому же, получается очень большое количество слоев (порядка 300). То есть для каждого кода объекта формируется свой отдельный слой (рис. 1).

Рис. 1. Инструмент SXF-Tools для ArcGIS, классификация Росреестра, БГД. Более 300 слоев.

В итоге для решения задачи по созданию собственных средств конвертации ЦТК ОП масштаба 1:50000 из формата SXF (классификация Росреестра) в формат шейп-файла (отраслевые классификации) был выбран визуальный редактор технологических процессов FME Workbench («рабочая среда механизма манипуляций с объектами») от компании Safe Software, который доступен при покупке и активации действующей лицензии на дополнительный модуль ArcGIS Data Interoperability. Этот модуль обеспечивает работу со всеми основными форматами пространственных данных. Помимо этого, в Data Interoperability предусматривается возможность создания описаний своих собственных форматов для прямого чтения, импорта и экспорта из ArcGIS.

Технология разработки основана на тех же принципах, что и в конструкторе ModelBuilder для ArcGIS. Это, по сути, визуальный язык программирования, который позволяет создавать программы без написания кода, а результат разработки сохраняется в виде пользовательского инструмента для приложения ArcToolbox. В дальнейшем этот инструмент можно копировать на другие компьютеры и запускать на них (при наличии лицензии для работы с FME).

Набор файлов в формате SXF сопровождался так называемым ресурсным файлом (с расширением .rsc), представляющим собой классификатор топографической информации в машиночитаемой форме. При первичном запуске нового инструмента для работы с SXF предлагается указать путь к файлу rsc, после чего сразу же создается уже готовая к конвертации в шейп-формат первичная заготовка. Объекты в ней тематически объединены в 22 слоя. При этом каждый слой включает в себя объекты с различными типами геометрии: точки, линии, полигоны. В автоматически создаваемой заготовке (рис. 2) уже предусмотрен пропуск объектов каждого из слоев через «фильтр геометрии». Таким образом, на выходе создается максимум 66 шейп-файлов – из каждого тематического слоя по три шейп-файла с разным типом геометрии.

Рис. 2. Конвертер FME. Начальный этап разработки.

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

Преобразование системы классификации и кодирования предполагает:

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

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

Каждая отдельная операция в конвертере выполняется при помощи трансформера (transformer; аналог команды с параметрами в языках программирования). Хотя в FME существуют десятки видов трансформеров, но в нашем случае оказалось достаточным только пяти их видов, которые образуют следующую цепочку действий:

  • преобразование системы координат (сразу для всех трех типов геометрии; трансформер EsriReprojector);
  • разделение на три слоя согласно типам геометрии (уже упоминавшимся «фильтром геометрии», GeometryFilter);
  • перекодировка («менеджером атрибутов», AttributeManager, рис. 3);

    Рис. 3. Перекодировка с заменой кодов классификации Росреестра.

  • фильтрация кодов, которая позволяет, с одной стороны, сгруппировать объекты по слоям (объекты, бывшие на входе в одном слое, могут на выходе быть в двух или более слоях), и, с другой стороны, «отсеять» коды («фильтром диапазона атрибутов», AttributeRangeFilter) или, если нужны только отдельные коды, а не их диапазон, оставить только их («фильтром атрибутов», AttributeFilter);
  • корректировка структуры таблицы атрибутов (AttributeManager, рис. 4).

    Рис. 4. Корректировка структуры таблицы атрибутов.

Далее готовый шейп-файл записывается с помощью инструмента writer (рис. 5).

Рис. 5. Конвертер в шейп-формат (согласно классификатору Росгеолфонда); фрагмент.

Запуск конвертера пользователем производится из того же окна, в котором конвертер и создавался (FME Workbench). Сначала должны быть указаны (или выбраны) три параметра: путь к исходному файлу (файлам) SXF, проекция исходных данных (Гаусса-Крюгера с номером зоны) и путь к папке с результатом.

Также конвертер можно запускать и непосредственно из приложения ArcCatalog (как и любой другой инструмент геообработки).

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

Опытным путем также удалось установить, что конвертация будет завершена успешно только при условии, что общее количество объектов во всех слоях составит сумму приблизительно не более 1 млн.

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

Но, несмотря на все возникшие сложности, работа выполнена успешно, и ее результаты уже пользуются в отрасли определенным спросом (рис. 6, 7).

Рис. 6. Фрагмент топокарты 1:50000, конвертированной согласно классификатору Росгеолфонда, в окне приложения ArcMap.

Рис. 7. Фрагмент топокарты 1:50000, конвертированной согласно Единым требованиям НРС ВСЕГЕИ, в окне приложения ArcMap.

В результате были разработаны конвертеры из SXF-файлов в шейп-формат в две модели данных (классификации), используемые в отрасли. А именно:

  • в классификацию Росгеолфонда, с полной объектовой нагрузкой (унифицированный масштабный ряд 1:1 000 000 – 1:200 000 – 1:100 000, дополненный масштабом 1:50 000), для использования в ГИС-проектах всего набора объектов, имеющегося на топокарте открытого пользования;
  • в классификацию по Единым требованиям НРС для государственных геологических карт масштабов 1:1 000 000 (ГГК-1000) и 1:200 000 (ГГК-200), разгруженных в соответствии с требованиями к ним. Нагрузка карты при этом уменьшается на 2/3 (из 316 типов объектов – в 101), что позволяет использовать ее в качестве топоосновы для нанесения геологических объектов при создании комплектов геологических карт.

В настоящее время отдельные листы и собранные вместе группы листов (например, по 16 НЛ масштаба 1:50 000 в пределах листа масштаба 1:200 000) ЦТК ОП масштаба 1:50 000, конвертированные из SXF-файлов, уже заказываются в Росгеолфонде организациями отрасли.

Основные варианты их применения:

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

Кроме того, ЦТК ОП масштаба 1:50 000, сгруппированные по 16 НЛ в пределах листа масштаба 1:200 000, могут быть использованы и для создания цифровой топоосновы масштаба 1:200 000 при формировании комплектов ГГК-200 и подготовке их к изданию следующим возможным образом:

  • для уточнения содержания ЦТО масштаба 1:200 000, в качестве более подробной топоосновы, в том числе при проведении предварительных геологосъемочных работ;
  • для обновления ЦТО масштаба 1:200 000 (уточнение границ, характеристик, современных названий географических объектов и др.), более старых, чем карты масштаба 1:50 000 (где местность показана по состоянию ориентировочно на 2000 –2011 гг.).

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