23.13. Использование консольных инструментов

Некоторые задачи в области ГИС нельзя или неудобно выполнять через графический интерфейс и для их выполнения нужны консольные инструменты (утилиты). В состав настольного ПО NextGIS входят утилиты gdalinfo, ogr2ogr, curl и многие другие.

23.13.1. Запуск консоли

Запуск утилит осуществляется через специальную консоль. Открыть консоль можно несколькими способами:

  • В меню Пуск она называется NextGIS Command Prompt.

  • Также ее можно запустить открыв файл ng.bat из папки, куда установлено ПО NextGIS. Полный путь к файлу выглядит так: c:\NextGIS\ng.bat (в вашей системе он может отличаться).

  • Третий вариант - в Total Commander перейдите в директорию, где лежат данные, которые хотите обработать, и наберите с клавиатуры ng.

Запущенная консоль выглядит так:

../../_images/ngcommand_launched.png

Рис. 23.33. Запущенная консоль

23.13.2. Переход к нужной папке

Системная подсказка (промпт) консоли показывает текущую рабочую папку. Для начала работы, как правило, сначала необходимо перейти в нужную папку, туда, где лежат обрабатываемые данные, для этого служит команда cd. После команды через пробел напишите путь к нужной папке. Чтобы подняться на уровень выше, наберите cd ... Чтобы зайти в папку внутри текущей просто напишите после cd её название. Если нужно ли сменить диск при смене папки, то также необходимо после cd добавить ключ /D.

Например:

../../_images/ngcommand_cd.png

Рис. 23.34. Переход к папкам

23.13.3. Запуск команд

После того, как установлена текущая папка в консоли, можно выполнять команды, запускающие утилиты. Разберём, как это работает, на примере.

Вы можете скачать пример данных базовой карты с NextGIS Data. Распакуйте архив. Внутри него вы найдёте папку Data.

Запустите NextGIS Command Promt и перейдите к этой папке.

Конвертация в другой формат

Дано: В папке data лежат файлы в формате GeoPackage. Задача: Преобразовать один из файлов административных границ из GeoPackage в GeoJSON.

Запустите NextGIS Command Promt и перейдите к этой папке.

В консоли наберите или скопируйте (чтобы вставить в консоль, нажмите правую кнопку мыши): ogr2ogr result.geojson boundary-polygon-land-lvl6.gpkg

Результат преобразования будет сохранён в файл result.json.

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

Массовая конвертация файлов

Дано: В папке data лежат файлы в формате GeoPackage. Задача: Конвертировать все файлы в папке из GeoPackage в GeoJSON

Внутри папки data создайте новую папку «result». Запустите NextGIS Command Promt и перейдите к папке data. В консоли наберите или скопируйте (чтобы вставить в консоль, нажмите правую кнопку мыши):

for %i in (*.gpkg) do ogr2ogr result/%~ni.geojson %i

Результаты конвертации появятся в созданной вами папке result.

Конвертация файлов с заменой кодировки

Дано: В папке data лежат файлы в формате GeoPackage. Задача: Все файлы в папке конвертировать в TAB, изменив кодировку на 1251, чтобы все атрибуты читались корректно.

Внутри папки data создайте новую папку «result». Запустите NextGIS Command Promt и перейдите к папке data.

Выполните for %i in (*.gpkg) do ogr2ogr -lco ENCODING=CP1251 result/%~ni.tab %i

В процессе выполнения будут появляться предупреждения о том, что произведена трансформация полей из Integer64 в Real, это нормально.