GIS-LAB

Географические информационные системы и дистанционное зондирование

Конвертация csv-shp с OGR

Denis Rykov, 20.08.2009

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

В новой статье рассматривается выполнение этой задачи с помощью утилиты ogr2ogr. Кроме прямого конвертирования рассмотрено и обратное, экспорт данных из шейп-файла в csv с сохранением информации о геометрических объектах. Это стало возможным с выходом версии GDAL 1.6.0. Кроме того, простота свободного экспорта данных между вышеуказанными форматами позволяет обойти ограничение на создание и заполнение полей shape-файлов с помощью ogr2ogr, которое в конечном счете сводится к редактированию csv-файла используемого в качестве промежуточного формата. Пример данной реализации можно найти тут.

Прочитать новую статью.

Обсудить новую статью в форуме.

Комментарии (6) к статье “Конвертация csv-shp с OGR”

  1. voltron says:

    Есть небольшой глюк в статье. После слов “Если поле с WKT описанием геометрии в файле csv имеет имя WKT, например такой:” идет пример файла, и в нем в первая строка

    WKT,Code”POLYGON((1 2,3 4, 2 1))”,8

    на самом деле состоит из двух строк.

    • sim says:

      это я статью DR так ловко отредактировал, нечаянно удалил перенес строки 🙂 ?справил, спасибо!

  2. stopa85 says:

    Спасибо за статью, как раз то что скоро понадобиться:) Даже искать не пришлось!

  3. voltron says:

    Обнаружил, что в GDAL версии 1.7 можно при конвертировании задавать список необходимых полей (параметр select) . Т.е. поле с описанием геометрии можно исключить, в шейпе его не будет. В GDAL 1.6 такое не срабатывает или я чего-то не так делаю

    • _DR_ says:

      Да, конструкция типа:
      ogr2ogr -sql “SELECT field1 FROM days01_out” output.shp days01_out.csv
      работает в GDAL 1.7.0. ? если в csv-файле есть поле c именем WKT – то на выходе получится полноценный шейп с единственным атрибутивным полем field1 (WKT поле не добавилось). Попробывал такую же выборку в GDAL 1.5.4. – тоже работает, однако на выходе появляется не шейп, а просто *.dbf. Проблема решается созданием *.vrt.

      • voltron says:

        Под “не срабатывает” как раз и имел ввиду, что шейп не создается.

        Так то еще VRT нужно делать, лишние телодвижения 🙂

Оставьте комментарий


(Геокруг)

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter