Длина поля заголовка OGR

#python #header #ogr

#python #заголовок #ogr

Вопрос:

Я пытаюсь преобразовать csv-файл в шейп-файл ESRI с помощью OGR на Python. Проблема, очевидно, в том, что мои записи заголовка слишком длинные для размера поля по умолчанию:

 Warning 6: Normalized/laundered field name: 'SEEHOEHE [m]' to 'SEEHOEHE ['
  

Я хочу перебрать все элементы заголовка (количество столбцов в моем csv-файле неизвестно) и создать новые поля в шейп-файле — «на лету», так сказать:

 for i in range(0,len(header)):
    layer_out.CreateField(ogr.FieldDefn(header[i], ogr.OFTString))
  

работает нормально, но с отсечением записей заголовка (это проблематично, потому что мне нужно обратиться к ним позже). Есть ли способ определить размер записи заголовка на том же шаге? Я пробовал это с SetField(32) , но, боюсь, это изменяет только размер записей таблицы.
Кто-нибудь может помочь? Заранее спасибо!

Комментарии:

1. Ограничение в 10 символов является фиксированным свойством формата. Возможно, вы можете обойти это, также обратившись к ним с этим ограничением, header[i][:10] например, и т.д.

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

3. Shapefile Формат давно назрел и по-прежнему популярен только потому, что он обеспечивает отличную совместимость. Возможно, в ближайшем будущем появятся новые альтернативы, такие как GeoPackage from OGC.